Пример #1
0
    void GetPlayersInTheRoom()
    {
        Netcode netCode = FindObjectOfType <Netcode>();

        NetworkClient.Lobby.GetPlayersInRoom((successful, reply, error) =>
        {
            if (successful)
            {
                Debug.Log("Got players " + reply);
                if (reply.players.Count == 1)
                {
                    setPlayerName();
                    LocalPlayerPic.SetActive(true);
                    LocalPlayerName.SetActive(true);
                }
                else
                {
                    setPlayerName();
                    LocalPlayerPic.SetActive(true);
                    LocalPlayerName.SetActive(true);
                    remote.SetActive(true);
                    if (NetworkClient.Lobby.IsOwner)
                    {
                        ShowReadyToStartUI();
                    }
                }
            }
            else
            {
                Debug.Log("Failed to get players " + error);
            }
        });
    }
Пример #2
0
    public void Awake()
    {
        win.SetActive(false);
        lose.SetActive(false);
        Debug.Log("Awaked");
        netCode          = FindObjectOfType <Netcode>();
        remoteEventAgent = gameObject.GetComponent <RemoteEventAgent>();
        //ตั้งค่าชื่อผู้เล่น
        NetworkClient.Lobby.GetPlayersInRoom((successful, reply, error) =>
        {
            if (successful)
            {
                foreach (SWPlayer swPlayer in reply.players)
                {
                    string playerName = swPlayer.GetCustomDataString();
                    string playerId   = swPlayer.id;

                    if (playerId.Equals(NetworkClient.Instance.PlayerId))
                    {
                        Debug.Log("local player name : " + playerName);
                        localPlayer_name.text = playerName;
                        gm.setHostPlayer(playerId, playerName);
                        Debug.Log("set " + gm.hostPlayer.getName() + " to host player.");
                    }
                    else
                    {
                        Debug.Log("remote player name : " + playerName);
                        remotePlayer_name.text = playerName;
                        gm.setRemotePlayer(playerId, playerName);
                        Debug.Log("set " + gm.remotePlayer.getName() + " to remote player.");
                    }
                }
            }
            else
            {
                Debug.Log("Failed to get players in room.");
            }
            if (NetworkClient.Lobby.IsOwner)
            {
                gm.setCurrentPlayer(gm.hostPlayer.getId());
                gm.setCurrentTargetPlayer(gm.remotePlayer.getId());
                Debug.Log("set " + gm.hostPlayer.getName() + " to current player.");
                Debug.Log("Current player is set. His name is " + gm.currentTurn);
                PlayerTurnText.text = "Your turn";
                OnTurnStarted();
            }
            else
            {
                gm.setCurrentPlayer(gm.remotePlayer.getId());
                gm.setCurrentTargetPlayer(gm.hostPlayer.getId());
                Debug.Log("Current Target player is set. His name is " + gm.currentTurn);
                PlayerTurnText.text = "Opponent's turn";
                OnWaitingOpponent();
            }
        });
    }