Beispiel #1
0
    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);
    }
Beispiel #2
0
 public static SkillBase Create(string itemName, Sprite skillIcon, SkillBaseConfig config)
 {
     return(CreateInstance <SkillBase>().Init(itemName, skillIcon, config));
 }