示例#1
0
    public void RpcEndGame(short winner, int[] teamScores)
    {
        if (!isLocalPlayer)
        {
            return;
        }
        MultiplayerManager.ClientNotifyGameEnd(winner);
        //Disable active camera controller, enable death camera controller
        activeCamera.GetComponent <BoatCameraNetworked>().enabled = false;
        activeCamera.GetComponent <OrbitalCamera>().enabled       = true;
        gameOver = true;

        //Set up game-over screen with relevant information
        GameObject endScreen = GameObject.Find("Canvas(Health)").transform.Find("EndScreen").gameObject;

        endScreen.SetActive(true);
        Text teamWin = endScreen.transform.Find("TeamWinText").GetComponent <Text>();

        teamWin.gameObject.SetActive(true);
        teamWin.text  = "Team " + MultiplayerManager.GetTeam(winner).teamName + " wins!";
        teamWin.color = MultiplayerManager.GetTeam(winner).teamColor;
        if (winner == team)
        {
            endScreen.transform.Find("YouWin").gameObject.SetActive(true);
        }
        else
        {
            endScreen.transform.Find("YouLose").gameObject.SetActive(true);
        }
        Text scoreText = endScreen.transform.Find("FinalScore").GetComponent <Text>();

        scoreText.text = "Scores: \n";
        for (short i = 0; i < MultiplayerManager.GetCurrentGamemode().NumTeams(); i++)
        {
            scoreText.text += MultiplayerManager.GetTeam(i).teamName + ": " + teamScores[i] + "\n";
        }
        //play sounds
        if (winner == team)
        {
            transform.Find("ShipSounds").Find("MatchWin").GetComponent <AudioSource>().Play();
        }
        else
        {
            transform.Find("ShipSounds").Find("MatchLose").GetComponent <AudioSource>().Play();
        }
        GameObject.Find("InGame").GetComponent <AudioSource>().volume = 0.1f;
        InputWrapper.CaptureKeyboard();
        InputWrapper.CaptureMouse();
    }