Files
2026-06-01 12:46:52 +02:00

63 lines
1.9 KiB
C++

#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<SStateSlot*>& 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;
};