/* ========================================================================== * ÆÄ ÀÏ : BuffWindow.h * ¸ñ Àû : ¹öÇÁ À©µµ¿ì * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2007-03-19 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "UIImage.h" struct sBuffBaseIcon { cUIImage mImage; unsigned long mUniqueIdx; unsigned long mInfluenceIdx; }; struct sBuffIcon : public sBuffBaseIcon { unsigned long mTotalTime; /// ½Ã ºÐ ÃÊ Ç¥½Ã cStringT mUnit; int mTextX; int mTextY; bool mStartBlink; bool mShow; unsigned long mBlinkTime; bool mAuraType; unsigned long mGaurdCnt; sBuffIcon() { mTotalTime = 0; mStartBlink = false; mShow = true; mBlinkTime = 0; mAuraType = false; mGaurdCnt = 0; } }; ////////////////////////////////////////////////////////////////////////// class cBuffWindow : public cUIWindow { public: cBuffWindow(); virtual ~cBuffWindow(); virtual void Open(); virtual void Close(); void Clear(); virtual void AddIcon( unsigned long uniqueIdx, unsigned long influenceIdx ); virtual void DelIcon( unsigned long uniqueIdx ); void BlinkIcon( unsigned long uniqueIdx, unsigned long influenceIdx ); /// inline void SetRowSpace( unsigned int space ) { mRowSpace = space; } inline void SetColumnSpace( unsigned int space ) { mColumnSpace = space; } inline void SetHeroBuff( bool value ) { mIsHeroBuffPage = value; } inline void ClearMouseOverInfo(){ mOverInfo.mOverIconIdx = (unsigned int)-1; mOverInfo.mRow = (unsigned int)-1;} protected: /// ó¸® virtual bool OnCreate( cUINodeProperty* pproperty ); virtual void OnProcess( unsigned long deltaTime, unsigned long accumTime ); virtual void OnMouseMove( const cUIPos& pos ); virtual void OnMouseLeft( const cUIPos& pos ); virtual void OnRender( cUIFontItemKeeper* pKeeper ); virtual void OnShow(); virtual void OnHide(); virtual void HideTip(); virtual void OnTimer(); virtual void EventOverIcon( sBuffBaseIcon* p, const cUIPos& pos ); virtual bool SetSkin( const cUINodeSkin* pskin ); virtual void UpdateSkin(); virtual void OnRButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool shift ); virtual void OnNetLock(int lockTry ); virtual void OnNetUnLock(int lockTry ); protected: unsigned int mRow; unsigned int mColumn; unsigned int mRowSpace; unsigned int mColumnSpace; unsigned int mIconSize; float mScale; unsigned int mStartX; unsigned int mStartY; /// ¾ÆÀÌÄÜ over À̺¥Æ® 󸮿ë struct sOverInfo { unsigned int mOverIconIdx; cUIPos mPos; unsigned int mRow; /// ÁÙÁ¤º¸ }; sOverInfo mOverInfo; bool mOverCheck; bool mChangeOverIcon; /// ¿À¸¥ÂÊ ¸¶¿ì½º¹öư À̺¥Æ® 󸮿ë unsigned int mRButtonClickIconIdx; /// ¾ÆÀÌÄÜ Ãâ·Â ¿µ¿ª º¯°æ ¼³Á¤ bool mUpdateList; /// ¾ÆÀÌÄÜ ¿¬°á Á¤º¸ typedef tPointerList cBuffIconList; cBuffIconList mIconList; bool mBuffTipShow; bool mIsHeroBuffPage; cUIImageFont* mImageFont; }; ////////////////////////////////////////////////////////////////////////// /// cBuffWindowSkin class cBuffWindowSkin : public cUIWindowSkin { public: cBuffWindowSkin( eUINodeType type = eUINODE_WINDOW ); virtual ~cBuffWindowSkin(); /// ·Îµù virtual bool Load( cParser& parser ); public: /// 1. °£°Ý unsigned int mRowSpace; unsigned int mColumnSpace; /// 2. Ç¥½Ã °¹¼ö(ÁÙ, Ä­) unsigned int mRow; unsigned int mColumn; /// 3. ¾ÆÀÌÄÜ Å©±â unsigned int mIconSize; /// 4. ºñÀ² float mScale; }; //////////////////////////////////////////////////////////////////////////