private FactionMap GenerateFactionMap(EncounterRoster roster) { var factionMap = new FactionMap { { HERO_FACTION, baseCombatant.Spawn(roster.Heroes, HERO_FACTION, transform) }, { ENEMY_FACTION, baseCombatant.Spawn(roster.Enemies, ENEMY_FACTION, transform) } }; return(factionMap); }
// Initializer public void Populate(EncounterRoster roster, Arena arenaPrefab) // Eventually should add 'Script' { animationQueue = GetComponentInChildren <AnimationQueue>(); combatants = GenerateFactionMap(roster); turnCounter = new TurnCounter <Combatant>( (a, b) => b.Character.Speed.Current.CompareTo(a.Character.Speed.Current) ); turnCounter.Add(combatants[HERO_FACTION]); turnCounter.Add(combatants[ENEMY_FACTION]); turnCounter.Reset(); arena = Instantiate(arenaPrefab, transform); arena.Populate(combatants); stateEngine = new StateEngine <Encounter>(this, new SetupState()); }