技能系统

玩家技能可以直接在玩家身上实现,使用一个SkillMgr来管理技能Skill,Skill里面处理了很多和技能状态的相关流程。

class Skill
{
...
public:
    static Skill* study_skill(...); //学习技能,可以供外部调用
    static Skill* create_skill(...); //创建一个技能,可以供外部调用
...
};

class SkillMgr
{
    ...
private:
    std::map<int64, std::shared_ptr<Skill>> skill_map; //skill的临时技能id, skill
    std::map<int, std::shared_ptr<Skill>> skill_map; //skillid, skill
    ...
};

猜你喜欢

转载自blog.csdn.net/Ftworld21/article/details/106862149