bool ChangeState(GameState newState) { if (state == newState) { return(false); } switch (state) //by exiting this state { case GameState.Desktop: break; case GameState.Tutorial: if (tutorial) { tutorial.AbortTutorial(); } //else //tutorialFlag += tutorial.AbortTutorial;//TODO: flag setzten break; case GameState.Playing: LogSystem.LogOnFile("===== ===== Game has Ended ===== ====="); NewsSource.StopGeneration(); GameManager.MessengerHandler.DeleteAllMessages(); if (timer) { timer.ChangeStateToTimeShort(); } //else //timerFlag += timer.ChangeStateToTimeShort;//TODO: flag setzten break; case GameState.EndScreen: if (end) { end.Close(); } correctMarkedArticles = 0; wronglyMarkedArticlesAsFalse = 0; wronglyMarkedArticlesAsTrue = 0; break; default: break; } state = newState; switch (state) //by entering this state { case GameState.Desktop: break; case GameState.Tutorial: PlayerID = Random.Range(0, 9999999); LogSystem.LogOnNewFile("===== ===== Started Tutorial ===== ====="); LogSystem.LogOnFile("PlayerID = " + PlayerID); if (tutorial) { tutorial.StartTutorial(); } //else //tutorialFlag += tutorial.StartTutorial;//TODO: flag setzten break; case GameState.Playing: timeLeft = timeToPlayInSeconds; LogSystem.LogOnFile("===== ===== New Game Started ===== ====="); NewsSource.StartGeneration(); if (timer) { timer.ChangeStateToCountdown(); } //else //timerFlag += timer.ChangeStateToCountdown;//TODO: flag setzten ProgressionManager.RestartCounter(); break; case GameState.EndScreen: LogSystem.LogOnFile("Correct: " + correctMarkedArticles + ". False positive: " + wronglyMarkedArticlesAsTrue + ". False negative: " + wronglyMarkedArticlesAsFalse); if (end) { end.Show(); } break; default: break; } return(true); }