private EffectsController<IVisual> EffectsController; // needed to be controller by this object because of the Tutorial system public LevelStartedAnnunciation(Simulator simulator, Level level) { Simulator = simulator; TranslatorMission = new Translator (Simulator.Scene, new Vector3(-600, -330, 0), "Alien", Colors.Default.AlienBright, @"Pixelite", Colors.Default.NeutralBright, level.Mission, 4, true, 4000, 250, Preferences.PrioriteGUIHistoire, false); EffectsController = new EffectsController<IVisual>(); EffectsController.Add(TranslatorMission.ToTranslate, EphemereGames.Core.Visual.VisualEffects.FadeInFrom0(255, 1000, 500)); EffectsController.Add(TranslatorMission.Translated, EphemereGames.Core.Visual.VisualEffects.FadeInFrom0(255, 1000, 500)); EffectsController.Add(TranslatorMission.ToTranslate, EphemereGames.Core.Visual.VisualEffects.FadeOutTo0(255, 10000, 2000)); EffectsController.Add(TranslatorMission.Translated, EphemereGames.Core.Visual.VisualEffects.FadeOutTo0(255, 10000, 2000)); }
public LevelEndedAnnunciation(Simulator simulator, Path path, Level level) { Simulator = simulator; Path = path; Level = level; }
public Simulator(CommanderScene scene, LevelDescriptor descriptor) { Scene = scene; Scene.Particles.Add( new List<string>() { @"projectileMissileDeplacement", @"projectileBaseExplosion", @"etoile", @"etoileBleue", @"planeteGazeuse", @"etoilesScintillantes", @"projectileMissileExplosion", @"projectileLaserSimple", @"projectileLaserMultiple", @"selectionCorpsCeleste", @"traineeMissile", @"etincelleLaser", @"toucherTerre", @"anneauTerreMeurt", @"anneauTerreMeurt2", @"bouleTerreMeurt", @"missileAlien", @"implosionAlien", @"explosionEnnemi", @"mineral1", @"mineral2", @"mineral3", @"mineralPointsVie", @"mineralPris", @"etincelleMissile", @"etincelleLaserSimple", @"etincelleSlowMotion", @"etincelleSlowMotionTouche", @"etoileFilante", @"trouRose", @"boosterTurret", @"gunnerTurret", @"nanobots", @"nanobots2", @"railgun", @"railgunExplosion", @"pulseEffect", @"shieldEffect", @"spaceshipTrail", @"spaceshipTrail2", @"darkSideEffect", @"starExplosion", @"mothershipMissile", @"nextWave", @"mothershipAbduction" }, true); Scene.Particles.SetMaxInstances(@"toucherTerre", 3); TurretsFactory = new TurretsFactory(this); PowerUpsFactory = new PowerUpsFactory(this); EnemiesFactory = new EnemiesFactory(this); MineralsFactory = new MineralsFactory(this); BulletsFactory = new BulletsFactory(this); TurretsFactory.Initialize(); PowerUpsFactory.Initialize(); EnemiesFactory.Initialize(); MineralsFactory.Initialize(); BulletsFactory.Initialize(); Level = new Level(this, descriptor); TweakingController = new TweakingController(this); CollisionsController = new CollisionsController(this); BulletsController = new BulletsController(this); EnemiesController = new EnemiesController(this); SimPlayersController = new SimPlayersController(this); TurretsController = new TurretsController(this); PlanetarySystemController = new PlanetarySystemController(this); SpaceshipsController = new SpaceshipsController(this); MessagesController = new MessagesController(this); GUIController = new GUIController(this); PowerUpsController = new PowerUpsController(this); LevelsController = new LevelsController(this); EditorController = new EditorController(this); EditorGUIController = new EditorGUIController(this); PanelsController = new PanelsController(this); AudioController = new AudioController(this); WorldMode = false; DemoMode = false; CutsceneMode = false; EditorMode = false; CanSelectCelestialBodies = true; EditorState = EditorState.Editing; DebugMode = Preferences.Debug; PausedGameChoice = PausedGameChoice.None; NewGameChoice = NewGameChoice.None; CollisionsController.ObjectHit += new PhysicalObjectPhysicalObjectHandler(EnemiesController.DoObjectHit); CollisionsController.ObjectHit += new PhysicalObjectPhysicalObjectHandler(BulletsController.DoObjectHit); CollisionsController.ObjectOutOfBounds += new PhysicalObjectHandler(BulletsController.DoObjectOutOfBounds); SimPlayersController.BuyTurretAsked += new TurretSimPlayerHandler(TurretsController.DoBuyTurret); EnemiesController.WaveEnded += new NoneHandler(LevelsController.DoWaveEnded); EnemiesController.ObjectDestroyed += new PhysicalObjectHandler(SimPlayersController.DoObjectDestroyed); CollisionsController.InTurretRange += new TurretPhysicalObjectHandler(TurretsController.DoInRangeTurret); TurretsController.ObjectCreated += new PhysicalObjectHandler(BulletsController.DoObjectCreated); BulletsController.ObjectDestroyed += new PhysicalObjectHandler(CollisionsController.DoObjectDestroyed); EnemiesController.WaveStarted += new NoneHandler(GUIController.DoWaveStarted); SimPlayersController.SellTurretAsked += new TurretSimPlayerHandler(TurretsController.DoSellTurret); TurretsController.TurretSold += new TurretSimPlayerHandler(SimPlayersController.DoTurretSold); TurretsController.TurretBought += new TurretSimPlayerHandler(SimPlayersController.DoTurretBought); EnemiesController.EnemyReachedEndOfPath += new EnemyCelestialBodyHandler(PlanetarySystemController.DoEnemyReachedEnd); TurretsController.TurretUpgraded += new TurretSimPlayerHandler(SimPlayersController.DoTurretUpgraded); TurretsController.TurretUpgraded += new TurretSimPlayerHandler(GUIController.DoTurretUpgraded); SimPlayersController.UpgradeTurretAsked += new TurretSimPlayerHandler(TurretsController.DoUpgradeTurret); PlanetarySystemController.ObjectDestroyed += new PhysicalObjectHandler(TurretsController.DoObjectDestroyed); PlanetarySystemController.ObjectDestroyed += new PhysicalObjectHandler(SimPlayersController.DoObjectDestroyed); SimPlayersController.NextWaveAsked += new NoneHandler(EnemiesController.DoNextWaveAsked); SpaceshipsController.ObjectCreated += new PhysicalObjectHandler(BulletsController.DoObjectCreated); SpaceshipsController.ObjectCreated += new PhysicalObjectHandler(SimPlayersController.DoObjectCreated); PlanetarySystemController.ObjectDestroyed += new PhysicalObjectHandler(CollisionsController.DoObjectDestroyed); SpaceshipsController.ObjectCreated += new PhysicalObjectHandler(CollisionsController.DoObjectCreated); EnemiesController.ObjectCreated += new PhysicalObjectHandler(CollisionsController.DoObjectCreated); PlanetarySystemController.ObjectHit += new PhysicalObjectHandler(LevelsController.DoObjectHit); PlanetarySystemController.ObjectDestroyed += new PhysicalObjectHandler(LevelsController.DoObjectDestroyed); EnemiesController.EnemyReachedEndOfPath += new EnemyCelestialBodyHandler(this.DoEnemyReachedEndOfPath); PlanetarySystemController.ObjectDestroyed += new PhysicalObjectHandler(this.DoCelestialBodyDestroyed); SimPlayersController.CommonStashChanged += new CommonStashHandler(GUIController.DoCommonStashChanged); LevelsController.NewGameState += new NewGameStateHandler(GUIController.DoGameStateChanged); SimPlayersController.PlayerSelectionChanged += new SimPlayerHandler(GUIController.DoPlayerSelectionChanged); SimPlayersController.PlayerSelectionChanged += new SimPlayerHandler(this.DoPlayerSelectionChanged); TurretsController.TurretReactivated += new TurretHandler(SimPlayersController.DoTurretReactivated); SimPlayersController.PlayerMoved += new SimPlayerHandler(GUIController.DoPlayerMoved); LevelsController.NewGameState += new NewGameStateHandler(this.DoNewGameState); //must come after GUIController.DoGameStateChanged LevelsController.CommonStashChanged += new CommonStashHandler(GUIController.DoCommonStashChanged); SimPlayersController.TurretToPlaceSelected += new TurretSimPlayerHandler(GUIController.DoTurretToPlaceSelected); SimPlayersController.TurretToPlaceDeselected += new TurretSimPlayerHandler(GUIController.DoTurretToPlaceDeselected); SimPlayersController.BuyTurretAsked += new TurretSimPlayerHandler(GUIController.DoTurretBought); SimPlayersController.SellTurretAsked += new TurretSimPlayerHandler(GUIController.DoTurretSold); SimPlayersController.ActivatePowerUpAsked += new PowerUpTypeSimPlayerHandler(PowerUpsController.DoActivatePowerUpAsked); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(SpaceshipsController.DoPowerUpStarted); PowerUpsController.PowerUpStopped += new PowerUpSimPlayerHandler(SpaceshipsController.DoPowerUpStopped); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(GUIController.DoPowerUpStarted); PowerUpsController.PowerUpStopped += new PowerUpSimPlayerHandler(GUIController.DoPowerUpStopped); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(SimPlayersController.DoPowerUpStarted); PowerUpsController.PowerUpStopped += new PowerUpSimPlayerHandler(SimPlayersController.DoPowerUpStopped); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(CollisionsController.DoPowerUpStarted); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(BulletsController.DoPowerUpStarted); PowerUpsController.PowerUpStopped += new PowerUpSimPlayerHandler(BulletsController.DoPowerUpStopped); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(PlanetarySystemController.DoPowerUpStarted); PowerUpsController.PowerUpStopped += new PowerUpSimPlayerHandler(PlanetarySystemController.DoPowerUpStopped); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(LevelsController.DoPowerUpStarted); CollisionsController.TurretBoosted += new TurretTurretHandler(TurretsController.DoTurretBoosted); SimPlayersController.PlayerMoved += new SimPlayerHandler(PowerUpsController.DoPlayerMoved); LevelsController.NewGameState += new NewGameStateHandler(PowerUpsController.DoNewGameState); TurretsController.ObjectCreated += new PhysicalObjectHandler(SimPlayersController.DoObjectCreated); CollisionsController.BulletDeflected += new EnemyBulletHandler(BulletsController.DoBulletDeflected); BulletsController.ObjectDestroyed += new PhysicalObjectHandler(TurretsController.DoObjectDestroyed); SimPlayersController.DesactivatePowerUpAsked += new PowerUpTypeSimPlayerHandler(PowerUpsController.DoDesactivatePowerUpAsked); SimPlayersController.PlayerConnected += new SimPlayerHandler(GUIController.DoPlayerConnected); SimPlayersController.PlayerDisconnected += new SimPlayerHandler(GUIController.DoPlayerDisconnected); SimPlayersController.PlayerConnected += new SimPlayerHandler(PowerUpsController.DoPlayerConnected); SimPlayersController.PlayerDisconnected += new SimPlayerHandler(PowerUpsController.DoPlayerDisconnected); SimPlayersController.PlayerConnected += new SimPlayerHandler(PanelsController.DoPlayerConnected); SimPlayersController.PlayerDisconnected += new SimPlayerHandler(PanelsController.DoPlayerDisconnected); SimPlayersController.ShowAdvancedViewAsked += new SimPlayerHandler(GUIController.DoShowAdvancedViewAsked); SimPlayersController.HideAdvancedViewAsked += new SimPlayerHandler(GUIController.DoHideAdvancedViewAsked); CollisionsController.ObjectHit += new PhysicalObjectPhysicalObjectHandler(SimPlayersController.DoObjectHit); SimPlayersController.PlayerConnected += new SimPlayerHandler(EditorController.DoPlayerConnected); SimPlayersController.PlayerDisconnected += new SimPlayerHandler(EditorController.DoPlayerDisconnected); EditorController.PlayerConnected += new EditorPlayerHandler(EditorGUIController.DoPlayerConnected); EditorController.PlayerDisconnected += new EditorPlayerHandler(EditorGUIController.DoPlayerDisconnected); SimPlayersController.PlayerMoved += new SimPlayerHandler(EditorController.DoPlayerMoved); EditorController.PlayerChanged += new EditorPlayerHandler(EditorGUIController.DoPlayerChanged); EditorController.EditorCommandExecuted += new EditorCommandHandler(PlanetarySystemController.DoEditorCommandExecuted); //must be executed before sync of gui EditorController.EditorCommandExecuted += new EditorCommandHandler(EditorGUIController.DoEditorCommandExecuted); EditorController.EditorCommandExecuted += new EditorCommandHandler(PowerUpsController.DoEditorCommandExecuted); //must be done before the Players Controller EditorController.EditorCommandExecuted += new EditorCommandHandler(SimPlayersController.DoEditorCommandExecuted); //must be done before the GUI EditorController.EditorCommandExecuted += new EditorCommandHandler(LevelsController.DoEditorCommandExecuted); // must be donne before the GUI EditorController.EditorCommandExecuted += new EditorCommandHandler(GUIController.DoEditorCommandExecuted); SimPlayersController.ObjectCreated += new PhysicalObjectHandler(BulletsController.DoObjectCreated); LevelsController.NewGameState += new NewGameStateHandler(PanelsController.DoGameStateChanged); PanelsController.PanelOpened += new NoneHandler(GUIController.DoPanelOpened); PanelsController.PanelClosed += new NoneHandler(GUIController.DoPanelClosed); EnemiesController.ObjectDestroyed += new PhysicalObjectHandler(GUIController.DoObjectDestroyed); EnemiesController.NextWaveCompositionChanged += new NextWaveHandler(GUIController.DoNextWaveCompositionChanged); LevelsController.NewGameState += new NewGameStateHandler(SimPlayersController.DoNewGameState); CollisionsController.PlayersCollided += new SimPlayerSimPlayerHandler(SimPlayersController.DoPlayersCollided); CollisionsController.PlayersCollided += new SimPlayerSimPlayerHandler(AudioController.DoPlayersCollided); CollisionsController.StartingPathCollision += new BulletCelestialBodyHandler(BulletsController.DoStartingPathCollision); CollisionsController.StartingPathCollision += new BulletCelestialBodyHandler(GUIController.DoStartingPathCollision); CollisionsController.StartingPathCollision += new BulletCelestialBodyHandler(AudioController.DoStartingPathCollision); CollisionsController.ShieldCollided += new CollidableBulletHandler(SpaceshipsController.DoShieldCollided); CollisionsController.ShieldCollided += new CollidableBulletHandler(BulletsController.DoShieldCollided); BulletsController.ObjectDestroyed += new PhysicalObjectHandler(AudioController.DoObjectDestroyed); EnemiesController.WaveStarted += new NoneHandler(AudioController.DoWaveStarted); PowerUpsController.PowerUpStarted += new PowerUpSimPlayerHandler(AudioController.DoPowerUpStarted); PowerUpsController.PowerUpStopped += new PowerUpSimPlayerHandler(AudioController.DoPowerUpStopped); TurretsController.TurretBought += new TurretSimPlayerHandler(AudioController.DoTurretBought); TurretsController.TurretSold += new TurretSimPlayerHandler(AudioController.DoTurretSold); TurretsController.TurretFired += new TurretHandler(AudioController.DoTurretFired); TurretsController.TurretReactivated += new TurretHandler(AudioController.DoTurretReactivated); PowerUpsController.PowerUpInputCanceled += new PowerUpSimPlayerHandler(AudioController.DoPowerUpInputCanceled); PowerUpsController.PowerUpInputPressed += new PowerUpSimPlayerHandler(AudioController.DoPowerUpInputPressed); PowerUpsController.PowerUpInputReleased += new PowerUpSimPlayerHandler(AudioController.DoPowerUpInputReleased); EnemiesController.ObjectHit += new PhysicalObjectHandler(AudioController.DoObjectHit); EnemiesController.ObjectDestroyed += new PhysicalObjectHandler(AudioController.DoObjectDestroyed); PlanetarySystemController.ObjectHit += new PhysicalObjectHandler(AudioController.DoObjectHit); PlanetarySystemController.ObjectDestroyed += new PhysicalObjectHandler(AudioController.DoObjectDestroyed); SimPlayersController.PlayerBounced += new SimPlayerHandler(AudioController.DoPlayerBounced); TurretsController.TurretWandered += new TurretHandler(AudioController.DoTurretWandered); TurretsController.TurretUpgraded += new TurretSimPlayerHandler(AudioController.DoTurretUpgraded); BulletsController.BulletDeflected += new BulletHandler(AudioController.DoBulletDeflected); EnemiesController.WaveNearToStart += new NoneHandler(AudioController.DoWaveNearToStart); SimPlayersController.PlayerConnected += new SimPlayerHandler(AudioController.DoPlayerConnected); SimPlayersController.PlayerDisconnected += new SimPlayerHandler(AudioController.DoPlayerDisconnected); EnemiesController.WaveEnded += new NoneHandler(AudioController.DoWaveEnded); SimPlayersController.PlayerFired += new SimPlayerHandler(AudioController.DoPlayerFired); SimPlayersController.PlayerSelectionChanged += new SimPlayerHandler(AudioController.DoPlayerSelectionChanged); SimPlayersController.PlayerActionRefused += new SimPlayerHandler(AudioController.DoPlayerActionRefused); Main.CheatsController.CheatActivated += new StringHandler(DoCheatActivated); Main.Options.ShowHelpBarChanged += new BooleanHandler(DoShowHelpBarChanged); }