public void SetColor(PlayerMovement.PlayerNumber pN, Color newColor) { if (pN != playerNumber) { return; } foreach (var item in colorSetters) { if (item == null) { return; } var colors = new Color[item.mesh.vertices.Length]; for (int i = 0; i < colors.Length; i++) { colors[i] = newColor; } item.mesh.SetColors(colors); } paddleGO.SetActive(true); audioSource1.Play(); audioSource2.Play(); }
void OpenDoor(PlayerMovement.PlayerNumber p, Color col) { var pm = ServiceLocator.Current.Get <PlayerManager>(); if (pm.GetPlayerColor(PlayerMovement.PlayerNumber.One) != Color.white && (pm.GetPlayerColor(PlayerMovement.PlayerNumber.Two) != Color.white || !twoPlayerController.TwoPlayer)) { screen.material = playMat; gameObject.SetActive(false); } }
public void SetPlayerColor(PlayerMovement.PlayerNumber playerNumber, Color newColor) { foreach (KeyValuePair <PlayerMovement.PlayerNumber, Color> value in playerColors) { if (playerNumber == value.Key) { continue; } if (value.Value == newColor) { return; } } Debug.Log($"Setting {playerNumber} to {newColor}"); playerColors[playerNumber] = newColor; OnPlayerColorUpdated?.Invoke(playerNumber, newColor); }
private void Start() { playerNumber = GetComponent <PlayerMovement>().playerNum; PlayerManager.OnPlayerColorUpdated += SetColor; if (ServiceLocator.Current.Get <PlayerManager>().GetPlayerColor(playerNumber) != Color.white) { paddleGO.SetActive(true); SetColor(playerNumber, ServiceLocator.Current.Get <PlayerManager>().GetPlayerColor(playerNumber)); } else { paddleGO.SetActive(false); if (SceneManager.GetActiveScene().name == "PlayingField") { paddleGO.SetActive(true); } } }
public Color GetPlayerColor(PlayerMovement.PlayerNumber playerNumber) { return(playerColors[playerNumber]); }