Exemplo n.º 1
0
    public static Skill GenerateSkill(string skill)
    {
        //Runs a Func<Skill> that returns the appropriate new skill
        Skill newSkill = SkillSpawner[skill]();

        if (newSkill == null)
        {
            Debug.LogError("Error!  Skill \"" + skill + "\" not found!");
        }

        return(newSkill as Skill);
    }
Exemplo n.º 2
0
    public static void SpawnSkills(this Unit unit)
    {
        GameObject skillsObject = new GameObject("Skills");

        skillsObject.transform.parent = unit.transform;

        var skillIds = new List <MappedListID>();

        if (unit.UnitData.CurrentWeaponMainSkillId != null)
        {
            skillIds.Add(unit.UnitData.CurrentWeaponMainSkillId);
        }
        skillIds.AddRange(unit.UnitData.SkillIds);

        var skills = Main.StaticData.Game.Skills.GetValues(skillIds);

        if (skills == null || skills.Count == 0)
        {
            Debug.LogWarning("Unit has no skills, adding default skill");
            skills = new List <SkillAssetData> {
                Main.StaticData.Game.Skills.GetValue(DataDefaults.skillName)
            };
        }

        foreach (var skillAsset in skills)
        {
            unit.Skills.Add(SkillSpawner.SpawnSkill(skillsObject, skillAsset.Data, unit));
        }
    }
Exemplo n.º 3
0
 protected override void OnInitialize()
 {
     comboData = new ComboData(Main.StaticData.Game.Combos.GetValue(Data.ComboId).Data);
     skills    = new List <Skill>();
     foreach (SkillData skillData in comboData.SkillDatas)
     {
         skills.Add(SkillSpawner.SpawnSkill(gameObject, skillData, unit));
     }
     data = comboData.SkillDatas[comboData.DataIds[0]];
 }