StartMatchMaker() public method

This starts MatchMaker for the NetworkManager.

public StartMatchMaker ( ) : void
return void
コード例 #1
0
ファイル: Networking.cs プロジェクト: EduardoU24/GGJ2016
    void Start() {
        manager = GetComponent<NetworkManager>();
        manager.dontDestroyOnLoad = true;

        manager.StartMatchMaker();
        Debug.Log(GetType().BaseType);
    }
コード例 #2
0
    /// Match Making Handlers ////

    /// <summary>
    /// caller for starting the LAN specific menu.
    /// </summary>
    public void CallMatchMakingMenu()
    {
        HideMenu(activeGroup);
        ShowMenu(matchMakingMenu);
        activeGroup = matchMakingMenu;
        manager.StartMatchMaker();
    }
コード例 #3
0
ファイル: N_Join.cs プロジェクト: mwdewey/GameDev2
    void Awake()
    {
        nameText = nameObject.GetComponent<Text>();

        nm = GameObject.FindGameObjectWithTag("NetworkManager").GetComponent<NetworkManager>();
        if(nm.matchMaker == null) nm.StartMatchMaker();
        networkMatch = nm.matchMaker.GetComponent<NetworkMatch>();
    }
コード例 #4
0
    void Awake()
    {
        manager = GetComponent<NetworkManager>();
        manager.StartMatchMaker();
        manager.SetMatchHost("mm.unet.unity3d.com", 443, true);

        manager.matchMaker.ListMatches(0, 20, "", UpdateListing);
    }
コード例 #5
0
 void Start()
 {
     networkManager = NetworkManager.singleton;
     if (networkManager.matchMaker == null)
     {
         networkManager.StartMatchMaker();
     }
 }
コード例 #6
0
ファイル: NetworkManager.cs プロジェクト: tetreum/unet_test
        void Start()
        {
            networkManager = UnetManager.singleton;

            if (networkManager.matchMaker == null)
            {
                networkManager.StartMatchMaker();
            }
        }
コード例 #7
0
ファイル: HostGame.cs プロジェクト: Gregor-Guerrier/TDBR
 // Use this for initialization
 void Start()
 {
     ready.text     = "Ready";
     networkManager = UnityEngine.Networking.NetworkManager.singleton;
     if (networkManager.matchMaker == null)
     {
         networkManager.StartMatchMaker();
     }
 }
コード例 #8
0
ファイル: N_Search.cs プロジェクト: mwdewey/GameDev2
    void Awake()
    {
        nm = GameObject.FindGameObjectWithTag("NetworkManager").GetComponent<NetworkManager>();
        if (nm.matchMaker == null) nm.StartMatchMaker();
        networkMatch = nm.matchMaker.GetComponent<NetworkMatch>();

        menuSelector = GetComponent<MenuSelector>();

        networkMatch.ListMatches(0, 20, "", OnMatchList);
    }
コード例 #9
0
ファイル: MyHud.cs プロジェクト: rgeorgeoff/LD39
        IEnumerator connect()
        {
            manager = GetComponent <NetworkManager> ();
            manager.StartMatchMaker();
            while ((manager.matches == null || manager.matches.Count == 0) && !beServer)
            {
                manager.matchMaker.ListMatches(0, 2, "", false, 0, 0, manager.OnMatchList);
                yield return(new WaitForEndOfFrame());
            }

            ready = true;
        }
コード例 #10
0
 void Start()
 {
     manager.StartMatchMaker();
     //try
     //{
     //    manager.matchMaker.DestroyMatch(manager.matches[0].networkId, 0, manager.OnDestroyMatch);
     //}
     //catch
     //{
     //    Debug.Log("fallo al borrar");
     //}
 }
コード例 #11
0
ファイル: HostGame.cs プロジェクト: CareForceOne/BattleRoyal
    void Awake()
    {
        Dropdown mapDropdown = Map.GetComponent<Dropdown>();
        mapDropdown.options.Add(new Dropdown.OptionData("scene1"));
        mapDropdown.options.Add(new Dropdown.OptionData("scene2"));
        mapDropdown.options.Add(new Dropdown.OptionData("scene3"));
        mapDropdown.options.Add(new Dropdown.OptionData("scene4"));
        mapDropdown.options.Add(new Dropdown.OptionData("scene5"));

        manager = GetComponent<NetworkManager>();
        manager.StartMatchMaker();
        manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
    }
コード例 #12
0
        public void createRoom()
        {
            if (manager.matchMaker == null)
            {
                manager.StartMatchMaker();
                manager.matchMaker.SetProgramAppID((AppID)1093751);
            }
            if (playerName.text != "")
            {
                CreateMatchRequest create = new CreateMatchRequest();
                create.name      = playerName.text;
                create.size      = 4;
                create.advertise = true;
                create.password  = "";

                manager.matchMaker.CreateMatch(create, OnMatchCreate);
            }
            else
            {
                noPlayerName.enabled = true;
            }
        }
コード例 #13
0
 void Awake()
 {
     originalGameTime *= 60;
     gameTime          = originalGameTime;
     leaderboardPanel.SetActive(false);
     pausePanel.SetActive(false);
     noPlayerName.enabled = false;
     noIP.enabled         = false;
     connectingPanel.SetActive(false);
     manager = gameObject.GetComponent <NetworkManager>();
     //networkMatch = gameObject.AddComponent<NetworkMatch>();
     PlayerPrefs.SetString("CloudNetworkingId", "1093751");
     manager.StartMatchMaker();
     manager.matchMaker.SetProgramAppID((AppID)1093751);
 }
コード例 #14
0
ファイル: Connector.cs プロジェクト: stronklabs/fastfast
    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");
            }
        });
    }
コード例 #15
0
        void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }

            int       xpos            = 30 * 5 + offsetX * 5;
            int       ypos            = 30 * 5 + offsetY * 5;
            const int spacing         = 24 * 5;
            GUIStyle  customButton    = new GUIStyle("button");
            GUIStyle  customLabel     = new GUIStyle("label");
            GUIStyle  customBox       = new GUIStyle("box");
            GUIStyle  customTextField = new GUIStyle("textfield");

            customButton.fontSize    = 38;
            customLabel.fontSize     = 38;
            customBox.fontSize       = 38;
            customTextField.fontSize = 38;
            //GIULIA DA FIXARE
            //customTextField.padding = 24;


            bool noConnection = (manager.client == null || manager.client.connection == null ||
                                 manager.client.connection.connectionId == -1);

            if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null)
            {
                if (noConnection)
                {
                    if (UnityEngine.Application.platform != RuntimePlatform.WebGLPlayer)
                    {
                        if (GUI.Button(new Rect(xpos, ypos, 200 * 3, 20 * 6), "LAN Host (H)", customButton))
                        {
                            manager.StartHost();
                        }
                        ypos += spacing;
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 105 * 3, 20 * 6), "LAN Client (C)", customButton))
                    {
                        manager.StartClient();
                    }

                    manager.networkAddress = GUI.TextField(new Rect(xpos + 110 * 3, ypos, 90 * 3, 20 * 6), manager.networkAddress, customTextField);
                    ypos += spacing;

                    if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                    {
                        // cant be a server in webgl build
                        GUI.Box(new Rect(xpos, ypos, 200 * 3, 25 * 6), "(  WebGL cannot be server  )", customBox);
                        ypos += spacing;
                    }
                    else
                    {
                        if (GUI.Button(new Rect(xpos, ypos, 200 * 3, 20 * 6), "LAN Server Only (S)", customButton))
                        {
                            manager.StartServer();
                        }
                        ypos += spacing;
                    }
                }
                else
                {
                    GUI.Label(new Rect(xpos, ypos, 200 * 3, 20 * 6), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + "..", customLabel);
                    ypos += spacing;


                    if (GUI.Button(new Rect(xpos, ypos, 200 * 3, 20 * 6), "Cancel Connection Attempt", customButton))
                    {
                        manager.StopClient();
                    }
                }
            }
            else
            {
                if (NetworkServer.active)
                {
                    /*
                     *                  string serverMsg = "Server: port=" + manager.networkPort;
                     *                  if (manager.useWebSockets) {
                     *                          serverMsg += " (Using WebSockets)";
                     *                  }
                     *                  GUI.Label(new Rect(xpos, ypos, 300*3, 20*6), serverMsg, customLabel);
                     *                  ypos += spacing;
                     */
                }
                if (manager.IsClientConnected())
                {
                    /*
                     *                  GUI.Label(new Rect(xpos, ypos, 300*3, 20*6), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort, customLabel);
                     *                  ypos += spacing;
                     */
                }
            }

            if (manager.IsClientConnected() && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200 * 3, 20 * 6), "Client Ready", customButton))
                {
                    ClientScene.Ready(manager.client.connection);

                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || manager.IsClientConnected())
            {
                //GUI.DrawTexture(new Rect(Screen.width/4, Screen.height/4, Screen.width/4*2, Screen.height/4*2), myTexture);
                if (GUI.Button(new Rect(30, 30, 200 * 3, 20 * 6), "Stop (X)", customButton))
                {
                    manager.StopHost();
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !manager.IsClientConnected() && noConnection)
            {
                ypos += 10;

                if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                {
                    GUI.Box(new Rect(xpos - 5, ypos, 220 * 3, 25 * 6), "(WebGL cannot use Match Maker)", customBox);
                    return;
                }

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(new Rect(xpos, ypos, 200 * 3, 20 * 6), "Enable Match Maker (M)", customButton))
                    {
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                    manager.StartMatchMaker();
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            GUI.DrawTexture(new Rect(Screen.width / 16 * 3, Screen.height / 16 * 2, Screen.width / 16 * 10, Screen.height / 16 * 12), myTexture);
                            if (GUI.Button(new Rect(Screen.width / 32 * 10, Screen.height / 32 * 13, Screen.width / 32 * 12, Screen.height / 32 * 4), "Find matches", customButton))
                            {
                                manager.matchMaker.ListMatches(0, 20, "", false, 0, 0, manager.OnMatchList);
                            }
                            ypos += spacing + 70;

                            GUI.Label(new Rect(Screen.width / 32 * 10, Screen.height / 32 * 20 + 7, Screen.width / 32 * 5, Screen.height / 32 * 2), "Match name:", customLabel);
                            manager.matchName = GUI.TextField(new Rect(Screen.width / 32 * 15, Screen.height / 32 * 20, Screen.width / 32 * 7, Screen.height / 32 * 2), manager.matchName, customTextField);
                            ypos += 70;

                            if (GUI.Button(new Rect(Screen.width / 32 * 10, Screen.height / 32 * 23, Screen.width / 32 * 12, Screen.height / 32 * 3), "Create new match", customButton))
                            {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", "", "", 0, 0, manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            ypos += 10;
                        }
                        else
                        {
                            if (GUI.Button(new Rect(30, 30, 200 * 3, 20 * 6), "Back to menu", customButton))
                            {
                                manager.matches = null;
                            }
                            ypos += spacing;
                            ypos += 50;

                            if (manager.matches != null)
                            {
                                for (int i = 0; i < manager.matches.Count; i++)
                                {
                                    var match = manager.matches[i];
                                    if (GUI.Button(new Rect(30, ypos, 200 * 3, 20 * 5), "Join match: " + match.name, customButton))
                                    {
                                        manager.matchName = match.name;
                                        manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined);
                                    }
                                    ypos += spacing;
                                }
                            }
                        }
                    }

                    /*
                     *                  if (GUI.Button(new Rect(xpos, ypos, 200*3, 20*6), "Change MM server", customButton)) {
                     *                          m_ShowServer = !m_ShowServer;
                     *                  }
                     *                  if (m_ShowServer) {
                     *                          ypos += spacing;
                     *                          if (GUI.Button(new Rect(xpos, ypos, 100*3, 20*6), "Local", customButton)) {
                     *                                  manager.SetMatchHost("localhost", 1337, false);
                     *                                  m_ShowServer = false;
                     *                          }
                     *                          ypos += spacing;
                     *                          if (GUI.Button(new Rect(xpos, ypos, 100*3, 20*6), "Internet", customButton)) {
                     *                                  manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                     *                                  m_ShowServer = false;
                     *                          }
                     *                          ypos += spacing;
                     *                          if (GUI.Button(new Rect(xpos, ypos, 100*3, 20*6), "Staging", customButton)) {
                     *                                  manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                     *                                  m_ShowServer = false;
                     *                          }
                     *                  }
                     *
                     *                  ypos += spacing;
                     *
                     *                  GUI.Label(new Rect(xpos, ypos, 300*3, 20*6), "MM Uri: " + manager.matchMaker.baseUri, customLabel);
                     *                  ypos += spacing;
                     */
                    /*
                     *                  if (GUI.Button(new Rect(xpos, ypos, 200*3, 20*6), "Disable Match Maker", customButton)) {
                     *                          manager.StopMatchMaker();
                     *                  }
                     *                  ypos += spacing;
                     */
                }
            }
        }
コード例 #16
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();
            }
        }
コード例 #17
0
        void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }

            int xpos    = 10 + offsetX;
            int ypos    = 40 + offsetY;
            int spacing = 24;

            int multVal = 5;

            if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null)
            {
                if (GUI.Button(new Rect(xpos * multVal, ypos * multVal, 1600, 160), "LAN Host(H)"))
                {
                    manager.StartHost();
                }
                ypos += spacing;

                if (GUI.Button(new Rect(xpos * multVal, ypos * multVal, 105 * multVal, 20 * multVal), "LAN Client(C)"))
                {
                    manager.StartClient();
                }
                manager.networkAddress = GUI.TextField(new Rect((xpos + 100) * multVal, ypos * multVal, 95 * multVal, 20 * multVal), manager.networkAddress);
                ypos += spacing;

                if (GUI.Button(new Rect(xpos * multVal, ypos * multVal, 200 * multVal, 20 * multVal), "LAN Server Only(S)"))
                {
                    manager.StartServer();
                }
                ypos += spacing;
            }
            else
            {
                if (NetworkServer.active)
                {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Server: port=" + manager.networkPort);
                    ypos += spacing;
                }
                if (NetworkClient.active)
                {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
                    ypos += spacing;
                }
            }

            if (NetworkClient.active && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);

                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || NetworkClient.active)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (X)"))
                {
                    manager.StopHost();
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !NetworkClient.active)
            {
                ypos += 10;

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)"))
                    {
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match"))
                            {
                                //    manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:");
                            manager.matchName = GUI.TextField(new Rect(xpos + 100, ypos, 100, 20), manager.matchName);
                            ypos += spacing;

                            ypos += 10;

                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match"))
                            {
                                //     manager.matchMaker.ListMatches(0, 20, "", manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else
                        {
                            foreach (var match in manager.matches)
                            {
                                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name))
                                {
                                    manager.matchName = match.name;
                                    manager.matchSize = (uint)match.currentSize;
                                    //manager.matchMaker.JoinMatch(match.networkId, "", manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }
                        }
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server"))
                    {
                        showServer = !showServer;
                    }
                    if (showServer)
                    {
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local"))
                        {
                            manager.SetMatchHost("localhost", 1337, false);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet"))
                        {
                            manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging"))
                        {
                            manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                    }

                    ypos += spacing;

                    GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri);
                    ypos += spacing;

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker"))
                    {
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }
        }
コード例 #18
0
        void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }

            GUI.skin = myGUI;
            GUI.skin.button.fontSize    = Screen.height / 25;
            GUI.skin.textField.fontSize = Screen.height / 25;
            GUI.skin.label.fontSize     = Screen.height / 25;
            GUI.skin.box.fontSize       = Screen.height / 25;
            int xpos         = 10 + offsetX;
            int ypos         = 40 + offsetY;
            int heightButton = Screen.height / 10;
            int widthButton  = Screen.width / 4;
            int spacing      = heightButton + 10;

            bool noConnection = (manager.client == null || manager.client.connection == null ||
                                 manager.client.connection.connectionId == -1);

            if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null)
            {
                if (noConnection)
                {
                }
                else
                {
                    GUI.Label(new Rect(xpos, ypos, 200, 20), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + "..");
                    ypos += spacing;


                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Cancel Connection Attempt"))
                    {
                        manager.StopClient();
                    }
                }
            }
            else
            {
            }

            if (manager.IsClientConnected() && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);

                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || manager.IsClientConnected())
            {
                if (GUI.Button(new Rect(xpos, Screen.height - heightButton - 10, widthButton, heightButton), "Stop (X)"))
                {
                    manager.StopHost();
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !manager.IsClientConnected() && noConnection)
            {
                ypos += 10;

                if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                {
                    GUI.Box(new Rect(xpos - 5, ypos, 220, 25), "(WebGL cannot use Match Maker)");
                    return;
                }

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Multijoueur"))
                    {
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Create Internet Match"))
                            {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", "", "", 0, 0, manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(new Rect(xpos, ypos, widthButton, heightButton), "Room Name:");
                            ypos += spacing / 2;
                            manager.matchName = GUI.TextField(new Rect(xpos, ypos, widthButton, heightButton / 2), manager.matchName);

                            ypos += spacing / 2;

                            if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Find Internet Match"))
                            {
                                manager.matchMaker.ListMatches(0, 20, "", false, 0, 0, manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else
                        {
                            for (int i = 0; i < manager.matches.Count; i++)
                            {
                                var match = manager.matches[i];
                                if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Join Match:" + match.name))
                                {
                                    manager.matchName = match.name;
                                    manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }

                            if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Back to Match Menu"))
                            {
                                manager.matches = null;
                            }
                            ypos += spacing;
                        }
                    }
                    if (GUI.Button(new Rect(xpos, ypos, widthButton, heightButton), "Back"))
                    {
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }
        }
コード例 #19
0
ファイル: AutoNetwork.cs プロジェクト: jeevnayak/RPS
 void Awake()
 {
     nm = GameObject.Find ("Network Manager").GetComponent<NetworkManager> ();
     nm.StartMatchMaker ();
     networkMatch = nm.matchMaker;
 }
コード例 #20
0
        void OnGUI()
        {
            int        numPlayers     = lobby.GetComponent <Lobby> ().activePlayers;
            int        maxPlayers     = GetComponent <ControllerNet> ().maxPlayers;
            GameObject waitingPlayers = GameObject.Find("WaitingPlayers");

            if (waitingPlayers != null)
            {
                //Client ready but not the scene
                if (numPlayers < maxPlayers || maxPlayers == -1)
                {
                    if (NetworkClient.active || NetworkServer.active)
                    {
                        string strNumPlayers = "";

                        if (numPlayers == 0)
                        {
                            numPlayers = 1;
                        }

                        strNumPlayers = "Currently " + numPlayers;

                        if (maxPlayers != -1)
                        {
                            strNumPlayers += " of " + maxPlayers;
                        }

                        waitingPlayers.GetComponent <Text> ().text = "Waiting for other players\n" + strNumPlayers;
                    }
                }
                else
                {
                    if (waitingPlayers != null)
                    {
                        alphaBGWaitingPlayers -= Time.deltaTime;

                        if (alphaBGWaitingPlayers <= 0f)
                        {
                            alphaBGWaitingPlayers = 0f;
                            GameObject.Find("BGWaitingPlayers").SetActive(false);
                        }
                        else
                        {
                            //
                            Color alphaColor = new Color(1f, 1f, 1f, alphaBGWaitingPlayers);
                            GameObject.Find("BGWaitingPlayers").GetComponent <Image> ().color = alphaColor;
                            waitingPlayers.GetComponent <Text> ().color = alphaColor;
                            GameObject.Find("BGWaitingPlayers").transform.FindChild("Logo").GetComponent <Image> ().color = alphaColor;
                        }
                    }
                }
            }

            if (!showGUI)
            {
                return;
            }

            int xpos    = 10 + offsetX;
            int ypos    = 40 + offsetY;
            int spacing = 24;

            if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null)
            {
                if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Drifter"))
                {
                    classType = 0;
                }

                if (GUI.Button(new Rect(xpos + 100, ypos, 100, 20), "Miner"))
                {
                    classType = 1;
                }

                if (GUI.Button(new Rect(xpos + 200, ypos, 100, 20), "Camper"))
                {
                    classType = 2;
                }

                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Blue Team"))
                {
                    team = 0;
                }

                if (GUI.Button(new Rect(xpos + 100, ypos, 100, 20), "Red Team"))
                {
                    team = 1;
                }

                ypos += spacing;

                player = GUI.TextField(new Rect(xpos, ypos, 200, 20), player);
                ypos  += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Host(H)"))
                {
                    manager.StartHost();

                    //LoaderClass loaderScript = manager.playerPrefab.gameObject.GetComponent<LoaderClass> ();
                    //loaderScript.typeClass = classType;
                }
                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 105, 20), "LAN Client(C)"))
                {
                    manager.StartClient();

                    //LoaderClass loaderScript = manager.playerPrefab.gameObject.GetComponent<LoaderClass> ();
                    //loaderScript.typeClass = classType;
                }
                manager.networkAddress = GUI.TextField(new Rect(xpos + 100, ypos, 95, 20), manager.networkAddress);
                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Server Only(S)"))
                {
                    manager.StartServer();
                }
                ypos += spacing;
            }
            else
            {
                if (NetworkServer.active)
                {
                    //GUI.Label(new Rect(xpos, ypos, 300, 20), "Server: port=" + manager.networkPort);
                    //ypos += spacing;
                }
                if (NetworkClient.active)
                {
                    //GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
                    //ypos += spacing;
                }
            }

            if (NetworkClient.active && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);

                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || NetworkClient.active)
            {
                //if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (X)"))
                //{
                //	manager.StopHost();
                //}
                //ypos += spacing;
            }
            if (!NetworkServer.active && !NetworkClient.active)
            {
                ypos += 10;

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)"))
                    {
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match"))
                            {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:");
                            manager.matchName = GUI.TextField(new Rect(xpos + 100, ypos, 100, 20), manager.matchName);
                            ypos += spacing;

                            ypos += 10;

                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match"))
                            {
                                manager.matchMaker.ListMatches(0, 20, "", manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else
                        {
                            foreach (var match in manager.matches)
                            {
                                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name))
                                {
                                    manager.matchName = match.name;
                                    manager.matchSize = (uint)match.currentSize;
                                    manager.matchMaker.JoinMatch(match.networkId, "", manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }
                        }
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server"))
                    {
                        showServer = !showServer;
                    }
                    if (showServer)
                    {
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local"))
                        {
                            manager.SetMatchHost("localhost", 1337, false);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet"))
                        {
                            manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging"))
                        {
                            manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                    }

                    ypos += spacing;

                    GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri);
                    ypos += spacing;

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker"))
                    {
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }
        }
コード例 #21
0
 public void startMatchMaker()
 {
     manager.StartMatchMaker();
 }
コード例 #22
0
 private void StartMatchMaker()
 {
     manager.StartMatchMaker();
     NetworkPanel.SetActive(false);
     MatchMakerPanel.SetActive(true);
 }
コード例 #23
0
        void OnGUI()
        {
            if (isPaused)
            {
                // Si le bouton est présser alors isPaused devient faux donc le jeu reprend.
                if (GUI.Button(new Rect(Screen.width / 2 - 40, Screen.height / 2 - 20, 80, 40), "Continuer"))
                {
                    isPaused = false;
                }

                // Si le bouton est présser alors on ferme completement le jeu ou charge la scene "Menu Principal
                // Dans le cas du bouton quitter il faut augmenter sa postion Y pour qu'il soit plus bas
                if (GUI.Button(new Rect(Screen.width / 2 - 40, Screen.height / 2 + 40, 80, 40), "Quitter"))
                {
                    // Application.Quit();
                    manager.StopHost();
                    Application.LoadLevel("Menu");
                }
            }

            if (!showGUI)
            {
                return;
            }

            int       xpos    = 10 + offsetX;
            int       ypos    = 40 + offsetY;
            const int spacing = 24;

            bool noConnection = (manager.client == null || manager.client.connection == null ||
                                 manager.client.connection.connectionId == -1);

            if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null)
            {
                if (noConnection)
                {
                    if (UnityEngine.Application.platform != RuntimePlatform.WebGLPlayer)
                    {
                        if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Host(H)"))
                        {
                            manager.StartHost();
                        }
                        ypos += spacing;
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 105, 20), "LAN Client(C)"))
                    {
                        manager.StartClient();
                    }

                    manager.networkAddress = GUI.TextField(new Rect(xpos + 100, ypos, 95, 20), manager.networkAddress);
                    ypos += spacing;

                    if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                    {
                        // cant be a server in webgl build
                        GUI.Box(new Rect(xpos, ypos, 200, 25), "(  WebGL cannot be server  )");
                        ypos += spacing;
                    }
                    else
                    {
                        if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Server Only(S)"))
                        {
                            manager.StartServer();
                        }
                        ypos += spacing;
                    }
                }
                else
                {
                    GUI.Label(new Rect(xpos, ypos, 200, 20), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + "..");
                    ypos += spacing;


                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Cancel Connection Attempt"))
                    {
                        manager.StopClient();
                    }
                }
            }
            else
            {
                if (NetworkServer.active)
                {
                    string serverMsg = "Server: port=" + manager.networkPort;
                    if (manager.useWebSockets)
                    {
                        serverMsg += " (Using WebSockets)";
                    }
                    GUI.Label(new Rect(xpos, ypos, 300, 20), serverMsg);
                    ypos += spacing;
                }
                if (manager.IsClientConnected())
                {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
                    ypos += spacing;
                }
            }

            if (manager.IsClientConnected() && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);

                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || manager.IsClientConnected())
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (X)"))
                {
                    manager.StopHost();
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !manager.IsClientConnected() && noConnection)
            {
                ypos += 10;

                if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                {
                    GUI.Box(new Rect(xpos - 5, ypos, 220, 25), "(WebGL cannot use Match Maker)");
                    return;
                }

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)"))
                    {
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match"))
                            {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", "", "", 0, 0, manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:");
                            manager.matchName = GUI.TextField(new Rect(xpos + 100, ypos, 100, 20), manager.matchName);
                            ypos += spacing;

                            ypos += 10;

                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match"))
                            {
                                manager.matchMaker.ListMatches(0, 20, "", false, 0, 0, manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else
                        {
                            for (int i = 0; i < manager.matches.Count; i++)
                            {
                                var match = manager.matches[i];
                                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name))
                                {
                                    manager.matchName = match.name;
                                    manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }

                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Back to Match Menu"))
                            {
                                manager.matches = null;
                            }
                            ypos += spacing;
                        }
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server"))
                    {
                        m_ShowServer = !m_ShowServer;
                    }
                    if (m_ShowServer)
                    {
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local"))
                        {
                            manager.SetMatchHost("localhost", 1337, false);
                            m_ShowServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet"))
                        {
                            manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                            m_ShowServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging"))
                        {
                            manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                            m_ShowServer = false;
                        }
                    }

                    ypos += spacing;

                    GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri);
                    ypos += spacing;

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker"))
                    {
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }
        }
コード例 #24
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;
        }
コード例 #25
0
        void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }

            int       xpos    = 10 + offsetX;
            int       ypos    = 40 + offsetY;
            const int spacing = 24;

            GUI.skin.label.fontSize     = 12 * (int)scale;
            GUI.skin.button.fontSize    = 12 * (int)scale;
            GUI.skin.textField.fontSize = 12 * (int)scale;

            bool noConnection = (manager.client == null || manager.client.connection == null ||
                                 manager.client.connection.connectionId == -1);

            if (!manager.IsClientConnected() && !NetworkServer.active && manager.matchMaker == null)
            {
                if (noConnection)
                {
                    if (UnityEngine.Application.platform != RuntimePlatform.WebGLPlayer)
                    {
                        if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "LAN Host(H)"))
                        {
                            manager.StartHost();
                        }
                        ypos += spacing;
                    }

                    if (GUI.Button(ScaleRect(xpos, ypos, 105, 20), "LAN Client(C)"))
                    {
                        manager.StartClient();
                    }

                    manager.networkAddress = GUI.TextField(ScaleRect(xpos + 100, ypos, 95, 20), manager.networkAddress);
                    ypos += spacing;

                    if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                    {
                        // cant be a server in webgl build
                        GUI.Box(ScaleRect(xpos, ypos, 200, 25), "(  WebGL cannot be server  )");
                        ypos += spacing;
                    }
                    else
                    {
                        if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "LAN Server Only(S)"))
                        {
                            manager.StartServer();
                        }
                        ypos += spacing;
                    }
                }
                else
                {
                    GUI.Label(ScaleRect(xpos, ypos, 200, 20), "Connecting to " + manager.networkAddress + ":" + manager.networkPort + "..");
                    ypos += spacing;


                    if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Cancel Connection Attempt"))
                    {
                        manager.StopClient();
                    }
                }
            }
            else
            {
                if (NetworkServer.active)
                {
                    string serverMsg = "Server: port=" + manager.networkPort;
                    if (manager.useWebSockets)
                    {
                        serverMsg += " (Using WebSockets)";
                    }
                    GUI.Label(ScaleRect(xpos, ypos, 300, 20), serverMsg);
                    ypos += spacing;
                }
                if (manager.IsClientConnected())
                {
                    GUI.Label(ScaleRect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
                    ypos += spacing;
                }
            }

            if (manager.IsClientConnected() && !ClientScene.ready)
            {
                if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);

                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }

            if (NetworkServer.active || manager.IsClientConnected())
            {
                if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Stop (X)"))
                {
                    manager.StopHost();
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !manager.IsClientConnected() && noConnection)
            {
                ypos += 10;

                if (UnityEngine.Application.platform == RuntimePlatform.WebGLPlayer)
                {
                    GUI.Box(ScaleRect(xpos - 5, ypos, 220, 25), "(WebGL cannot use Match Maker)");
                    return;
                }

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Enable Match Maker (M)"))
                    {
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Create Internet Match"))
                            {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", "", "", 0, 0, manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(ScaleRect(xpos, ypos, 100, 20), "Room Name:");
                            manager.matchName = GUI.TextField(ScaleRect(xpos + 100, ypos, 100, 20), manager.matchName);
                            ypos += spacing;

                            ypos += 10;

                            if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Find Internet Match"))
                            {
                                manager.matchMaker.ListMatches(0, 20, "", false, 0, 0, manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else
                        {
                            for (int i = 0; i < manager.matches.Count; i++)
                            {
                                var match = manager.matches[i];
                                if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Join Match:" + match.name))
                                {
                                    manager.matchName = match.name;
                                    manager.matchMaker.JoinMatch(match.networkId, "", "", "", 0, 0, manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }

                            if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Back to Match Menu"))
                            {
                                manager.matches = null;
                            }
                            ypos += spacing;
                        }
                    }

                    if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Change MM server"))
                    {
                        m_ShowServer = !m_ShowServer;
                    }
                    if (m_ShowServer)
                    {
                        ypos += spacing;
                        if (GUI.Button(ScaleRect(xpos, ypos, 100, 20), "Local"))
                        {
                            manager.SetMatchHost("localhost", 1337, false);
                            m_ShowServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(ScaleRect(xpos, ypos, 100, 20), "Internet"))
                        {
                            manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                            m_ShowServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(ScaleRect(xpos, ypos, 100, 20), "Staging"))
                        {
                            manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                            m_ShowServer = false;
                        }
                    }

                    ypos += spacing;

                    GUI.Label(ScaleRect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri);
                    ypos += spacing;

                    if (GUI.Button(ScaleRect(xpos, ypos, 200, 20), "Disable Match Maker"))
                    {
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }
        }
コード例 #26
0
        public void OnGUI()
        {
            if (!showGUI)
            {
                return;
            }

            int xpos    = 10 + offsetX;
            int ypos    = 40 + offsetY;
            int spacing = 24;

            if (!NetworkClient.active && !NetworkServer.active && manager.matchMaker == null)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Host(H)"))
                {
                    this.showGUI = false;
                    Debug.Log("Starting host.");
                    manager.StartHost();
                }
                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 105, 20), "LAN Client(C)"))
                {
                    Debug.Log("Starting client.");
                    manager.StartClient();
                }
                manager.networkAddress = GUI.TextField(new Rect(xpos + 100, ypos, 95, 20), manager.networkAddress);
                ypos += spacing;

                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "LAN Server Only(S)"))
                {
                    this.showGUI = false;
                    Debug.Log("Starting server.");
                    manager.StartServer();
                }
                ypos += spacing;
            }
            else
            {
                if (NetworkServer.active)
                {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Server: address=" + manager.networkAddress + " port=" + manager.networkPort, this.style);
                    ypos += spacing;
                }
                else if (NetworkClient.active)
                {
                    GUI.Label(new Rect(xpos, ypos, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort, this.style);
                    ypos += spacing;
                }
            }

            if (NetworkClient.active && !ClientScene.ready)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Client Ready"))
                {
                    ClientScene.Ready(manager.client.connection);
                    this.showGUI = false;
                    if (ClientScene.localPlayers.Count == 0)
                    {
                        ClientScene.AddPlayer(0);
                    }
                }
                ypos += spacing;
            }


            if (NetworkServer.active || NetworkClient.active)
            {
                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop (K)"))
                {
                    Debug.Log("Stopping host.");
                    manager.StopHost();
                    if (NetworkClient.active)
                    {
                        Debug.Log("Also stopping client.");
                        manager.StopClient();
                    }
                    this.showGUI = true;
                }
                ypos += spacing;
            }

            if (!NetworkServer.active && !NetworkClient.active)
            {
                ypos += 10;

                if (manager.matchMaker == null)
                {
                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Enable Match Maker (M)"))
                    {
                        Debug.Log("Starting match maker.");
                        manager.StartMatchMaker();
                    }
                    ypos += spacing;
                }
                else
                {
                    if (manager.matchInfo == null)
                    {
                        if (manager.matches == null)
                        {
                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Create Internet Match"))
                            {
                                manager.matchMaker.CreateMatch(manager.matchName, manager.matchSize, true, "", manager.OnMatchCreate);
                            }
                            ypos += spacing;

                            GUI.Label(new Rect(xpos, ypos, 100, 20), "Room Name:");
                            manager.matchName = GUI.TextField(new Rect(xpos + 100, ypos, 100, 20), manager.matchName);
                            ypos += spacing;

                            ypos += 10;

                            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Find Internet Match"))
                            {
                                manager.matchMaker.ListMatches(0, 20, "", manager.OnMatchList);
                            }
                            ypos += spacing;
                        }
                        else
                        {
                            foreach (var match in manager.matches)
                            {
                                if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Join Match:" + match.name))
                                {
                                    manager.matchName = match.name;
                                    manager.matchSize = (uint)match.currentSize;
                                    manager.matchMaker.JoinMatch(match.networkId, "", manager.OnMatchJoined);
                                }
                                ypos += spacing;
                            }
                        }
                    }

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Change MM server"))
                    {
                        showServer = !showServer;
                    }
                    if (showServer)
                    {
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Local"))
                        {
                            manager.SetMatchHost("localhost", 1337, false);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Internet"))
                        {
                            manager.SetMatchHost("mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                        ypos += spacing;
                        if (GUI.Button(new Rect(xpos, ypos, 100, 20), "Staging"))
                        {
                            manager.SetMatchHost("staging-mm.unet.unity3d.com", 443, true);
                            showServer = false;
                        }
                    }

                    ypos += spacing;

                    GUI.Label(new Rect(xpos, ypos, 300, 20), "MM Uri: " + manager.matchMaker.baseUri);
                    ypos += spacing;

                    if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Disable Match Maker"))
                    {
                        Debug.Log("Stopping match maker.");
                        manager.StopMatchMaker();
                    }
                    ypos += spacing;
                }
            }

            if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Return to Main Menu"))
            {
                if (NetworkServer.active || NetworkClient.active)
                {
                    Debug.Log("Stopping host.");
                    manager.StopHost();
                    this.showGUI = false;
                }


#if (UNITY_5_2_3 || UNITY_5_2_4)
                Application.LoadLevel("menu");
#else
                SceneManager.LoadScene("menu");
#endif
            }
            ypos += spacing;
        }