// Update is called once per frame public void OnGameOver(Team winningTeam) { PlayEndGameAudio(winningTeam); GetComponent<Image>().color = winningTeam == Team.Traitor ? gameSceneManager.traitorColor : gameSceneManager.loyalColor; // continueButton.onClick.AddListener(gameSceneManager.GoToLobby); int numberOfTraitors = 0; foreach (PlayableCharacter player in FindObjectsOfType<PlayableCharacter>()) { if (player.startingTeam == Team.Traitor) { numberOfTraitors++; } if (player.startingTeam == winningTeam) { PlayerTile tile = Instantiate(playerNamePrefab, winnersGrid).GetComponent<PlayerTile>(); // Ensure the tile has started before we call Init tile.Start(); tile.Init(player); } } // Set winning text if (winningTeam == Team.Traitor) { if (numberOfTraitors == 1) { winningTeamText.text = "The traitor has won!"; } else { winningTeamText.text = "The traitors have won!"; } } else { winningTeamText.text = "The loyals have won!"; } gameObject.SetActive(true); StartCoroutine("SwitchScenes"); }
void AddPlayerTile(PlayableCharacter player) { PlayerTile tile = Instantiate(playerTile, transform).GetComponent <PlayerTile>(); player.playerTile = tile; player.playersUI = this; tile.Init(player); }