public SkillBase Init(string itemName, Sprite skillIcon, SkillBaseConfig config) { SkillName = itemName; Icon = skillIcon; CostType = CostType.ActionPoint; Cost = config.Cost; Cooldown = config.Cooldown; UsePerTurn = config.UsePerTurn; CriticalChance = config.CriticalChance; SkillEffects = config.SkillEffects; //if (config.SkillEffects != null) { // SkillEffects = new List<SkillEffect>(); // for (int i = 0; i < config.SkillEffects.Count; i++) // SkillEffects.Add(Damage.Create(config.SkillEffects[i])); //} RangeType = config.RangeType; MinRange = config.MinRange; MaxRange = config.MaxRange; NeedLineOfSight = config.NeedLineOfSight; NeedPathToTarget = config.NeedPathToTarget; AreaOfEffect = config.AreaOfEffect; Animations = config.Animations; return(this); }
public static SkillBase Create(string itemName, Sprite skillIcon, SkillBaseConfig config) { return(CreateInstance <SkillBase>().Init(itemName, skillIcon, config)); }