Files
Leviathan/Client/Game/game/Interface/Party/SUIPartyStateSetWnd.h
T
2026-06-01 12:46:52 +02:00

66 lines
1.8 KiB
C++

#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<sUpdateTimeSlotInfo> m_vUpdateTimeSlot;
};