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"); }
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; } } }