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