Ejemplo n.º 1
0
    void UpdatePerPlayer()
    {
        int    currentAlivePlayers = 0;
        string playerUIName        = "Player";
        int    playerIndex         = 0;

        //print(players[3].name);

        foreach (AirplaneManager player in players)
        {
            if (!player.health.Dead)
            {
                currentAlivePlayers++;
            }

            if (state >= GameState.PreRound &&
                state <= GameState.RoundEnd)
            {
                string temporaryName = playerUIName + " " + (playerIndex + 1).ToString();                       //Replace me later with real names.
                ui.DrawPlayerScore(playerIndex, temporaryName, player.wins);
            }


            switch (state)
            {
            case GameState.PreGame:                     //Never goes in here atm

                player.EnableInput(false);
                player.EnableFlight(false);

                break;

            case GameState.PreRound:

                if (GlobalVariables.inputs[playerIndex] != GlobalVariables.ControlType.Noone)
                {
                    GlobalVariables.ControlType inputTypeToUse = GlobalVariables.inputs[playerIndex];
                    player.SetInputType(inputTypeToUse);
                    print(inputTypeToUse);
                }

                player.EnableInput();
                player.EnableFlight();

                if (player.health.Dead)
                {
                    player.Revive();
                }

                player.ResetPosition();
                player.ResetSmasherPosition();

                break;

            case GameState.Round:

                if (!roundHasStarted)
                {
                    player.EnableInput();
                    player.EnableFlight();
                    roundHasStarted = true;
                }

                if (alivePlayers == 1 && !player.health.Dead)
                {
                    //This person wins the round.

                    if (!roundWinner)
                    {
                        roundWinner = player;
                        roundWinner.wins++;
                    }
                }

                break;

            case GameState.RoundEnd:

                break;

            case GameState.GameEnd:

                break;

            case GameState.None:

                break;
            }

            playerIndex++;
        }

        alivePlayers = currentAlivePlayers;
    }