public void MakeGuess(string guess) { GuessMade e = new GuessMade(Guid.NewGuid().ToString(), this.Id, guess, this.Level); e.Handle(this); PublishEvent(e); if (CurrentRiddle.Solution.Trim().Equals(guess)) { bool completed = this.Level == MaxLevel; int nextLevel = completed ? this.Level : this.Level + 1; IEvent levelSucceeded = new LevelSucceeded(this.Id, this.Level, nextLevel, this.Score + 1 * Level, e.GuessId); levelSucceeded.Handle(this); PublishEvent(levelSucceeded); if (completed) { IEvent gameCompleted = new GameCompleted(this.Id); gameCompleted.Handle(this); PublishEvent(gameCompleted); } } else { int newScore = (this.Score - 1) < 0 ? 0 : this.Score - 1; IEvent levelFailed = new LevelFailed(this.Id, newScore, e.GuessId); levelFailed.Handle(this); PublishEvent(levelFailed); } }
public void ShowMainMenu() { LoadMenuLevel(); GamePanel.SetActive(false); PauseMenu.SetActive(false); HelpPanel.SetActive(false); LevelPickerPanel.SetActive(false); LevelPickerContainerContainer.SetActive(false); //LevelPickerContainerFunContainer.SetActive(false); //LevelPickerContainerCommunityContainer.SetActive(false); LevelFailed.SetActive(false); LevelComplete.SetActive(false); MainMenu.SetActive(true); SetCameraPosition(true); SetCameraTouchX(false); if (MainMenu.activeSelf) { //if (!EventSystem.current.alreadySelecting) EventSystem.current.SetSelectedGameObject(PlayButton); } _canStartMoving = true; }
/// <summary> /// Triggers the Game Over State /// </summary> private void TriggerLevelFailed() { //Set it to be nobody's turn CurrentTurn = GameTurn.TURN_NONE; //Send Level Failed Event LevelFailed?.Invoke(); }
public void Kill(string message = "Beware of beasts and blackholes!") { _lives = 0; _canStartMoving = false; LevelFailed.transform.Find("Reason").GetComponent <TMPro.TMP_Text>().text = message; LevelFailed.SetActive(true); EventSystem.current.SetSelectedGameObject(LevelFailedButton); Time.timeScale = 0; }
public void HideMainMenu() { GamePanel.SetActive(false); PauseMenu.SetActive(false); MainMenu.SetActive(false); HelpPanel.SetActive(false); LevelPickerPanel.SetActive(false); LevelFailed.SetActive(false); LevelComplete.SetActive(false); SetCameraPosition(false); }
private void Handle(LevelFailed e) { GameReadModel grm = this._context.Games.FirstOrDefault(game => game.Id == e.Id); grm.Score = e.NewScore; GuessReadModel sourceGuess = this._context.Guesses.FirstOrDefault(g => g.Id == e.GuessId && g.GuessStatus == "unknown"); sourceGuess.GuessStatus = "wrong"; this._context.SaveChanges(); }
/// <summary> /// Change the current level state /// </summary> /// <param name="state"></param> protected virtual void ChangeLevelState(LevelState newState) { if (CurrentLevelState == newState) { return; } LevelState oldState = CurrentLevelState; CurrentLevelState = newState; LevelStateChanged?.Invoke(oldState, newState); switch (newState) { case LevelState.Complete: LevelStats.time = LevelTime - TimeLeft; LevelComplete?.Invoke(); break; case LevelState.Failed: LevelFailed?.Invoke(); break; } }
void Start() { script = GameObject.Find("EndGate").GetComponent <LevelFailed>(); }
/// <summary> /// Triggers actions to end the current game with a fail state /// </summary> private void TriggerLevelFailed() { //Fire Event to end game LevelFailed?.Invoke(); }
public static void CallLevelFailed() { LevelFailed?.Invoke(); }