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

84 lines
1.7 KiB
C++

#pragma once
class SGame;
class SRaidMgr;
class SPartyMgr;
class SGuildMgr;
class SFriendMgr;
class SCutMgr;
class STradeMgr;
class SStorageMgr;
class SMotionMgr;
class SPlayerInfoMgr;
class SInventoryMgr;
class SCreatureSlotMgr;
class SSkillSlotMgr;
class SCreatureSkillSlotMgr;
class SPetMgr; // sonador #2.1.2.4.3 팻 조작 UI 연동
class SGuildDataMgr;
class STitleMgr; // 2012. 4. 3 - marine 호칭매니저
class SGameUIMgr
{
protected:
SGame* m_pGame;
public:
virtual void Process( DWORD dwTime ) {}
void SetGame( SGame* pGame ) { m_pGame = pGame; }
virtual void ResetInfo();
bool ProcMsgAtStatic( struct SGameMessage* pMsg );
protected:
bool SendGameInterfaceMsg( struct SGameMessage * game_msg );
bool SendMsg( const struct TS_MESSAGE *msg );
public:
SGameUIMgr()
: m_pGame( NULL )
{}
virtual ~SGameUIMgr()
{
m_pGame = NULL;
}
};
class SGameUIInstance
{
public:
enum UI_MGR_TYPE
{
RAID_MGR = 0,
PARTY_MGR,
GUILD_MGR,
FRIEND_MGR,
CUT_MGR,
TRADE_MGR,
STORAGE_MGR,
MOTION_MGR,
PLAYERINFO_MGR,
INVENTORY_MGR,
CREATURESLOT_MGR,
SKILLSLOT_MGR,
CREATURESKILLSLOT_MGR,
PET_MGR, ///< 팻 메니저 // sonador #2.1.2.4.3 팻 조작 UI 연동
PETSKILL_MGR, ///< 팻 스킬 메니저 // sonador #2.1.2.4.3 팻 조작 UI 연동
GUILDDATA_MGR,
TITLE_MGR,
UI_MGR_MAX,
};
private:
SGameUIMgr* m_pMgrList[UI_MGR_MAX];
public:
SGameUIMgr* GetUIMgr( UI_MGR_TYPE type ) const;
void SetGame( SGame* pGame );
public:
void Process( DWORD dwTime );
void ResetInfoMgr();
protected:
SGameUIInstance();
public:
static SGameUIInstance& GetInstance();
virtual ~SGameUIInstance();
};
#define GameUIMgrInstance SGameUIInstance::GetInstance()