public void SwitchGamePhases() { switch (gamePhase) { case GamePhases.Day: //switches to night gamePhase = GamePhases.Night; SoundManager.instance.NightPhaseSound(); playerItemsUI.SetNightUI(); if (gameTimeUI.isTimerShown) { gameTimeUI.isTimerShown = false; } //shop.TeleportPlayersOutsideOfShop(); SetShopDoorActive(true); if (player.isWerewolf) { if (player.GETIsPicked) { if (player.box != null) { player.box.transform.parent = barrelManager.spawnRegions[0].barrelParent; player.playerSpeed = player.playerSpeed * 2; player.GETIsPicked = false; player.Unpick(); } } player.wereWolf.Transform(); ShowWolfHPBar(true); } else { player.nightHide = true; if (player.GETIsPicked) { if (player.box != null) { player.box.transform.parent = barrelManager.spawnRegions[0].barrelParent; player.playerSpeed = player.playerSpeed * 2; player.GETIsPicked = false; player.Unpick(); } } player.dayPickUp = false; } ShowNames(false); timer = nightTime; Debug.Log("Switching to Night"); fov.SetNightFOV(player.isWerewolf); if (!barrelManager.canStartGeneration) { barrelManager.canStartGeneration = true; } break; case GamePhases.Night: //switches to talk gamePhase = GamePhases.talk; SetPlayersAtVotingPosition(); playerItemsUI.SetDayUI(); if (!gameTimeUI.isTimerShown) { gameTimeUI.isTimerShown = true; } if (player.isWerewolf) { player.wereWolf.Transform(); ShowWolfHPBar(false); if (player.currentHp > 0) { if (isWerewolfFullHeal) { player.SetWereWolfHP(wolfStartHP, false); } else { player.SetWereWolfHP(1, false); } } } ShowNames(true); player.nightHide = false; if (player.GETIsPicked) { if (player.box != null) { player.box.transform.parent = barrelManager.spawnRegions[0].barrelParent; player.playerSpeed = player.playerSpeed * 2; player.GETIsPicked = false; player.Unpick(); } } chat.SetChatVisibility(true); timer = waitForVoteTime; StartTalkPhase(); Debug.Log("Switching to Talk"); fov.SetDayFOV(); UIManager.getInstance.shop.shopRef.GenerateNewShopRecipe(); barrelManager.GenerateBarrels(); camera.setCameraToGamePhase(true); break; case GamePhases.talk: //switches to Vote if (!gameTimeUI.isTimerShown) { gameTimeUI.isTimerShown = true; } votingArea.ShowVotingButtons(true); SetShopDoorActive(false); gamePhase = GamePhases.Vote; timer = voteTime; canVote = true; Debug.Log("Players can vote"); break; case GamePhases.Vote: //vote Result gamePhase = GamePhases.Vote_Result; votingArea.votingUI.voting.CheckVotes(); //if (killedPlayer != -1) // camera.SetCameraToKillVoted(); //else //{ // camera.NoOneWasVoted(); //} chat.SetChatVisibility(false); votingArea.ShowVotingButtons(false); canVote = false; if (!gameTimeUI.isTimerShown) { gameTimeUI.isTimerShown = false; } SoundManager.instance.MorningPhaseSound(); // doing weird bug to tele players break; default: break; } }