/// <summary> /// Shows the rescue screen. /// </summary> /// <returns>The rescue screen.</returns> /// <param name="reason">Reason.</param> IEnumerator ShowRescueScreen(GameOverReason reason) { #region time mode if (GameController.gameMode == GameMode.TIMED || GameController.gameMode == GameMode.CHALLENGE) { GamePlay.Instance.timeSlider.PauseTimer(); } #endregion switch (reason) { case GameOverReason.OUT_OF_MOVES: //txtAlertText.SetLocalizedTextForTag ("txt-out-moves"); break; case GameOverReason.BOMB_COUNTER_ZERO: //txtAlertText.SetLocalizedTextForTag ("txt-bomb-blast"); break; case GameOverReason.TIME_OVER: //txtAlertText.SetLocalizedTextForTag ("txt-time-over"); break; } yield return(new WaitForSeconds(0.5F)); alertWindow.SetActive(true); yield return(new WaitForSeconds(1.5F)); alertWindow.SetActive(false); GamePlay.Instance.OnGameOver(); //StackManager.Instance.SpawnUIScreen ("Rescue"); }
public static void Prefix([HarmonyArgument(0)] GameOverReason gameOverReason) { if (!TryGetSpecialRole(out Survivor survivor)) { return; } if (TempData.DidHumansWin(gameOverReason)) { survivor.Owner.Data.IsImpostor = survivor.Owner.Data.IsDead; if (!survivor.Owner.Data.IsDead) { return; } TempData.winners.Remove(TempData.winners.ToArray() .FirstOrDefault(winner => winner.Name.Equals(survivor.Owner.Data.PlayerName))); } else if (gameOverReason != GameOverReason.ImpostorBySabotage) // Impostor won without Sabotage { survivor.Owner.Data.IsImpostor = !survivor.Owner.Data.IsDead; if (survivor.Owner.Data.IsDead) { return; } TempData.winners.Add(new WinningPlayerData(survivor.Owner.Data)); } }
private void EndGame(GameOverReason cause) { Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); PlayerPrefs.SetString(Consts.PlayerDied, (cause == GameOverReason.Death || cause == GameOverReason.Quit).ToString()); PlayerPrefs.SetInt(Consts.Score, GameScore); SceneManager.LoadScene(Consts.GameOverSceneName); }
public static void Prefix([HarmonyArgument(0)] GameOverReason gameOverReason) { if (!TryGetSpecialRole(out GuardianAngel guardianAngel)) { return; } if (TempData.DidHumansWin(gameOverReason)) { guardianAngel.Owner.Data.IsImpostor = guardianAngel.ProtectTarget.Data.IsDead; if (!guardianAngel.ProtectTarget.Data.IsDead) { return; } TempData.winners.Remove(TempData.winners.ToArray() .FirstOrDefault(winner => winner.Name.Equals(guardianAngel.Owner.Data.PlayerName))); } else if (gameOverReason != GameOverReason.ImpostorBySabotage) // Impostor won without Sabotage { guardianAngel.Owner.Data.IsImpostor = !guardianAngel.ProtectTarget.Data.IsDead; if (guardianAngel.ProtectTarget.Data.IsDead) { return; } TempData.winners.Add(new WinningPlayerData(guardianAngel.Owner.Data)); } }
public static async Task EndGame(GameOverReason gameOverReason) { if (!_instance.isServerActive) { return; } LogInfo("EndGame"); // Dayを終了 await EndDay(); // ゲーム終了理由を更新 using (var client = new HttpClient()) { string url = _instance.url + _instance.gameId.ToString() + "/"; var response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { string data = await response.Content.ReadAsStringAsync(); ResGame retGame = JsonConvert.DeserializeObject <ResGame>(data); retGame.gameOverReason = (int)gameOverReason; string json = JsonConvert.SerializeObject(retGame); var content = new StringContent(json, Encoding.UTF8); response = await client.PutAsync(url, content); } else { _instance.isServerActive = false; } } }
public void game_over(GameOverReason reason) { if (state == State.exiting) { return; } if (state != State.playing_wave) { return; } state = State.game_over; if (reason == GameOverReason.timeout) { if (timeout_gameover_display != null) { StopCoroutine(timeout_gameover_display); } timeout_gameover_display = game_over_timeout_display(); StartCoroutine(timeout_gameover_display); } else { timeout.stop(); } }
public void GameOver(GameOverReason gameOverReason) { GameOverMenu.GameOverReason = gameOverReason; GameOverMenu.Score = Player.Score; AppInsights.GameOver(gameOverReason); ChangeState(GameState.GameOver); }
public static void Postfix(AmongUsClient __instance, ref GameOverReason gameOverReason, bool showAd) { MuteBot.LogInfo("OnGameEndPatch"); MuteBot.GetInstance().isGameEnded = true; Task.Run(() => MuteBot.UpdateStatus(GameStatus.Lobby)); return; }
private static void Prefix([HarmonyArgument(0)] GameOverReason reason) { if (reason.IsCustom()) { CustomGameOverReasonManager.Winners = CustomGameOverReasonManager.EndReason.Winners.Select(p => new WinningPlayerData(p)).ToList(); CustomGameOverReasonManager.ShownWinners = CustomGameOverReasonManager.EndReason.ShownWinners.Select(p => new WinningPlayerData(p)).ToList(); } }
public static void Prefix(AmongUsClient __instance, ref GameOverReason OFLKLGMHBEL, bool JFFPAKGPNJA) { gameOverReason = OFLKLGMHBEL; if ((int)OFLKLGMHBEL >= 10) { OFLKLGMHBEL = GameOverReason.ImpostorByKill; } }
public static bool Prefix(ShipStatus __instance, [HarmonyArgument(0)] GameOverReason reason) { EndGameEvent endEvent = new EndGameEvent(__instance, reason); GameEventManager.callEndGame(endEvent); return(true); }
public static void Postfix(AmongUsClient __instance, ref GameOverReason NEPMFBMGGLF, bool FBEKDLNKNLL) { Recorder.LogInfo("OnGameEndPatch"); GameOverReason gameOverReason = NEPMFBMGGLF; Task.Run(() => Recorder.EndGame(gameOverReason)); return; }
public static void Postfix(AmongUsClient __instance, [HarmonyArgument(0)] GameOverReason reason, [HarmonyArgument(0)] bool showAd) { Utils.potentialWinners.Clear(); foreach (var player in PlayerControl.AllPlayerControls) { Utils.potentialWinners.Add(new WinningPlayerData(player.Data)); } }
public static void Prefix(AmongUsClient __instance, [HarmonyArgument(0)] ref GameOverReason reason, [HarmonyArgument(1)] bool showAd) { gameOverReason = reason; if ((int)reason >= 10) { reason = GameOverReason.ImpostorByKill; } }
public void TriggerGameLost(GameOverReason reason) { // We od this because the spawner will persist into the next scene and could keep spawning goals otherwise. spawner.StopSpawning(); IsGameEnded = true; GameEndedEvent(); GameLostEvent(reason); }
public void HandlePlayerDied() { if (IsPlaying) { mGameOverReason = GameOverReason.PlayerDied; mGameState = GameState.GameOver; mAutoAdvanceCountdown.Start(GameConsts.AutoRetryTime); } audio.Stop(); }
private void OnGameOver(GameOverReason gameOverReasonType) { _viewTimer.Stop(); var text = gameOverReasonType == GameOverReason.HeadBlown ? "Oh shit your head has blown! XD" : "Your can't left move than one tail! :("; MessageBox.Show(text, "Game is over!"); this.Close(); }
public IEnumerator GameOverWithAnItsyBitsyTeenyWeenyNoImmediateDeathMachiney( GameOverReason reason = GameOverReason.Undefined) { IsGameOver = true; AudioController.Instance.PlaySound("GameOverSound"); AudioController.Instance.StopAllMusic(); yield return(new WaitForSeconds(1)); GameOver(reason); }
public void Initialize(int totalMatchTime, SO_Dish[] expectedDishes) { LocalPlayerControllerSpawned = false; MatchStarted = false; MatchOver = false; ExpectedDishes = expectedDishes; TimeLeft = totalMatchTime; WonTheMatch = false; GameOverReason = GameOverReason.GAME_NOT_OVER; PlayerCookingPots = new Dictionary <int, CookingPot>(); }
public void GameOver(GameOverReason reason = GameOverReason.Undefined) { if (!IsGameOver) { AudioController.Instance.PlaySound("GameOverSound"); AudioController.Instance.StopAllMusic(); } Debug.Log("GameOver Reason: " + Enum.GetName(typeof(GameOverReason), reason)); IsGameOver = true; gameOverOverlay.SetActive(true); ScoreController.Instance.UpdateGameOverPanel(); }
private void RpcChangeGameState(GameState newState, GameOverReason reason) { if (isServer) { return; } gameState = newState; if (gameState == GameState.Over) { gameOverReason = reason; RoundEnding(); } }
private void SetupAndEnable(GameOverReason reason) { ReasonTranslationData matchingTranslation = reasonsTranslation.FirstOrDefault(translation => translation.Reason == reason); string translatedReason = matchingTranslation.Equals(default(ReasonTranslationData)) ? string.Empty : matchingTranslation.Translation; string translatedTitle = matchingTranslation.Equals(default(ReasonTranslationData)) ? string.Empty : matchingTranslation.Title; reasonContainer.text = translatedReason; titleContainer.text = translatedTitle; Enable(); }
public void HandleCivilianDestroyed() { if (IsPlaying) { // civilians killed - end level mGameOverReason = GameOverReason.CiviliansDied; mGameState = GameState.GameOver; mAutoAdvanceCountdown.Start(GameConsts.AutoRetryTime); // destroy player GameObject p = GameObject.FindGameObjectWithTag("Player"); p.GetComponent <PlayerController>().KillPlayer(); } }
public void GameOver(GameOverReason reason) { var properties = GetPropertiesDictionary(); properties.Add("GameOverReason", reason.ToString()); var metrics = new Dictionary <string, double> { { "Num Levels", TheLastSliceGame.LevelManager.Levels.Count }, { "Seconds Played", (DateTime.Now - StartTime).TotalSeconds }, }; TelemetryClient.TrackEvent("GameOver", properties, metrics); }
//game over event and state handling public void GameOver(GameOverReason reason) { if (reason == GameOverReason.gameOverTimeOut) { } else if (reason == GameOverReason.allLiveLost) { } else if (reason == GameOverReason.badItemCollected) { } gameState = GameState.inMenu; ViewGameOver.instance.PopulateGameOverUI(); CollectibleSpawner.instance.RemoveFishes(); }
protected bool CheckCollideWithEgg(Collider2D collider, GameOverReason reason, string detail) { if (null != collider && collider.gameObject == GameController.GetSingleton().levelsController.eggController.gameObject) { ColliderDistance2D dis = collider.Distance(gameObject.GetComponent <Collider2D>()); Log.Info("xxx {0} {1} {2}", dis.distance, dis.isOverlapped, detail); if (dis.distance < 0.1 || dis.isOverlapped) { GameController.GetSingleton().levelsController.levelController.GameOver(transform, reason, detail); return(true); } } return(false); }
public void LoseGame(GameOverReason gameOverReason) { if (_gameOver) { return; } _gameOver = true; if (gameOverReason == GameOverReason.NoPossibleMove) { UIManager.Instance.SetGameOverReason("No Possible Move"); } else if (gameOverReason == GameOverReason.BombExploded) { UIManager.Instance.SetGameOverReason("Bomb Exploded"); } StartCoroutine(LoseGameRoutine()); }
public static bool Prefix(ShipStatus __instance, [HarmonyArgument(0)] GameOverReason reason) { if (reason != GameOverReason.HumansByVote && reason != GameOverReason.HumansByTask) { return(true); } if (Utils.Jester == null) { return(true); } var writer = AmongUsClient.Instance.StartRpcImmediately(PlayerControl.LocalPlayer.NetId, (byte)CustomRPC.JesterLose, SendOption.Reliable, -1); AmongUsClient.Instance.FinishRpcImmediately(writer); Utils.Jester.Data.IsImpostor = true; return(true); }
public void ShowData(GameOverReason reason) { switch (reason) { case GameOverReason.BlackHole: { reasonText.text = "THE BLACK HOLE TOOK YOU."; tipText.text = "Tip: Flying near the black hole is a great way to increase your speed, just make sure not to get too close."; break; } case GameOverReason.Asteroid: { reasonText.text = "YOU HIT AN ASTEROID."; tipText.text = "Tip: You can reduce your speed by avoiding the black hole."; break; } } }
public async ValueTask HandleEndGame(IMessageReader message, GameOverReason gameOverReason) { GameState = GameStates.Ended; // Broadcast end of the game. using (var packet = MessageWriter.Get(MessageType.Reliable)) { message.CopyTo(packet); await SendToAllAsync(packet); } // Put all players in the correct limbo state. foreach (var player in _players) { player.Value.Limbo = LimboStates.PreSpawn; } await _eventManager.CallAsync(new GameEndedEvent(this, gameOverReason)); }
/// <summary> /// Dos the game over. /// </summary> /// <param name="aGameOverReason">A game over reason.</param> public void doGameOver (GameOverReason aGameOverReason) { _lastGameOverReason = aGameOverReason; _doGameOver_Part1(); }
void GameOver(GameOverReason reason) { switch(reason) { case GameOverReason.HIT_SNAKE: gameOverText.GetComponent<Text>().text = "You ran into yourself!\n"; break; case GameOverReason.HIT_WALL: gameOverText.GetComponent<Text>().text = "You ran into the wall!\n"; break; case GameOverReason.INCORRECT_ANSWER: gameOverText.GetComponent<Text>().text = "Incorrect Answer!\n"; break; default: gameOverText.GetComponent<Text>().text = "Unknown Reason!\n"; break; } currentSnakeHead.GetComponent<SnakeHead>().cycling = false; gameOverText.GetComponent<Text>().text += "Game Over\nCorrect Answer: " + answerObject.name + "\n\nPress Enter to Restart"; gameOverText.GetComponent<Text>().enabled = true; gameOver = true; }
//GameOver is called when the player reaches 0 food points public void GameOver(GameOverReason reason) { string failMessage = "YOU WERE REMOVED FROM COURT\n"; switch (reason) { case GameOverReason.WINE: failMessage += "You ran out of wine before reaching the King."; break; case GameOverReason.TIME: failMessage += "You ran out of time before reaching the King."; break; case GameOverReason.SHADOWS: failMessage += "You spent too long skulking in the shadows."; break; case GameOverReason.ATTEMPTED_REGICIDE: failMessage += "TOO CLOSE."; break; } ShowGameOverMessage(failMessage); //Disable this GameManager. enabled = false; }
public void HandleCivilianDestroyed() { if (IsPlaying) { // civilians killed - end level mGameOverReason = GameOverReason.CiviliansDied; mGameState = GameState.GameOver; mAutoAdvanceCountdown.Start(GameConsts.AutoRetryTime); // destroy player GameObject p = GameObject.FindGameObjectWithTag("Player"); p.GetComponent<PlayerController>().KillPlayer(); } }