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

75 lines
2.0 KiB
C++

#pragma once
//#include "SUIWnd.h"
#include <mmo/ArType.h>
class SUIDisplayInfo;
// 2010.05.10 - prodongi
class SInventorySlot;
namespace
{
const int c_nMaxCard = 6;
};
class SUICreatureWnd : public SUIWnd
{
public:
SUICreatureWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo )
: SUIWnd( pGameManager )
, m_pDisplayInfo(pDisplayInfo)
, m_nCurCreatureCount(0)
{
::memset( m_hCreatureCard, 0, sizeof(m_hCreatureCard) );
}
virtual ~SUICreatureWnd(); // 2011.05.17 - servantes
virtual void Process(DWORD dwTime);
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 void OnRefresh( SGameMessage* pMsg );
virtual void MovePos(int x, int y);
private:
/// 슬롯 ============================================
void EnableSlot ( int nIndex, bool bShow = true );
void RefreshSlot ();
/// 선택 처리 =======================================
void RequestSelectCreature( int nIndex );
/// 정보 ============================================
void RefreshHP ( int nIndex, int nHP, int nMaxHP );
void RefreshMP ( int nIndex, int nMP, int nMaxMP );
void RefreshExp ( int nIndex, __int64 nExp, __int64 nMaxExp );
std::string GetRemainTime( int nRemainTime );
void SetMainCreature(AR_HANDLE hMainCreture, int nForceIndex = -1); // 2011.05.19 - servantes
int findCreatureCardIndex(AR_HANDLE equipedCardHandle) const; /// 2011.06.07 - prodongi
private:
SUIDisplayInfo* m_pDisplayInfo;
int m_nSelctIndex;
AR_HANDLE m_hCreatureCard[c_nMaxCard];
bool m_bCreaturePage;
int m_nCurCreatureCount;
AR_HANDLE m_CreatureRemainTime[c_nMaxCard];
DWORD m_dwTime;
DWORD m_dwStartTime;
short int m_nProcessCount;
KUIControlStatic* m_pFormation[6]; // 크리처 주/보조 표시 바 : 0번이 메인 // 2011.04.06 - servantes
};