private void OnPlayerJoined(PlayerInput p)
    {
        RawPlayerInput playerInput = p.gameObject.GetComponent <RawPlayerInput>();

        players.Add(playerInput);
        assignID(playerInput);
        foreach (RawPlayerInput player in players)
        {
            switch (player.playerId)
            {
            case PLAYERID.BLUE:
                playerIcons[0].SetActive(true);
                break;

            case PLAYERID.RED:
                playerIcons[1].SetActive(true);
                break;

            case PLAYERID.GREEN:
                playerIcons[2].SetActive(true);
                break;

            case PLAYERID.YELLOW:
                playerIcons[3].SetActive(true);
                break;
            }
        }
        //playerInput.assignMenuControls(inputModule);
    }
    //Assign a player input their unique color on creation
    public void assignID(RawPlayerInput newPlayer)
    {
        //If the playerID isn't being used, assign it to a player
        if (!usedIDs.Contains(PLAYERID.BLUE))
        {
            newPlayer.assignId(PLAYERID.BLUE);
            usedIDs.Add(PLAYERID.BLUE);
            return;
        }
        if (!usedIDs.Contains(PLAYERID.RED))
        {
            newPlayer.assignId(PLAYERID.RED);
            usedIDs.Add(PLAYERID.RED);
            return;
        }
        if (!usedIDs.Contains(PLAYERID.GREEN))
        {
            newPlayer.assignId(PLAYERID.GREEN);
            usedIDs.Add(PLAYERID.GREEN);
            return;
        }
        if (!usedIDs.Contains(PLAYERID.YELLOW))
        {
            newPlayer.assignId(PLAYERID.YELLOW);
            usedIDs.Add(PLAYERID.YELLOW);
            return;
        }

        Debug.LogError("More players than there should be");
    }
Exemple #3
0
    public void assignController(RawPlayerInput input)
    {
        inputDevice = input.controller;
        switch (input.playerId)
        {
        case PLAYERID.BLUE:
        {
            GetComponentInChildren <SkinnedMeshRenderer>().material.color = Color.blue;
            break;
        }

        case PLAYERID.RED:
        {
            GetComponentInChildren <SkinnedMeshRenderer>().material.color = Color.red;
            break;
        }

        case PLAYERID.GREEN:
        {
            GetComponentInChildren <SkinnedMeshRenderer>().material.color = Color.green;
            break;
        }

        case PLAYERID.YELLOW:
        {
            GetComponentInChildren <SkinnedMeshRenderer>().material.color = Color.yellow;
            break;
        }
        }
    }