game2006/server/gameserver/mt/BattleHeroGrow.h
aozhiwei 40968f3ae8 1
2024-01-15 17:51:37 +08:00

34 lines
908 B
C++

#pragma once
#include "mt/macro.h"
#include "mtb/BattleHeroGrow.h"
namespace mt
{
DECLARE_ID_TABLE(BattleHeroGrow, mtb::BattleHeroGrow,
"battleHeroGrow@battleHeroGrow.json",
"id")
public:
void Init1();
void Init2();
const BattleHeroGrow* GetNextMeta() const;
bool IsFullLevel() const;
std::shared_ptr<std::vector<std::tuple<int, float>>> GetLevelAttrs() const;
std::shared_ptr<std::vector<int>> GetEquipEffects() const;
int GetSkillEffect() const;
static const BattleHeroGrow* GetByHeroIdLevel(int hero_id, int level);
private:
const BattleHeroGrow* next_meta_ = nullptr;
std::shared_ptr<std::vector<std::tuple<int, float>>> attrs_;
std::shared_ptr<std::vector<int>> effects_;
static std::map<long long, const BattleHeroGrow*> level_hash_;
};
}