コード例 #1
0
    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();
    }
コード例 #2
0
    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);
        }
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
            }
        }
    }
コード例 #5
0
 public Color GetPlayerColor(PlayerMovement.PlayerNumber playerNumber)
 {
     return(playerColors[playerNumber]);
 }