Files
mir_server/server/LogicServer/base/WorldLevelMgr.h

87 lines
1.7 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
class CWorldLevelMgr :
public CComponent
{
public:
enum emLoadTopLevelActorType
{
enTopLevelWorldLevelSet=1,//设置世界等级
};
typedef struct tagWorldLevel
{
int nWorldLevel; //世界等级
tagWorldLevel()
{
memset(this, 0, sizeof(*this));
}
}WORLDLEVELINFO, *PWORLDLEVELINFO;
public:
CWorldLevelMgr(void);
~CWorldLevelMgr(void);
bool Initialize();
/*
* Comments:
* Param INT_PTR nCmd:
* Param INT_PTR nErrorCode:
* Param CDataPacketReader & inPacket:
* @Return VOID:
*/
VOID OnDbReturnData(INT_PTR nCmd,char * data,SIZE_T size);
//世界等级是否开放
bool IsWorldLevelOpen();
//人物是否能有世界等级加成
bool IsCanHaveWorldLevelExp(int nActorLevel);
//人物是否能显示世界等级图标
bool IsWorldLevelIconOpen(int nActorLevel);
/*
* Comments:
* Param CActor * pActor:
* Param bool isSend:
* @Return void:
*/
void CheckWorldLevel(CActor* pActor, bool isSend = false);
/*
* Comments:
* @Return void:
*/
void ResetWorldLevel();
/*
* Comments:
* @Return void:
*/
void ReloadWorldLevel();
//获取世界等级加成
float getWorldLevelRate(int nLevel);
//发送世界等级信息
void SendAllActorWorldLevel();
//发送世界等级信息
void SendWorldLevel(CEntity* pEntity);
//获得世界等级
int GetWorldLevel() {return m_worldLevelInfo.nWorldLevel;}
private:
/*
* Comments:
* @Return void:
*/
void LoadTopLevelOneFromDb(int nType);
void LoadTopLevelFromDbResult(int nType, CDataPacketReader& inPacket);
private:
WORLDLEVELINFO m_worldLevelInfo; //世界等级
};