#pragma once //#include "SUIWnd.h" class SUIDisplayInfo; class SStateSlot; class SGameAvatarEx; typedef unsigned int AR_HANDLE; class SUIPartyStateSetWnd : public SUIWnd { public: SUIPartyStateSetWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo, KUIWnd* pParent, KUIWndManager* pManager, const char* lpID, KRect rt ); virtual ~SUIPartyStateSetWnd(); void SetPlayer( AR_HANDLE handle ); void SwapPos( bool bLeft ); bool IsEqualPlayer( AR_HANDLE handle ); bool IsLogin() { return (m_pPlayer!=NULL); } bool StateUpdate( SGameMessage* pMsg ); // 2011.11.10 - servantes : 리턴형 수정 bool StateListUpdate( SGameMessage* pMsg ); void ChangeSizeStateWnd(bool bBig); // 2011.11.14 - servantes : 버프 크기 변환 void RefreshAllStateSlot(); void DisAbleAllSlot(); void SetNegativeStateCnt( int nCnt ) { m_nNegativeStateCnt = nCnt; } // { [sonador] bool IsAlignLeft() const { return m_bLeft; } int ConvertIndexAligned( int index ) const; // } protected: virtual bool InitControls( KPoint kPos ); virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y); bool IsSetPlayer( AR_HANDLE handle=0 ); void UpdateStateData( SGameMessage* pMsg ); void SetStateData( int Index, SStateSlot* pInfo ); int GetUpdateStateIndex( int Index, bool bHarmhul ); void CheckState(); void CheckState( class SStateSlot* pInfo, class KUIControlIconStatic* pIcon, class KUIControlClockBox* pClock ); private: SUIDisplayInfo* m_pDisplayInfo; SGameAvatarEx* m_pPlayer; AR_HANDLE m_hPlayer; bool m_bLeft; int m_nNegativeStateCnt; struct sUpdateTimeSlotInfo { sUpdateTimeSlotInfo(SStateSlot* stateSlot); bool isEqual(SStateSlot* stateSlot); int m_code; AR_HANDLE m_handle; int m_level; }; std::vector m_vUpdateTimeSlot; };