#pragma once //#include "SUIWnd.h" class SUIDisplayInfo; class SStateSlot; class SUITargetStateWnd : public SUIWnd { public: SUITargetStateWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ) : SUIWnd( pGameManager ) , m_pDisplayInfo( pDisplayInfo ) , m_pTarget(NULL) { } virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual bool InitControls( KPoint kPos ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); virtual bool InitData( bool bReload = false ); virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y); // operators private: bool IsExistState ( int state_handle, bool bPositive = true ); void UpdateStateInfo ( SStateSlot* pInfo, bool bPositive ); void RefreshStateSlot (); /// 아이콘 생성 void CreateItemIcon (); void RefreshStateInfo (); void CloseWnd (); void RefreshSlot ( int nStart, bool bPositive ); void DisableSlot ( int nIndex = 0, int nEnd = 0, bool bShow = false ); bool IsSlot (); SStateSlot* FindState( AR_HANDLE hState, bool bPositive = true ); bool IsCashState( int nCode ); bool IsSetTarget(); void RefreshAllStateInfo(); void SetStateData( int Index, SStateSlot* pInfo, bool bCash, bool bOnlyTime=false ); void CheckState(); int CheckStateList( int nIndex, std::vector& rStateList, bool bharmful, bool bCash ); void UpdateStateData( SGameMessage* pMsg ); int GetUpdateStateIndex( int Index, bool bHarmhul, bool bCash ); AR_HANDLE GetOwnerHandle_TargetSummonCreatureForOnlyLocalPlayer(); bool IsAbleRemove( int nID ); int GetStateCodeForIndex( int nIndex ); void setReiterationCount(SStateSlot const* state, KUIControlStatic* control); /// 2011.03.30 중첩 설정 - prodongi void CalcOpenPosition( int nObjType ); private: SUIDisplayInfo* m_pDisplayInfo; int m_nShowType; int m_nCurNegativePos; class SGameAvatarEx* m_pTarget; };