コード例 #1
0
ファイル: UnitFactory.cs プロジェクト: McWenker/Steamheart
    static void AddPerkCatalog(GameObject obj, DictPerkBoolDict dict)
    {
        GameObject main = new GameObject("Perk Catalog");

        main.transform.SetParent(obj.transform);
        main.AddComponent <PerkCatalog>();

        foreach (KeyValuePair <DictPerk, bool> entry in dict)
        {
            if (entry.Value == true)
            {
                AddPerk(obj, entry.Key.CardinalName, entry.Key.PerkName, main);
            }
        }
    }
コード例 #2
0
    public void NewUnit(string unitName, string raceName, string cardinalName, DictPerkBoolDict perkDict, int level)
    {
        PartyEntry entry = Dequeue();

        if (entry.UnitInfo != null)
        {
            entry.UnitInfo = new string[] { unitName, raceName, cardinalName, level.ToString() };
            foreach (var key in perkDict.ToList())
            {
                entry.PerkDict.Add(key.Key, key.Value);
            }
            partyEntries.Add(entry);
        }
        else
        {
            Enqueue(entry);
        }
    }
コード例 #3
0
ファイル: UnitFactory.cs プロジェクト: McWenker/Steamheart
    public static GameObject CreateUnit(string name, string race, string cardinal, DictPerkBoolDict perkDict, string level, string model)
    {
        GameObject obj = InstantiatePrefab("Units/" + model);

        obj.name = name.TrimStart(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '_' });
        obj.AddComponent <Unit>();
        AddStats(obj);
        AddRace(obj, race);
        AddLocomotion(obj, Locomotions.Walk);
        obj.AddComponent <Status>();
        AddEquipment(obj, cardinal);
        AddRank(obj, Int32.Parse(level));
        obj.AddComponent <Health>();
        obj.AddComponent <Mana>();
        AddAttack(obj, "");
        AddAbilityCatalog(obj);
        AddPerkCatalog(obj, perkDict);
        AddAlliance(obj, Alliances.Hero);
        AddAttackPattern(obj, "");
        return(obj);
    }