using System.Collections.Generic; namespace ET { [FriendClass(typeof(Skill))] public static class SkillComponentSystem { public static Skill GetSkill(this SkillComponent self, int configId) { foreach (var v in self.Children.Values) { var skill = (Skill) v; if (skill.ConfigId == configId) { return skill; } } return null; } public static bool TestReplaceSkill(this SkillComponent self, int oldConfigId, int newConfigId) { if (oldConfigId <= 0 || newConfigId <= 0) { return false; } var oldSkill = self.GetSkill(oldConfigId); if (oldSkill != null) { oldSkill.Dispose(); } var skill = self.AddChild(); skill.ConfigId = newConfigId; skill.Level = 1; return true; } public static List GetSkillList(this SkillComponent self) { List skillList = new List(); foreach (var v in self.Children.Values) { skillList.Add((Skill)v); } return skillList; } public static void CdOneTime(this SkillComponent self, SkillFatherCDTypeEnum cdTypeEnum) { foreach (var v in self.Children.Values) { var skill = (Skill) v; if (skill.Config.CDType == (int)cdTypeEnum) { skill.CdOneTime(); } } } } }