private void OnGameStateChanged(GameStateChangedEvent e) { if (e.stateType == GameStateType.SimulateLevel) { //TODO: OPTIONAL DO A SMOOTH REWIND } }
private void OnGameStateChanged(GameStateChangedEvent e) { if (e.stateType == GameStateType.Plotting) { ResetTimer(); } }
private void checkForVictoryConditions() { bool playerIsDead = true; bool allAliensAreDead = true; foreach (Entity entity in World.Entities.Values) { if (allAliensAreDead && entity.Type.StartsWith("alien_")) { allAliensAreDead = false; } else if (entity.Type == "player" || entity.Type == "player_death") { playerIsDead = false; } } if (playerIsDead) { GameStateChangedEvent changeState = GameStateChangedEvent.To(GameState.GameOver); EventManager.Queue(changeState); } else if (allAliensAreDead) { GameStateChangedEvent changeState = GameStateChangedEvent.To(GameState.Victory); EventManager.Queue(changeState); } }
public void Stop() { IsRunning = false; creditsPanel.Location = new Point(creditsPanel.Location.X, 770); eventManager.Queue(GameStateChangedEvent.To(GameState.Menu)); }
private void OnGameStateChange(GameStateChangedEvent e) { if (e.next == EGameState.KAREN_CHASE) { countdownText.color = Color.red; countdownText.text = "Your owner is here. RUN!"; } }
public void OnEvent(Event evt) { switch (evt.Type) { case GameStateChangedEvent.GAME_STATE_CHANGED: GameStateChangedEvent stateChangedEvent = evt as GameStateChangedEvent; changeState(stateChangedEvent.NewState); break; } }
private void OnGameStateChanged(GameStateChangedEvent e) { if (e.stateType == GameStateType.SimulateLevel) { left.SetActive(false); right.SetActive(false); top.SetActive(false); bottom.SetActive(false); } }
public void OnEvent(Event evt) { switch (evt.Type) { case AudioEvent.PLAY_SOUND: { AudioEvent audioEvent = (AudioEvent)evt; audioPlayer.PlayEvent(audioEvent.ToString(), audioEvent.Volume); break; } case AudioEvent.STOP_SOUND: { AudioEvent audioEvent = (AudioEvent)evt; audioPlayer.StopEvent(audioEvent.ToString()); break; } case AudioEvent.PAUSE_SOUND: { AudioEvent audioEvent = (AudioEvent)evt; audioPlayer.PauseEvent(audioEvent.ToString()); break; } case NewEntityEvent.NEW_ENTITY: { NewEntityEvent newEntityEvent = (NewEntityEvent)evt; Entity entity = Game.World.Entities[newEntityEvent.EntityID]; if (entity.Type == "player") { OnAttach(entity); int lifes = playerEntity[HealthBehavior.Key_Lifes]; hud.Reset(lifes); } break; } case DestroyEntityEvent.DESTROY_ENTITY: { DestroyEntityEvent destroyEntityEvent = (DestroyEntityEvent)evt; Entity entity = Game.World.Entities[destroyEntityEvent.EntityID]; if (entity.Type == "player") { OnDetach(); } break; } case GameStateChangedEvent.GAME_STATE_CHANGED: { GameStateChangedEvent stateChangedEvent = (GameStateChangedEvent)evt; onGameStateChanged(stateChangedEvent.NewState); break; } } }
private void OnGameStateChanged(GameStateChangedEvent e) { if (e.stateType == GameStateType.Plotting) { ResetEnemy(); } else if (e.stateType == GameStateType.SimulateLevel) { isPaused = true; } }
private void OnGameStateChanged(GameStateChangedEvent e) { if (e.stateType == GameStateType.SimulateLevel) { //Simulate starts //Play rewind here sfxSource.clip = rewindSound; sfxSource.Play(); FadeOutBgmChannel(); } }
private void OnGameStateChanged(GameStateChangedEvent e) { if (e.stateType == GameStateType.Plotting) { laserEnds[0].GetComponent <EnemyLaserEnd>().ResetLaser(); laserEnds[1].GetComponent <EnemyLaserEnd>().ResetLaser(); } else if (e.stateType == GameStateType.SimulateLevel) { laserEnds[0].GetComponent <EnemyLaserEnd>().PauseLaser(); laserEnds[1].GetComponent <EnemyLaserEnd>().PauseLaser(); } }
private void UnsubscribeAll() { _eventBus.Unsubscribe <ChatMessageSentEvent>(ChatMessageSentEvent.GetId(), OnChatMessageSentEventAsync); _eventBus.Unsubscribe <GameStateChangedEvent>(GameStateChangedEvent.GetId(), OnGameStateChangedEventAsync); _eventBus.Unsubscribe <PlayerAddedToVesselRoleEvent>(PlayerAddedToVesselRoleEvent.GetId(), OnPlayerAddedToVesselRoleEventAsync); _eventBus.Unsubscribe <PlayerJoinedGameEvent>(PlayerJoinedGameEvent.GetId(), OnPlayerJoinedGameEventAsync); _eventBus.Unsubscribe <PlayerLeftGameEvent>(PlayerLeftGameEvent.GetId(), OnPlayerLeftGameEventAsync); _eventBus.Unsubscribe <PlayerRemovedFromVesselRoleEvent>(PlayerRemovedFromVesselRoleEvent.GetId(), OnPlayerRemovedFromVesselRoleEventAsync); _eventBus.Unsubscribe <PlayerSignedInEvent>(PlayerSignedInEvent.GetId(), OnPlayerSignedInEventAsync); _eventBus.Unsubscribe <PlayerSignedOutEvent>(PlayerSignedOutEvent.GetId(), OnPlayerSignedOutEventAsync); _eventBus.Unsubscribe <VesselMovedInDirectionEvent>(VesselMovedInDirectionEvent.GetId(), OnVesselMovedInDirectionEventAsync); _eventBus.Unsubscribe <VesselStateChangedEvent>(VesselStateChangedEvent.GetId(), OnVesselStateChangedEventAsync); }
public void on_game_state_change(GameStateChangedEvent e) { if (e.next == EGameState.GAME_OVER) { GameEvent <GameStateChangedEvent> .Unregister(on_game_state_change); gameplay_gameover(); } else if (e.next == EGameState.GAME_OVER_WIN) { GameEvent <GameStateChangedEvent> .Unregister(on_game_state_change); gameplay_gameover_win(); } }
private void continueButton_Click(object sender, EventArgs e) { if (Highscore.IsNewHighscore(CurrentScore)) { if (String.IsNullOrEmpty(playerNameTextBox.Text)) { // TODO: Inform user return; } Highscore.Add(playerNameTextBox.Text, CurrentScore); } eventManager.Queue(GameStateChangedEvent.To(GameState.Highscore)); }
private void OnGameStateChangedEvent(GameStateChangedEvent e) { UpdateTutorial(e.stateType); switch (e.stateType) { case GameStateType.LoadScene: break; case GameStateType.LevelSetup: break; case GameStateType.ExamineLevel: transitionPanel.SetActive(false); startPlottingButton.SetActive(true); restartButton.SetActive(false); rePlotButton.SetActive(false); break; case GameStateType.Plotting: startPlottingButton.SetActive(false); plotConfirmButton.SetActive(true); plotResetButton.SetActive(true); break; case GameStateType.SimulateLevel: PlaySimulationCountdown(); plotConfirmButton.SetActive(false); plotResetButton.SetActive(false); rePlotButton.SetActive(true); break; case GameStateType.TransitionToNextLevel: SetLevelTransition(); break; default: break; } }
public Application() { Game = new GameLogic(1024, 768, resourceManager); Views = new List <IGameView>(); Views.Add(new PlayerView(Game)); Views.Add(new AiView(Game)); resourceManager.AddLoader(new DummyLoader()); #if DEBUG resourceManager.AddWiper(new DebugWiper()); #endif resourceManager.AddWiper(new FileUpdater()); Game.EventManager.Queue(GameStateChangedEvent.To(GameState.StartUp)); Game.EventManager.Queue(GameStateChangedEvent.To(GameState.Menu)); registerGameEventListeners(); }
public void OnEvent(Event evt) { switch (evt.Type) { case GameStateChangedEvent.GAME_STATE_CHANGED: { GameStateChangedEvent stateChangedEvent = evt as GameStateChangedEvent; if (stateChangedEvent.NewState != GameState.Running) { clock.Stop(); } else { clock.Start(); } break; } case DebugEvent.SINGLE_STEP: { clock.SingleStep(); break; } case DebugEvent.DECREASE_SPEED: { clock.TimeScale -= 0.1f; break; } case DebugEvent.INCREASE_SPEED: { clock.TimeScale += 0.1f; break; } case DebugEvent.RESET_SPEED: { clock.TimeScale = 1.0f; break; } } }
public void OnKeyUp(object sender, KeyEventArgs e) { e.Handled = true; switch (e.KeyCode) { case Keys.P: goto case Keys.Pause; case Keys.Pause: if (game.IsRunning || game.State == GameState.Paused) { eventManager.Queue(GameStateChangedEvent.To(GameState.Paused)); } break; case Keys.Escape: eventManager.Queue(GameStateChangedEvent.To(GameState.Menu)); break; // Debug Keys case Keys.F9: eventManager.Trigger(new DebugEvent(DebugEvent.DECREASE_SPEED)); break; case Keys.F10: eventManager.Trigger(new DebugEvent(DebugEvent.SINGLE_STEP)); break; case Keys.F11: eventManager.Trigger(new DebugEvent(DebugEvent.INCREASE_SPEED)); break; case Keys.F12: eventManager.Trigger(new DebugEvent(DebugEvent.RESET_SPEED)); break; default: e.Handled = false; break; } }
private void changeState(GameState newState) { GameState oldState = State; this.State = newState; switch (newState) { case GameState.StartUp: loadResources(); break; case GameState.Menu: if (oldState == GameState.Menu) { State = GameState.Running; EventManager.Queue(GameStateChangedEvent.To(GameState.Running)); } break; case GameState.Loading: reset(); initialize(); EventManager.Queue(GameStateChangedEvent.To(GameState.Running)); break; case GameState.Running: break; case GameState.Paused: if (oldState == GameState.Paused) { State = GameState.Running; EventManager.Queue(GameStateChangedEvent.To(GameState.Running)); } break; } }
private void OnGameStateChaged(GameStateChangedEvent e) { _gameState = e.GameState; switch (_gameState) { case GameState.Menu: _startButton.gameObject.SetActive(true); _gameOver.gameObject.SetActive(false); _score.gameObject.SetActive(false); break; case GameState.Playing: _startButton.gameObject.SetActive(false); _gameOver.gameObject.SetActive(false); _score.gameObject.SetActive(true); break; case GameState.GameOver: _startButton.gameObject.SetActive(true); _gameOver.gameObject.SetActive(true); _score.gameObject.SetActive(true); break; } }
public bool Tick() { List <Event> queueToProcess = ActiveQueue; swapActiveQueue(); ActiveQueue.Clear(); foreach (Event evt in queueToProcess) { Trigger(evt); // Otherwise queueToProcess will be cleared while iterating over it, which will cause an Exception if (evt is GameStateChangedEvent) { GameStateChangedEvent e = (GameStateChangedEvent)evt; if (e.NewState == GameState.Loading) { break; } } } return(true); }
private void OnGameStateChanged(GameStateChangedEvent e) { switch (e.stateType) { case GameStateType.LoadScene: AddSceneLevel(); break; case GameStateType.LevelSetup: ClearLevel(); RetreiveCurrentLevelData(); SetupLevelElements(); GameEventManager.Instance.TriggerSyncEvent(new GameStateCompletedEvent(GameStateType.LevelSetup)); break; case GameStateType.ExamineLevel: GameEventManager.Instance.TriggerSyncEvent(new SetCurrentLevelID(currentLevelID)); break; case GameStateType.Plotting: plotter.SetActive(true); plotter.GetComponent <PathPlotter>().Initialize(); break; case GameStateType.SimulateLevel: plotter.GetComponent <PathPlotter>().DestroyPlotterLine(); plotter.SetActive(false); break; case GameStateType.TransitionToNextLevel: StartCoroutine(LoadNextLevel()); break; } }
private void QuitButton_Click(object sender, EventArgs e) { eventManager.Queue(GameStateChangedEvent.To(GameState.Quit)); }
private void CreditsButton_Click(object sender, EventArgs e) { eventManager.Queue(GameStateChangedEvent.To(GameState.Credits)); }
private void HighscoreButton_Click(object sender, EventArgs e) { eventManager.Queue(GameStateChangedEvent.To(GameState.Highscore)); }
private void NewGameButton_Click(object sender, EventArgs e) { eventManager.Queue(GameStateChangedEvent.To(GameState.Loading)); }
protected async Task OnGameStateChangedEventAsync(GameStateChangedEvent evt) => await OnEventAsync(evt);
private void OnGameStateChanged(GameStateChangedEvent evt) { // reset default shader settings between game state changes GameUtils.SetShaderDefaults(); }
private Task OnGameStateChangedDomainEventAsync(GameStateChangedDomainEvent evt) { var gameDto = DomainGameService.MapToGameDto(evt.Game); return(PublishIfEnabledAsync(GameStateChangedEvent.FromGame(gameDto))); }
public void OnEvent(Event evt) { switch (evt.Type) { case NewEntityEvent.NEW_ENTITY: { var newEntityEvent = (NewEntityEvent)evt; Entity entity = Game.World.Entities[newEntityEvent.EntityID]; if (entity.Type.StartsWith("alien_")) { OnAttach(entity); } else if (entity.Type.Equals("mystery_ship")) { mysteryShip = entity; } break; } case DestroyEntityEvent.DESTROY_ENTITY: { var destroyEntityEvent = (DestroyEntityEvent)evt; Entity entity = Game.World.Entities[destroyEntityEvent.EntityID]; if (entity.Type.StartsWith("alien_")) { OnDetach(entity); } else if (entity.Type.Equals("mystery_ship")) { mysteryShip = null; } if (shooter != null && entity.ID == shooter.ID) { shooter = null; } break; } case GameStateChangedEvent.GAME_STATE_CHANGED: { var stateChangedEvent = (GameStateChangedEvent)evt; onGameStateChanged(stateChangedEvent.NewState); break; } case AiUpdateMovementEvent.AT_BORDER: { var aiMovementUpdateEvent = (AiUpdateMovementEvent)evt; Vector2D borderData = aiMovementUpdateEvent.BorderData; if (borderData.Y < 0) { // Victory for the Invaders! EventManager.Trigger(GameStateChangedEvent.To(GameState.GameOver)); } currentDirection.X = -borderData.X; currentDirection.Y = -1; movementDirectionChanged = true; break; } } }