private void init(int active) { base.init(true); Ghost ghost = this.allGhosts[0]; Mob mob = this.mobs[0]; mob.Inactive = true; this.activeScenarios = new Queue <BaseTutorialScenario>(); this.activeScenarios.Enqueue(new SelectionTutorial(content, "Unitselect", ghost, mob)); this.activeScenarios.Enqueue(new MovementTutorial(content, "Movement", ghost, mob)); this.activeScenarios.Enqueue(new EnemySpawnTutorial(content, "Invisible", ghost, mob)); this.activeScenarios.Enqueue(new EvadeTutorial(content, "Evade", ghost, mob)); this.activeScenarios.Enqueue(new KillingTutorial(content, "Killing", ghost, mob, this.allGhosts)); this.activeScenarios.Enqueue(new ArmyTutorial(content, "Army", ghost, mob, allGhosts, GameStateMachine.getInstance())); for (int i = 0; i <= active; i++) { // the last scenario requires 2 ghosts if (0 == this.activeScenarios.Count - 1) { break; } this.activeScenario = this.activeScenarios.Dequeue(); this.activeScenario.init(); } this.scenario = active; }
public override void update(float elapsed) { base.update(elapsed); foreach (var button in this.buttons) { button.update(elapsed); } if (this.activeScenario != null) { this.activeScenario.update(elapsed); if (this.activeScenario.Completed) { if (this.activeScenarios.Count > 0) { this.activeScenario = this.activeScenarios.Dequeue(); this.activeScenario.init(); this.scenario++; } } } }