public void OnMatchList(bool success, string extendedInfo, List <MatchInfoSnapshot> matches)
        {
            if (success && matches != null)
            {
                int foundRoom = -1;
                for (int i = 0; i < matches.Count; i++)
                {
                    if (matches[i].name == roomName)
                    {
                        foundRoom = i;
                    }
                }

                if (foundRoom == -1)
                {
                    networkMatch.CreateMatch(roomName, 1000, true, "", "", "", 0, gameVersion, OnMatchCreated);
                }
                else
                {
                    networkMatch.JoinMatch(matches[foundRoom].networkId, "", "", "", 0, 0, OnMatchJoined);
                }
            }
            else if (!success)
            {
                Debug.LogError("List match failed: " + extendedInfo);
            }
        }
Esempio n. 2
0
    private void OnGUI()
    {
        if (GUILayout.Button("Create Room"))
        {
            string matchName      = "room";
            uint   matchSize      = 2;
            bool   matchAdvertise = true;
            string matchPassword  = "";

            networkMatch.CreateMatch(matchName, matchSize, matchAdvertise, matchPassword, "", "", 0, 0, OnMatchCreate);
        }

        if (GUILayout.Button("Refresh"))
        {
            networkMatch.ListMatches(0, 20, "", true, 0, 0, OnMatchList);
        }

        if (matchList.Count > 0)
        {
            GUILayout.Label("Available rooms");
        }
        foreach (MatchInfoSnapshot mis in matchList)
        {
            if (GUILayout.Button(mis.name))
            {
                networkMatch.JoinMatch(mis.networkId, "", "", "", 0, 0, OnMatchJoined);
            }
        }
    }
Esempio n. 3
0
    void OnGUI()
    {
        // You would normally not join a match you created yourself but this is possible here for demonstration purposes.
        if (GUILayout.Button("Create Room"))
        {
            CreateMatchRequest create = new CreateMatchRequest();
            create.name      = "NewRoom";
            create.size      = 4;
            create.advertise = true;
            create.password  = "";

            networkMatch.CreateMatch(create, OnMatchCreate);
        }

        if (GUILayout.Button("List rooms"))
        {
            networkMatch.ListMatches(0, 20, "", OnMatchList);
        }

        if (matchList.Count > 0)
        {
            GUILayout.Label("Current rooms");
        }
        foreach (var match in matchList)
        {
            if (GUILayout.Button(match.name))
            {
                networkMatch.JoinMatch(match.networkId, "", OnMatchJoined);
            }
        }
    }
Esempio n. 4
0
    void OnGUI()
    {
        if (GUILayout.Button("Create Room"))
        {
            networkMatch.CreateMatch("New Room", 4, true, "", "", "", 0, 0, OnMatchCreate);
        }

        if (GUILayout.Button("List Rooms"))
        {
            networkMatch.ListMatches(0, 10, "", true, 0, 0, OnMatchList);
        }

        if (matchList.Count > 0)
        {
            GUILayout.Label("Current Rooms");

            foreach (var match in matchList)
            {
                if (GUILayout.Button(match.name))
                {
                    if (GUILayout.Button(match.name))
                    {
                        networkMatch.JoinMatch(match.networkId, "", "", "", 0, 0, OnMatchJoined);
                    }
                }
            }
        }
    }
Esempio n. 5
0
    void OnGUI()
    {
        // You would normally not join a match you created yourself but this is possible here for demonstration purposes.
        if (GUILayout.Button("Create Room"))
        {
            string matchName      = "room";
            uint   matchSize      = 4;
            bool   matchAdvertise = true;
            string matchPassword  = "";

            networkMatch.CreateMatch(matchName, matchSize, matchAdvertise, matchPassword, "", "", 0, 0, OnMatchCreate);
        }

        if (GUILayout.Button("List rooms"))
        {
            networkMatch.ListMatches(0, 20, "", true, 0, 0, OnMatchList);
        }

        if (matchList.Count > 0)
        {
            GUILayout.Label("Current rooms");
        }
        foreach (var match in matchList)
        {
            if (GUILayout.Button(match.name))
            {
                networkMatch.JoinMatch(match.networkId, "", "", "", 0, 0, OnMatchJoined);
            }
        }
    }
Esempio n. 6
0
    void OnGUI()
    {
        // You would normally not join a match you created yourself but this is possible here for demonstration purposes.
        if (GUILayout.Button("Create Room"))
        {
            networkMatch.CreateMatch("NewRoom", 4, true, "", "", "", 0, 0, OnMatchCreate);
        }

        if (GUILayout.Button("List rooms"))
        {
            networkMatch.ListMatches(0, 20, "", false, 0, 0, OnMatchList);
        }

        if (matchList.Count > 0)
        {
            GUILayout.Label("Current rooms");
        }
        foreach (var match in matchList)
        {
            if (GUILayout.Button(match.name))
            {
                networkMatch.JoinMatch(match.networkId, "", "", "", 0, 0, OnMatchJoined);
            }
        }
    }
    void OnGUI()
    {
        if (GUILayout.Button("Start Match"))
        {
            CreateMatchRequest create = new CreateMatchRequest();
            create.name      = "NewRoom";
            create.size      = 4;
            create.advertise = true;
            create.password  = "";

            networkMatch.CreateMatch(create, OnMatchCreate);
        }

        if (GUILayout.Button("List rooms"))
        {
            networkMatch.ListMatches(0, 20, "", OnMatchList);
        }

        if (matchList.Count > 0)
        {
            GUILayout.Label("Current rooms");
        }

        foreach (var m in matchList)
        {
            if (GUILayout.Button(m.name))
            {
                networkMatch.JoinMatch(m.networkId, "", OnMatchJoined);
            }
        }
    }
Esempio n. 8
0
    public void OnCreateButtonClick()
    {
        string strBabyName = m_InputField.text;

        m_NetworkMatch.CreateMatch(strBabyName, 4, true, "", "", "", 0, 0, OnMatchCreate);
        PlayerPrefs.SetString("BabyName", strBabyName);
        m_StateDisplay.text = "开始连接中转服务器";
    }
    private void createNewMatch()
    {
        sessionID    = UnityEngine.Random.Range(1000, 10000); // Assumed to be short-term unique
        currentMatch = "Session " + sessionID + " (ch" + channel + ")";
        print("NetworkManager: Creating match named '" + currentMatch
              + "' (no available matches found)");

        networkMatcher.CreateMatch(currentMatch, 20, true, "", "mm.unet.unity3d.com", "", 0, 0, OnMatchCreate);
    }
Esempio n. 10
0
    public void CreateRoom()
    {
        string matchName      = string.Format("Maze_{0}", matchCount);
        uint   matchSize      = 4;
        bool   matchAdvertise = true;
        string matchPassword  = "";

        networkMatch.CreateMatch(matchName, matchSize, matchAdvertise, matchPassword, "", "", 0, 0, OnMatchCreate);
    }
Esempio n. 11
0
 public void createMatch()
 {
     create           = new CreateMatchRequest();
     create.name      = nameText.text;
     create.size      = uint.Parse(sizeText.text);
     create.advertise = publicText.Equals("Yes");
     create.password  = "";
     networkMatch.CreateMatch(create, OnMatchCreate);
 }
Esempio n. 12
0
    public void CreateMatch()
    {
        CreateMatchRequest create = new CreateMatchRequest();

        create.name      = "NewRoom";
        create.size      = 2;
        create.advertise = true;
        create.password  = "";

        nwMatch.CreateMatch(create, OnMatchCreate);
    }
Esempio n. 13
0
    public void CreateMatch()
    {
        UnityEngine.Debug.Log("In BatchMode, starting game server!");
        CreateMatchRequest create = new CreateMatchRequest();

        create.name      = "Default";
        create.size      = 12;
        create.advertise = true;
        create.password  = "";

        networkMatch.CreateMatch(create, OnMatchCreate);
    }
Esempio n. 14
0
    private void Start()
    {
        networkMatch.ListMatches(0, 10, "", true, 0, 0, OnMatchList);
        if (!_matchDoesExists)
        {
            networkMatch.CreateMatch(_matchName, 4, true, "", "", "", 0, 0, OnMatchCreate);
        }
        networkMatch.ListMatches(0, 10, "", false, 0, 0, OnMatchList);


        //networkMatch.JoinMatch(matchInfo[index].networkId, "", "", "", 0, 0, OnMatchJoined);
    }
Esempio n. 15
0
    void Start()
    {
        manager = GetComponent <NetworkManager>();
        manager.StartMatchMaker();
        matcher = manager.matchMaker;

        matcher.ListMatches(0, ListSize, "", (matches) => {
            if (matches.success)
            {
                if (matches.matches.Count > 0 && !OnlyHost)
                {
                    matcher.JoinMatch(matches.matches[0].networkId, "", (join) => {
                        if (join.success)
                        {
                            Utility.SetAccessTokenForNetwork(join.networkId, new NetworkAccessToken(join.accessTokenString));
                            NetworkClient client = new NetworkClient();
                            client.RegisterHandler(MsgType.Connect, (connected) => {
                                Debug.Log("Connected");
                            });
                            client.Connect(new MatchInfo(join));
                            manager.StartClient();
                        }
                        else
                        {
                            Debug.LogError("Could not join match");
                        }
                    });
                }
                else
                {
                    matcher.CreateMatch(URandom.value.ToString(), PlayerCountPerRoom, Advertise, "", (created) => {
                        if (created.success)
                        {
                            Debug.Log("Create match succeeded");
                            Utility.SetAccessTokenForNetwork(created.networkId, new NetworkAccessToken(created.accessTokenString));
                            NetworkServer.Listen(new MatchInfo(created), 9000);
                            manager.StartHost();
                            isHost = true;
                        }
                        else
                        {
                            Debug.LogError("Could not create match");
                        }
                    });
                }
            }
            else
            {
                Debug.LogError("Could not recieve list of matchces");
            }
        });
    }
Esempio n. 16
0
    void Awake()
    {
        networkMatch = gameObject.AddComponent<NetworkMatch>();

        //immediately make a room
        CreateMatchRequest create = new CreateMatchRequest();
        create.name = "NewRoom";
        create.size = 4;
        create.advertise = true;
        create.password = "";

        networkMatch.CreateMatch(create, OnMatchCreate);
    }
Esempio n. 17
0
    void Awake()
    {
        networkMatch = gameObject.AddComponent <NetworkMatch>();

        //immediately make a room
        CreateMatchRequest create = new CreateMatchRequest();

        create.name      = "NewRoom";
        create.size      = 4;
        create.advertise = true;
        create.password  = "";

        networkMatch.CreateMatch(create, OnMatchCreate);
    }
Esempio n. 18
0
    public void CreateMatch()
    {
        CreateMatchRequest create = new CreateMatchRequest();

        create.name      = "Room " + uuid;
        create.size      = 2;
        create.advertise = true;
        create.password  = "";

        matchName = create.name;

        uuid++;

        networkMatch.CreateMatch(create, OnMatchCreate);
    }
    public void MyHostRelay()
    {
        // This is how RakNet identifies each peer in the network
        // Clients will use the guid of the server to punch a hole
        autoCreatePlayer = false;

        string guid = natHelper.guid;

        runMode = 1;
        // The easiest way I've found to get all the connection data to the clients is to just
        // mash it all together in the match name
        string name = string.Join(":", new string[] { natHelper.externalIP, Network.player.ipAddress, guid });

        networkMatch.CreateMatch(name, 2, true, "", natHelper.externalIP, Network.player.ipAddress, 0, 0, OnHostRelay);
    }
Esempio n. 20
0
    public static void Conectar_Master()
    {
        int random_1 = Random.Range(0, 9);
        int random_2 = Random.Range(0, 9);
        int random_3 = Random.Range(0, 9);
        int random_4 = Random.Range(0, 9);
        int random_5 = Random.Range(0, 9);

        Codigo = PlayerPrefs.GetString("Nome");

        PlayerPrefs.SetString("Codigo", Codigo);
        PlayerPrefs.SetInt("Jogador_Master", 1);

        m_NetworkMatch.CreateMatch(Codigo, 2, true, "", "", "", 0, 0, OnMatchCreate);
    }
Esempio n. 21
0
    /// <summary>
    /// Creates a custom match with custom parameters if found
    /// </summary>
    private void CreateMatchRequest()
    {
        MatchRequestCustom MatchRequest = new MatchRequestCustom();

        MatchRequest.name      = ServerName.text + "|" + MapName.options[0].text + "|" + NickName.text;
        MatchRequest.size      = 10;                                        //Max numbers of player in a match (Spectators included)
        MatchRequest.advertise = true;                                      //The match is visible to all on the network
        MatchRequest.password  = "";                                        //TODO : Add passwords

        MatchRequest.matchAttributesCustom = new Dictionary <string, string>();
        MatchRequest.matchAttributesCustom.Add(MatchProperty.HostName, NickName.text);          //Name of original creator of the match (e.g. "DarkSasuke92")
        MatchRequest.matchAttributesCustom.Add(MatchProperty.DisplayName, ServerName.text);     //Name to display to the network        (e.g. "DreamTeam's server")
        MatchRequest.matchAttributesCustom.Add(MatchProperty.MapName, MapName.options[0].text); //Map to join when joining the match    (e.g. "sand_box")

        networkMatch.CreateMatch(MatchRequest, OnMatchCreate);                                  //Creates the match and triggers OnMatchCreate()
    }
    public void  createAMatchMakingMatch()
    {
        if (networkMatch != null && !hascreatedGame && !hasjoinGame && !ClientScene.ready)
        {
            MenuMangerScript.erroranimation.SetActive(false);
            MenuMangerScript.loadanimation.SetActive(true);
            mapselect selectMap = MenuMangerScript.mapselectscript;
            NetworkManager.singleton.onlineScene = selectMap.mapnames[selectMap.mapnum];
            string mapname    = selectMap.mapnames[selectMap.mapnum];
            uint   maxplayers = (uint)selectMap.totalplayers;
            string gameType   = selectMap.gametypes[selectMap.numgameType];
            string gameName   = selectMap.gameName + ":" + gameType + ":" + mapname;

            hascreatedGame = true;
            networkMatch.CreateMatch(gameName, maxplayers, true, "", "", "", 0, 1, OnMatchCreate);
        }
    }
Esempio n. 23
0
    //----------------------------------------------------------------------------------------------------
    /// <summary>
    /// フレームメソッド
    /// </summary>
    void Update()
    {
        //待機状態
        if (m_isStandbyState)
        {
            return;
        }

        //部屋作成中
        if (m_isCreateRoom)
        {
            //更新
            m_match.ListMatches(0, 20, "", true, 0, 0, OnMatchList);

            //使用中のネットワークIDを取得
            if (matches.Count >= 1 && matchInfo != null)
            {
                m_networkIdInUse = (UInt64)matchInfo.networkId;
                m_isStandbyState = true;
            }
            return;
        }

        //リストマッチの更新
        if (matches == null)
        {
            //更新
            m_match.ListMatches(0, 20, "", true, 0, 0, OnMatchList);
        }
        else if (matches.Count >= 1 && IsMatch())
        {
            //ルームに参加
            m_match.JoinMatch((UnityEngine.Networking.Types.NetworkID)m_networkIdInUse, "", "", "", 0, 0, OnMatchJoined);
            m_isJoinRoom     = true;
            m_isStandbyState = true;
        }
        else
        {
            //ルームの作成
            matchName = ROOM_NAME + DateTime.Now.ToLongTimeString();
            m_match.CreateMatch(matchName, matchSize, true, "", "", "", 0, 0, OnMatchCreate);
            m_isCreateRoom = true;
        }
    }
Esempio n. 24
0
 void OnGUI()
 {
     if (GUI.Button (new Rect (250, 20, 200, 20), "Create Room")) {
         //CreateMatchRequest: UNETにマッチメイキングを作らせるためのJSONオブジェクト
         CreateMatchRequest create = new CreateMatchRequest ();
         //部屋名
         create.name = "NewRoom";
         //人数
         create.size = 4;
         //部屋ができたことを知らせるか?
         create.advertise = true;
         //パスワード
         create.password = "";
         networkMatch = manager.matchMaker;
         //CreateMatch: create情報を持って、部屋を作ろうとしている
         //情報を元に部屋を作り、ホストとして実行
         networkMatch.CreateMatch(create, NetworkManager.singleton.OnMatchCreate);
     }
 }
 public void ConnectToOrCreateMatch(bool success, string extendedInfo, List <MatchInfoSnapshot> matches)
 {
     if (success)
     {
         if (singlePlayerDebug && matches != null && matches.Count > 0)
         {
             networkMatcher.JoinMatch(matches[0].networkId, "", "", "", 0, 0, OnMatchJoined);
         }
         else
         {
             print("Matches (" + matches.Count + "): " + matches);
             networkMatcher.CreateMatch("defaultRoomTest", 20, true, "", "mm.unet.unity3d.com", "", 0, 0, OnMatchCreate);
         }
     }
     else if (!success)
     {
         print("Failed listing matches: " + extendedInfo);
     }
 }
Esempio n. 26
0
    public void OnGUI()
    {
        GUI.enabled = natHelper.isReady;
        if (GUI.Button(new Rect(0, 10, 150, 100), "Host"))
        {
            // This is how RakNet identifies each peer in the network
            // Clients will use the guid of the server to punch a hole
            string guid = natHelper.guid;

            // The easiest way I've found to get all the connection data to the clients is to just
            // mash it all together in the match name
            string name = string.Join(":", new string[] { natHelper.externalIP, Network.player.ipAddress, guid });

            networkMatch.CreateMatch(name, 2, true, "", natHelper.externalIP, Network.player.ipAddress, 0, 0, OnMatchCreate);
        }
        if (GUI.Button(new Rect(0, 120, 150, 100), "Join server"))
        {
            networkMatch.ListMatches(0, 1, "", true, 0, 0, OnMatchList);
        }
    }
Esempio n. 27
0
 public void Connect()
 {
     if (reqMaster)
     {
         match.CreateMatch("default", (uint)playGameNum + 1, true, "", "", "", 0, reqDomain, OnMatchCreate);
     }
     else
     {
         if (client != null)
         {
             ClientCommand.identity.catId = GM.configs["貓咪"];
             ClientCommand.identity.id    = 0;
             QA.Invoke <int>("Connected", ClientCommand.identity.connectionId);
             client.Send(ImServices.MSG_COMMAND, ClientCommand.identity);
         }
         else
         {
             match.ListMatches(0, 10, "", false, 0, reqDomain, OnMatchList);
         }
     }
 }
Esempio n. 28
0
    void Start()
    {
        manager = GetComponent<NetworkManager>();
        manager.StartMatchMaker();
        matcher = manager.matchMaker;

        matcher.ListMatches(0, ListSize, "", (matches) => {
            if (matches.success) {
                if (matches.matches.Count > 0 && !OnlyHost) {
                    matcher.JoinMatch(matches.matches[0].networkId, "", (join) => {
                        if (join.success) {
                            Utility.SetAccessTokenForNetwork(join.networkId, new NetworkAccessToken(join.accessTokenString));
                            NetworkClient client = new NetworkClient();
                            client.RegisterHandler(MsgType.Connect, (connected) => {
                                Debug.Log("Connected");
                            });
                            client.Connect(new MatchInfo(join));
                            manager.StartClient();
                        } else {
                            Debug.LogError("Could not join match");
                        }
                    });
                } else {
                    matcher.CreateMatch(URandom.value.ToString(), PlayerCountPerRoom, Advertise, "", (created) => {
                        if (created.success) {
                            Debug.Log("Create match succeeded");
                            Utility.SetAccessTokenForNetwork(created.networkId, new NetworkAccessToken(created.accessTokenString));
                            NetworkServer.Listen(new MatchInfo(created), 9000);
                            manager.StartHost();
                            isHost = true;
                        } else {
                            Debug.LogError("Could not create match");
                        }
                    });
                }
            } else {
                Debug.LogError("Could not recieve list of matchces");
            }
        });
    }
Esempio n. 29
0
        //
        // Hosting
        //

        public void StartHost(bool internetHost)
        {
            if (IsActive)
            {
                return;
            }

            DevTools.Logger.Log(NetworkLog, "Starting Host");

            if (internetHost)
            {
                networkMatch.CreateMatch("BedrockHost", MaxConnections + 1, true, "", "", "", 0, 0, OnMatchCreate);
            }
            else
            {
                NewSocket();
                if (currentSocket.Startup(hostPort, MaxConnections))
                {
                    OnBecomeHost();
                }
            }
        }
Esempio n. 30
0
    void OnGUI()
    {
        if (string.IsNullOrEmpty(Application.cloudProjectId))
        {
            GUILayout.Label("You must set up the project first. See the Multiplayer tab in the Service Window");
        }
        else
        {
            GUILayout.Label("Cloud Project ID: " + Application.cloudProjectId);
        }

        if (m_MatchJoined)
        {
            GUILayout.Label("Match joined '" + m_MatchName + "' on Matchmaker server");
        }
        else if (m_MatchCreated)
        {
            GUILayout.Label("Match '" + m_MatchName + "' created on Matchmaker server");
        }

        GUILayout.Label("Connection Established: " + m_ConnectionEstablished);

        if (m_MatchCreated || m_MatchJoined)
        {
            GUILayout.Label("Relay Server: " + m_MatchInfo.address + ":" + m_MatchInfo.port);
            GUILayout.Label("NetworkID: " + m_MatchInfo.networkId + " NodeID: " + m_MatchInfo.nodeId);
            GUILayout.BeginHorizontal();
            GUILayout.Label("Outgoing message:");
            m_NetworkMessage = GUILayout.TextField(m_NetworkMessage);
            GUILayout.EndHorizontal();
            GUILayout.Label("Last incoming message: " + m_LastReceivedMessage);

            if (m_ConnectionEstablished && GUILayout.Button("Send message"))
            {
                m_Writer.SeekZero();
                m_Writer.Write(m_NetworkMessage);
                byte error;
                for (int i = 0; i < m_ConnectionIds.Count; ++i)
                {
                    NetworkTransport.Send(m_HostId,
                                          m_ConnectionIds[i], 0, m_Writer.AsArray(), m_Writer.Position, out error);
                    if ((NetworkError)error != NetworkError.Ok)
                    {
                        Debug.LogError("Failed to send message: " + (NetworkError)error);
                    }
                }
            }

            if (GUILayout.Button("Shutdown"))
            {
                m_NetworkMatch.DropConnection(m_MatchInfo.networkId,
                                              m_MatchInfo.nodeId, 0, OnConnectionDropped);
            }
        }
        else
        {
            if (GUILayout.Button("Create Room"))
            {
                m_NetworkMatch.CreateMatch(m_MatchName, 4, true, "", "", "", 0, 0, OnMatchCreate);
            }

            if (GUILayout.Button("Join first found match"))
            {
                m_NetworkMatch.ListMatches(0, 1, "", true, 0, 0, (success, info, matches) =>
                {
                    if (success && matches.Count > 0)
                    {
                        m_NetworkMatch.JoinMatch(matches[0].networkId, "", "", "", 0, 0, OnMatchJoined);
                    }
                });
            }

            if (GUILayout.Button("List rooms"))
            {
                m_NetworkMatch.ListMatches(0, 20, "", true, 0, 0, OnMatchList);
            }

            if (m_MatchList.Count > 0)
            {
                GUILayout.Label("Current rooms:");
            }
            foreach (var match in m_MatchList)
            {
                if (GUILayout.Button(match.name))
                {
                    m_NetworkMatch.JoinMatch(match.networkId, "", "", "", 0, 0, OnMatchJoined);
                }
            }
        }
    }
Esempio n. 31
0
        private void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }
            int num  = 10 + offsetX;
            int num2 = 40 + offsetY;

            if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null)
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "LAN Host(H)"))
                {
                    manager.StartHost();
                }
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 105f, 20f), "LAN Client(C)"))
                {
                    manager.StartClient();
                }
                manager.networkAddress = GUI.TextField(new Rect(num + 100, num2, 95f, 20f), manager.networkAddress);
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "LAN Server Only(S)"))
                {
                    manager.StartServer();
                }
                num2 += 24;
            }
            else
            {
                if (NetworkServer.active)
                {
                    GUI.Label(new Rect(num, num2, 300f, 20f), "Server: port=" + manager.networkPort);
                    num2 += 24;
                }
                if (manager.IsClientConnected())
                {
                    GUI.Label(new Rect(num, num2, 300f, 20f), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
                    num2 += 24;
                }
            }
            if (manager.IsClientConnected() && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);
                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                num2 += 24;
            }
            if (NetworkServer.active || manager.IsClientConnected())
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "Stop (X)"))
                {
                    manager.StopHost();
                }
                num2 += 24;
            }
            if (NetworkServer.active || manager.IsClientConnected())
            {
                return;
            }
            num2 += 10;
            if (manager.matchMaker == null)
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "Enable Match Maker (M)"))
                {
                    manager.StartMatchMaker();
                }
                return;
            }
            if (manager.matchInfo == null)
            {
                if (manager.matches == null)
                {
                    if (GUI.Button(new Rect(num, num2, 200f, 20f), "Create Internet Match"))
                    {
                        NetworkMatch   matchMaker     = manager.matchMaker;
                        string         matchName      = manager.matchName;
                        uint           matchSize      = manager.matchSize;
                        string         empty          = string.Empty;
                        NetworkManager networkManager = manager;
                        matchMaker.CreateMatch(matchName, matchSize, matchAdvertise: true, empty, networkManager.OnMatchCreate);
                    }
                    num2 += 24;
                    GUI.Label(new Rect(num, num2, 100f, 20f), "Room Name:");
                    manager.matchName = GUI.TextField(new Rect(num + 100, num2, 100f, 20f), manager.matchName);
                    num2 += 24;
                    num2 += 10;
                    if (GUI.Button(new Rect(num, num2, 200f, 20f), "Find Internet Match"))
                    {
                        NetworkMatch   matchMaker2     = manager.matchMaker;
                        string         empty2          = string.Empty;
                        NetworkManager networkManager2 = manager;
                        matchMaker2.ListMatches(0, 20, empty2, networkManager2.OnMatchList);
                    }
                    num2 += 24;
                }
                else
                {
                    foreach (MatchDesc match in manager.matches)
                    {
                        if (GUI.Button(new Rect(num, num2, 200f, 20f), "Join Match:" + match.name))
                        {
                            manager.matchName = match.name;
                            manager.matchSize = (uint)match.currentSize;
                            manager.matchMaker.JoinMatch(match.networkId, string.Empty, manager.OnMatchJoined);
                        }
                        num2 += 24;
                    }
                }
            }
            if (GUI.Button(new Rect(num, num2, 200f, 20f), "Change MM server"))
            {
                m_ShowServer = !m_ShowServer;
            }
            if (m_ShowServer)
            {
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 100f, 20f), "Local"))
                {
                    manager.SetMatchHost("localhost", 1337, https: false);
                    m_ShowServer = false;
                }
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 100f, 20f), "Internet"))
                {
                    manager.SetMatchHost("mm.unet.unity3d.com", 443, https: true);
                    m_ShowServer = false;
                }
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 100f, 20f), "Staging"))
                {
                    manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, https: true);
                    m_ShowServer = false;
                }
            }
            num2 += 24;
            GUI.Label(new Rect(num, num2, 300f, 20f), "MM Uri: " + manager.matchMaker.baseUri);
            num2 += 24;
            if (GUI.Button(new Rect(num, num2, 200f, 20f), "Disable Match Maker"))
            {
                manager.StopMatchMaker();
            }
        }
Esempio n. 32
0
        private void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }
            int  num  = 10 + offsetX;
            int  num2 = 40 + offsetY;
            bool flag = manager.client == null || manager.client.connection == null || manager.client.connection.connectionId == -1;

            if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null)
            {
                if (flag)
                {
                    if (Application.platform != RuntimePlatform.WebGLPlayer)
                    {
                        if (GUI.Button(new Rect(num, num2, 200f, 20f), "LAN Host(H)"))
                        {
                            manager.StartHost();
                        }
                        num2 += 24;
                    }
                    if (GUI.Button(new Rect(num, num2, 105f, 20f), "LAN Client(C)"))
                    {
                        manager.StartClient();
                    }
                    manager.networkAddress = GUI.TextField(new Rect(num + 100, num2, 95f, 20f), manager.networkAddress);
                    num2 += 24;
                    if (Application.platform == RuntimePlatform.WebGLPlayer)
                    {
                        GUI.Box(new Rect(num, num2, 200f, 25f), "(  WebGL cannot be server  )");
                        num2 += 24;
                    }
                    else
                    {
                        if (GUI.Button(new Rect(num, num2, 200f, 20f), "LAN Server Only(S)"))
                        {
                            manager.StartServer();
                        }
                        num2 += 24;
                    }
                }
                else
                {
                    GUI.Label(new Rect(num, num2, 200f, 20f), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + "..");
                    num2 += 24;
                    if (GUI.Button(new Rect(num, num2, 200f, 20f), "Cancel Connection Attempt"))
                    {
                        manager.StopClient();
                    }
                }
            }
            else
            {
                if (NetworkServer.active)
                {
                    string text = "Server: port=" + manager.networkPort;
                    if (manager.useWebSockets)
                    {
                        text += " (Using WebSockets)";
                    }
                    GUI.Label(new Rect(num, num2, 300f, 20f), text);
                    num2 += 24;
                }
                if (manager.IsClientConnected())
                {
                    GUI.Label(new Rect(num, num2, 300f, 20f), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
                    num2 += 24;
                }
            }
            if (manager.IsClientConnected() && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);
                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                num2 += 24;
            }
            if (NetworkServer.active || manager.IsClientConnected())
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "Stop (X)"))
                {
                    manager.StopHost();
                }
                num2 += 24;
            }
            if (NetworkServer.active || manager.IsClientConnected() || !flag)
            {
                return;
            }
            num2 += 10;
            if (Application.platform == RuntimePlatform.WebGLPlayer)
            {
                GUI.Box(new Rect(num - 5, num2, 220f, 25f), "(WebGL cannot use Match Maker)");
                return;
            }
            if (manager.matchMaker == null)
            {
                if (GUI.Button(new Rect(num, num2, 200f, 20f), "Enable Match Maker (M)"))
                {
                    manager.StartMatchMaker();
                }
                num2 += 24;
                return;
            }
            if (manager.matchInfo == null)
            {
                if (manager.matches == null)
                {
                    if (GUI.Button(new Rect(num, num2, 200f, 20f), "Create Internet Match"))
                    {
                        NetworkMatch   matchMaker     = manager.matchMaker;
                        string         matchName      = manager.matchName;
                        uint           matchSize      = manager.matchSize;
                        NetworkManager networkManager = manager;
                        matchMaker.CreateMatch(matchName, matchSize, matchAdvertise: true, "", "", "", 0, 0, networkManager.OnMatchCreate);
                    }
                    num2 += 24;
                    GUI.Label(new Rect(num, num2, 100f, 20f), "Room Name:");
                    manager.matchName = GUI.TextField(new Rect(num + 100, num2, 100f, 20f), manager.matchName);
                    num2 += 24;
                    num2 += 10;
                    if (GUI.Button(new Rect(num, num2, 200f, 20f), "Find Internet Match"))
                    {
                        NetworkMatch   matchMaker2     = manager.matchMaker;
                        NetworkManager networkManager2 = manager;
                        matchMaker2.ListMatches(0, 20, "", filterOutPrivateMatchesFromResults: false, 0, 0, networkManager2.OnMatchList);
                    }
                    num2 += 24;
                }
                else
                {
                    for (int i = 0; i < manager.matches.Count; i++)
                    {
                        MatchInfoSnapshot matchInfoSnapshot = manager.matches[i];
                        if (GUI.Button(new Rect(num, num2, 200f, 20f), "Join Match:" + matchInfoSnapshot.name))
                        {
                            manager.matchName = matchInfoSnapshot.name;
                            NetworkMatch   matchMaker3     = manager.matchMaker;
                            NetworkID      networkId       = matchInfoSnapshot.networkId;
                            NetworkManager networkManager3 = manager;
                            matchMaker3.JoinMatch(networkId, "", "", "", 0, 0, networkManager3.OnMatchJoined);
                        }
                        num2 += 24;
                    }
                    if (GUI.Button(new Rect(num, num2, 200f, 20f), "Back to Match Menu"))
                    {
                        manager.matches = null;
                    }
                    num2 += 24;
                }
            }
            if (GUI.Button(new Rect(num, num2, 200f, 20f), "Change MM server"))
            {
                m_ShowServer = !m_ShowServer;
            }
            if (m_ShowServer)
            {
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 100f, 20f), "Local"))
                {
                    manager.SetMatchHost("localhost", 1337, https: false);
                    m_ShowServer = false;
                }
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 100f, 20f), "Internet"))
                {
                    manager.SetMatchHost("mm.unet.unity3d.com", 443, https: true);
                    m_ShowServer = false;
                }
                num2 += 24;
                if (GUI.Button(new Rect(num, num2, 100f, 20f), "Staging"))
                {
                    manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, https: true);
                    m_ShowServer = false;
                }
            }
            num2 += 24;
            GUI.Label(new Rect(num, num2, 300f, 20f), "MM Uri: " + manager.matchMaker.baseUri);
            num2 += 24;
            if (GUI.Button(new Rect(num, num2, 200f, 20f), "Disable Match Maker"))
            {
                manager.StopMatchMaker();
            }
            num2 += 24;
        }
Esempio n. 33
0
 public void CreateRoom()
 {
     networkMatch.CreateMatch(gameNameField.text, 2, true, "", "", "", 0, 0, OnMatchCreate);
 }