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

89 lines
2.6 KiB
C++

#pragma once
//#include "SUIWnd.h"
class SUIDisplayInfo;
typedef unsigned int AR_HANDLE;
namespace sui { struct sMarkState; } /// 2011.01.20 - prodongi
class SUITargetWnd : public SUIWnd
{
public:
SUITargetWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo )
: SUIWnd( pGameManager )
, m_pDisplayInfo( pDisplayInfo )
, m_nOldDiffLevel( -1 )
, m_bIsInFreePassMarkIcon( false )
{
m_markState = NULL;
}
~SUITargetWnd();
virtual void Process( DWORD dwTime );
virtual DWORD OnMouseMessage( DWORD dwMessage, int x, int y );
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
virtual bool InitData( bool bReload = false );
private:
SUIDisplayInfo* m_pDisplayInfo;
bool m_bTarget;
bool m_bTargetPortrait;
bool m_bPVPCheck;
int m_nTargetType;
int m_nTargetLevel;
int m_nTargetJobID;
int m_nOldDiffLevel;
bool m_bIsInFreePassMarkIcon; // 마우스가 프리 패스 마크 안에 들어와 있는가?
void SetTargetName( const char* szName, int nMobID = -1 );
void RefreshHP ( int nHP, int nMaxHP, bool aniGauge = false ); /// 2011.08.08 - prodongi
void RefreshMP ( int nMP, int nMaxMP, bool aniGauge = false);
void RefreshGauge( class KUIControlGauge* pGaugeControl, int nCurrent, int nMax, bool aniGauge = false ); /// 2011.08.08 - prodongi
void ReleaseTarget();
void ShowTargetPortrait();
void UpdateTargetInfo();
int GetTargetLevelInfo();
void updateMarkStateList(AR_HANDLE handle); /// 2011.01.17 - prodongi
void updateMarkStatusList(int status);
void updateMarkStatusList(AR_HANDLE handle);
void setShowLevel(bool show); /// 2011.02.14 레벨과 배경을 같이 설정한다 - prodongi
void setTargetNameWithLenth(char const* targetName); /// 2011.02.14 레벨과 마크 컨트롤의 show/hide에 따른 이름 컨트롤 선택
/// 2011.01.19 - prodongi
void hideAllMark();
sui::sMarkState* m_markState;
};
class SUITargetPortraitWnd : public SUIWnd
{
public:
SUITargetPortraitWnd( SGameManager* pGameManager ) : SUIWnd( pGameManager ) { }
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
virtual bool InitData( bool bReload = false );
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
void SetSeqForm( struct SIMSG_UI_TARGET_INFO* pMsg );
void SetSeqForm(struct SIMSG_UI_TARGET_PORTRAIT_REFRESH* msg);
void SetSeqForm(AR_HANDLE handle, int objType, int mobID, char const* cobName, KSeqAvatarEx* seqForm, bool refresh);
void SetTargetCamPos( K3DVertex & pos );
protected:
AR_HANDLE m_handle;
};