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); } } }
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); } }
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); }