// Use this for initialization void Start() { //fix this after testing to proper start states currentMstate = MAINSTATES.menu; currentGstate = PLAYINGSTATES.playerTurn; //create memory for the gamestate containeers gameImageBlocks = new List<GameObject>(); guessedLetters = new List<char>(); currentWord = new WordLibEntry(); highScores = new List<LeaderBoardEntry>(); StartCoroutine(LoadHighScores()); CreateGameImage(); LoadGameImage(); SetGameImageActive(false); enterState = false; playAgain = PLAYAGAINFLAG.notSelected; gameType = NEWGAMETYPE.newGame; SwitchMainState(MAINSTATES.menu); //SwitchPlayingState(PLAYINGSTATES.newGame); }
// Update is called once per frame void Update() { switch (currentMstate) { case MAINSTATES.menu: { if (enterState) { HideGameUI(); SetGameImageActive(false); //FormatHighScore(); enterState = false; } break; } case MAINSTATES.loading: { break; } case MAINSTATES.playing: { switch (currentGstate) { case PLAYINGSTATES.newGame: { if (enterState) { StartNewGame(); enterState = false; SwitchPlayingState(PLAYINGSTATES.playerTurn); } break; } case PLAYINGSTATES.playerTurn: { if (enterState) { enterState = false; } if (playerGuessed) { ProcessGuess(); ConvertGuessedLettersToString(); CheckWinLose(); playerGuessed = false; } TimerUpdate(); if (totalSeconds == GameLength) { //switch to gameOverState Debug.Log("Game time has expired!"); } break; } case PLAYINGSTATES.mainMenu: { break; } case PLAYINGSTATES.win: { if (enterState) { //GameObject.Find ("Win").GetComponent<CanvasGroup>().alpha = 1; ToggleWinUI(); ShowHiddenWord(); Debug.Log("YOU WIN!!! CONGRATS!"); enterState = false; } if (playAgain == PLAYAGAINFLAG.yes) { SwitchPlayingState(PLAYINGSTATES.newGame); gameType = NEWGAMETYPE.winGame; ToggleWinUI(); playAgain = PLAYAGAINFLAG.notSelected; } else if (playAgain == PLAYAGAINFLAG.no) { if (CheckHighScore(gameScore)) { ToggleWinUI(); SwitchPlayingState(PLAYINGSTATES.HighScore); } else { ToggleWinUI(); SwitchMainState(MAINSTATES.menu); } playAgain = PLAYAGAINFLAG.notSelected; } break; } case PLAYINGSTATES.loss: { if (enterState) { ToggleLossUI(); ShowHiddenWord(); Debug.Log("You Lose! Sorry try again"); enterState = false; } if (playAgain == PLAYAGAINFLAG.yes) { SwitchPlayingState(PLAYINGSTATES.newGame); gameType = NEWGAMETYPE.LoseGame; ToggleLossUI(); playAgain = PLAYAGAINFLAG.notSelected; } else if (playAgain == PLAYAGAINFLAG.no) { if (CheckHighScore(gameScore)) { ToggleLossUI(); SwitchPlayingState(PLAYINGSTATES.HighScore); } else { ToggleLossUI(); SwitchMainState(MAINSTATES.menu); } playAgain = PLAYAGAINFLAG.notSelected; } break; } case PLAYINGSTATES.HighScore: { if (enterState) { Debug.Log("ENTER YOUR HIGH SCORE YOU BADASS!"); ToggleEnterNameUI(); highScoreNameEntered = false; highScoreName = null; enterState = false; } if (highScoreNameEntered) { ToggleEnterNameUI(); UpdateHighScoreList(highScoreName, gameScore); FormatHighScore(); StartCoroutine(SaveHighScores()); SwitchMainState(MAINSTATES.menu); } break; } } break; } case MAINSTATES.pause: { break; } case MAINSTATES.quit: { break; } } }
public void PlayAgain(bool shallWePlayAgain) { if (shallWePlayAgain) playAgain = PLAYAGAINFLAG.yes; else if (!shallWePlayAgain) playAgain = PLAYAGAINFLAG.no; else playAgain = PLAYAGAINFLAG.notSelected; }