public ResistanceAnimation(Simulator simulator, Mothership mothership) { Simulator = simulator; Mothership = mothership; Battleships = new List<HumanBattleship>(); var b = new HumanBattleship(Simulator, "HumanBattleship1", VisualPriorities.Cutscenes.IntroHumanBattleships) { Position = new Vector3(0, 2000, 0) }; b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Basic, 1, new Vector3(-18, -25, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Basic, 1, new Vector3(-18, -10, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.RailGun, 2, new Vector3(20, -25, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Missile, 4, new Vector3(20, -10, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Basic, 2, new Vector3(0, 0, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.SlowMotion, 1, new Vector3(0, -20, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.SlowMotion, 2, new Vector3(0, 15, 0) * 4, true, false, false, false)); Battleships.Add(b); b = new HumanBattleship(Simulator, "HumanBattleship2", VisualPriorities.Cutscenes.IntroHumanBattleships) { Position = new Vector3(0, 2000, 0) }; b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Gravitational, 5, new Vector3(-18, -15, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.RailGun, 3, new Vector3(-18, 0, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Gravitational, 6, new Vector3(18, -15, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.RailGun, 7, new Vector3(18, 0, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.SlowMotion, 6, new Vector3(-18, 15, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Basic, 7, new Vector3(18, 15, 0) * 4, true, false, false, false)); Battleships.Add(b); b = new HumanBattleship(Simulator, "HumanBattleship3", VisualPriorities.Cutscenes.IntroHumanBattleships) { Position = new Vector3(0, 2000, 0) }; b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Missile, 3, new Vector3(18, -10, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.RailGun, 5, new Vector3(-18, -10, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.SlowMotion, 5, new Vector3(9, 20, 0) * 4, true, false, false, false)); b.AddTurret(Simulator.TurretsFactory.Create(TurretType.Gravitational, 3, new Vector3(-9, 20, 0) * 4, true, false, false, false)); Battleships.Add(b); foreach (var ship in Battleships) Simulator.AddSpaceship(ship); State = ResistanceState.None; TimeBeforeArrival = IntroCutscene.Timing["HumanBattleshipsArrival"]; TimeBeforeFiring = IntroCutscene.Timing["HumanBattleshipsFiring"]; TimeBeforeDestruction = IntroCutscene.Timing["HumanBattleshipsDestruction"]; }
public void Update() { TimeBeforeArrival -= Preferences.TargetElapsedTimeMs; TimeBeforeFiring -= Preferences.TargetElapsedTimeMs; TimeBeforeDestruction -= Preferences.TargetElapsedTimeMs; foreach (var b in Battleships) b.Update(); switch (State) { case ResistanceState.None: if (TimeBeforeArrival <= 0) { MoveBattleships(); State = ResistanceState.Firing; } break; case ResistanceState.Firing: if (TimeBeforeFiring <= 0) FireBattleships(); if (TimeBeforeDestruction < 0) { StopFireBattleships(); ScaredBattleships(); State = ResistanceState.Destruction; } break; case ResistanceState.Destruction: break; } }