diff --git a/Engine/CLEngine.Core/framework/HeroObject.cs b/Engine/CLEngine.Core/framework/HeroObject.cs index e553e610eace66849d6f07d9daa339caa87efd93..882c31815e7dc78418872443755eed5d733a51a8 100644 --- a/Engine/CLEngine.Core/framework/HeroObject.cs +++ b/Engine/CLEngine.Core/framework/HeroObject.cs @@ -26,6 +26,49 @@ namespace CLEngine.Core.framework [DataMember] private string _occupation; [DataMember] private Dictionary _skill; [DataMember] private Dictionary _state; + /// + /// 添加技能 + /// + /// + public void AddSkill(string name) + { + var skill = SkillManager.GetWorldSkill(name); + if (skill == null) + { + throw new Exception("技能'" + name + "'不存在!"); + } + _skill.Add(name, skill); + } + /// + /// 删除技能 + /// + /// + public void RemoveSkill(string name) + { + _skill.Remove(name); + } + /// + /// 通过列表添加技能 + /// + /// + public void AddSkillByList(List list) + { + foreach (var skill in list) + { + AddSkill(skill); + } + } + /// + /// 通过列表删除技能 + /// + /// + public void RemoveSkillByList(List list) + { + foreach (var skill in list) + { + RemoveSkill(skill); + } + } /// /// 状态表 diff --git a/Engine/CLEngine.Core/framework/SkillManager.cs b/Engine/CLEngine.Core/framework/SkillManager.cs index c913b220dfa9306091b5aa77f5d05fa719177087..26aa299748d9a0a619e90a45a68f1cb39bfcdc95 100644 --- a/Engine/CLEngine.Core/framework/SkillManager.cs +++ b/Engine/CLEngine.Core/framework/SkillManager.cs @@ -58,6 +58,15 @@ namespace CLEngine.Core.framework return skillList; } + /// + /// 通过名称获取世界技能 + /// + /// + /// + public static SkillObject GetWorldSkill(string name){ + return _worldSkill[name]; + } + /// /// 加载数据 ///