Files
wnmj-normal/Servers/服务器组件/模块管理/ModuleInfoManager.h

88 lines
1.8 KiB
C
Raw Normal View History

2026-03-03 13:56:44 +08:00
#ifndef MODULE_INFO_MANAGER_HEAD_FILE
#define MODULE_INFO_MANAGER_HEAD_FILE
#pragma once
#include "AfxTempl.h"
#include "ModuleManagerHead.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><E9B6A8>
typedef CWHArray<tagGameModuleInfo *> CGameModuleInfoArray;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef CMap<WORD,WORD,tagGameModuleInfo *,tagGameModuleInfo *> CGameModuleInfoMap;
//////////////////////////////////////////////////////////////////////////////////
//ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class MODULE_MANAGER_CLASS CModuleInfoBuffer
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
CGameModuleInfoMap m_GameModuleInfoMap; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CGameModuleInfoArray m_GameModuleInfoArray; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CModuleInfoBuffer();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ~CModuleInfoBuffer();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool ResetModuleInfo();
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool DeleteModuleInfo(WORD wModuleID);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool InsertModuleInfo(tagGameModuleInfo * pGameModuleInfo);
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
public:
//<2F><>ȡ<EFBFBD><C8A1>Ŀ
DWORD GetModuleInfoCount();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tagGameModuleInfo * SearchModuleInfo(WORD wModuleID);
//<2F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
private:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tagGameModuleInfo * CreateModuleInfo();
};
//////////////////////////////////////////////////////////////////////////////////
//ģ<><C4A3><EFBFBD><EFBFBD>Ϣ
class MODULE_MANAGER_CLASS CModuleInfoManager
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CModuleInfoManager();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ~CModuleInfoManager();
//ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
bool RegisterGameModule(LPCTSTR pszModuleName);
//ע<><D7A2>ģ<EFBFBD><C4A3>
bool UnRegisterGameModule(LPCTSTR pszModuleName);
//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
bool LoadGameModuleInfo(CModuleInfoBuffer & ModuleInfoBuffer);
//ģ<><C4A3><EFBFBD><EFBFBD>Ϣ
public:
//ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool GetGameServiceAttrib(LPCTSTR pszModuleName, tagGameServiceAttrib & GameServiceAttrib);
};
//////////////////////////////////////////////////////////////////////////////////
#endif