Files
mir_server/server/LogicServer/config/NewTitleProvider.h
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

59 lines
1.3 KiB
C++

#pragma once
typedef struct tagOneNewTitleConfig
{
char name[64]; //称号的名
bool bBroadcast; //是否广播
bool bAutoUse;
WORD nNewTitleId;
int nNewTitleTime;
PGAMEATTR PropList;
PGAMEATTR ConditionList;
int nPropCount;
int nConditionCount;
int nVIPnotice;
int nNoticeLv;
int nOfflieDelete;
bool bCrossServerHide; // 是否跨服隐藏
tagOneNewTitleConfig()
{
memset(this,0,sizeof(*this));
}
}OneNewTitleConfig;
class CNewTitleProvider :
protected CCustomLogicLuaConfig
{
public:
typedef CObjectAllocator<char> CDataAllocator;
typedef CCustomLogicLuaConfig Inherited;
public:
CNewTitleProvider();
~CNewTitleProvider();
public:
bool LoadNewTitleConfig(LPCTSTR sFilePath);
OneNewTitleConfig * GetNetTitleConfig( WORD wId )const;
bool IsTimeNewTitle( WORD wId );
OneNewTitleConfig * GetCustomTitleConfig( WORD wId )const;
bool IsTimeCustomTitle( WORD wId );
private:
bool readNewTitleConfigs();
bool readmCustomTitleConfigs();
protected:
void showError(LPCTSTR sError);
private:
CDataAllocator m_DataAllocator;
OneNewTitleConfig* m_NewTitlesConfig;
int m_NewTitlesCount;
CDataAllocator m_CustomTitlesDataAllocator;
OneNewTitleConfig* m_CustomTitlesConfig;
int m_CustomTitlesCount;
};