Example #1
0
    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);
    }
Example #2
0
    // 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());
    }