Files
mir_server/server/LogicServer/config/VSPDef.h

72 lines
2.4 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
/***************************************************************/
/*
/* 针对不同版本以及运营商而不同的宏定义配置读取类
/*
/* 在VSPDef.txt中定义针对不同游戏版本或游戏运营商而不同的配置值使得整个
/* 游戏在保持版本数据一致的情况下可以针对配置文件中的定义而加载不同的配置文件、
/* 决定某些功能是否开启等等。
/* VSP定义同时也作为游戏中的一种常量配置值提供对象。
/*
/***************************************************************/
class CVSPDefinition
{
public:
/* 定义各种必需的常量名称 */
static LPCTSTR SPID; //运营商ID的定义名称
static LPCTSTR LANGUAGE; //语言种类的定义名称
static LPCTSTR GAMENAME; //游戏名称的定义名称
static LPCTSTR BINDCOINNAME;//绑定货币的定义名称
static LPCTSTR COINNAME; //货币的定义名称
static LPCTSTR BINDYBNAME; //绑定元宝的定义名称
static LPCTSTR YBNAME; //元宝的定义名称
/* 常量对象数据结构定义 */
typedef struct Definition
{
LPTSTR sDefName; //常量名称
LPTSTR sDefValue; //常量值
}*PDEFINITION;
public:
CVSPDefinition();
~CVSPDefinition();
/*
* Comments:
* Param LPCTSTR sDefName:
* @Return LPCTSTR: NULL
*/
LPCTSTR GetDefinition(LPCTSTR sDefName) const;
/*
* Comments:
* Param CCustomLuaPreProcessor & preProcessor:
* @Return VOID:
*/
VOID RegisteToPreprocessor(CCustomLuaPreProcessor &preProcessor);
/*
* Comments:
* Param LPCTSTR sFilePath:
* @Return bool: true否则返回false
*/
bool LoadDefinitions(LPCTSTR sFilePath);
/*
* Comments:
* Param LPCTSTR sDefName:
* Param LPCTSTR sDefValue:
* @Return VOID:
*/
VOID SetDefinition(LPCTSTR sDefName, LPCTSTR sDefValue);
protected:
/*
* Comments:
* @Return VOID:
*/
VOID ClearDefinitions();
private:
CBaseList<Definition> m_Defines;
};