同时加载所有玩家Unity和PUN2

问题描述 投票:1回答:1

我正在尝试创建一种方法,使所有已连接的玩家都选择一个角色来同时进入游戏世界。我试图做的是,当任何人选择一个字符时,它将向RPC发送到主客户端,在此我希望主客户端增加变量“ playerReady”。一旦“ playerReady” =连接的总人数改变了现场。我不确定如何在主客户端上增加“ playerReady”变量

当前代码段

[PunRPC]
    private void RPCPlayerReady(int playerReady)
    {
        playerReady++;
    }

    public void OnGUI()
    {
        switch (state)
        {
            case 0:

                // Got to be a better way of doing this
                if (GUI.Button(new Rect(40, 40, 200, 20), "Cubey"))
                {
                    selectedHero = "PlayerTest";
                    state = 1;
                }

                if (GUI.Button(new Rect(40, 70, 200, 20), "Other"))
                {
                    state = 1;
                }
                break;

            case 1:

                if (PhotonNetwork.MasterClient.IsMasterClient)
                {
                    PV.RPC("RPCPlayerReady", RpcTarget.MasterClient, playerReady);
                    if (playerReady == PhotonNetwork.PlayerList.Length)
                    {
                        PhotonNetwork.LoadLevel(3);
                    }                   
                }
                else
                {
                    PV.RPC("_RPCPlayerReady", RpcTarget.MasterClient, playerReady);
                }
                break;             
        }

    }

案例0是玩家选择英雄的地方,案例1是我试图做我遇到问题的逻辑的地方

[我知道必须有一种更好的方式来处理案例0,并且可能不会在switch语句中进行任何处理,任何建议也将受到极大的赞赏]]

我正在尝试创建一种方法,使所有已连接的玩家都选择一个角色来同时进入游戏世界。我正在尝试执行的操作...

c# unity3d photon
1个回答
0
投票
private void RPCPlayerReady(int playerReady)
    {
        playerReady++;
    }
© www.soinside.com 2019 - 2024. All rights reserved.