public void OnGUI() { if (autoStart || noGUI) { return; } float screenIncrement; GUI.Box(new Rect((Screen.width/2)-300,10,600,35), "Welcome to the Cipher Prime Master Server. You are playing " + gameName + "."); switch (_loginPhase) { case (LoginPhase.START): screenIncrement = Screen.width/10f; if(GUI.Button(new Rect(Screen.width/4-screenIncrement,Screen.height/2-25,screenIncrement*2,50),"Start Game")) { Debug.Log("Starting server named: " + _instanceName); StartServer(); } GUI.Label(new Rect(Screen.width/4-screenIncrement,Screen.height/2-200,screenIncrement*2,25),"Game Name"); GUI.Label(new Rect(Screen.width/4-screenIncrement,Screen.height/2-150,screenIncrement*2,25),"# Players"); GUI.Label(new Rect(Screen.width/4-screenIncrement,Screen.height/2-100,screenIncrement*2,25),"Description"); _instanceName = GUI.TextField(new Rect(Screen.width/4-screenIncrement,Screen.height/2-175,screenIncrement*2,25),_instanceName); _numPlayers = GUI.TextField(new Rect(Screen.width/4-screenIncrement,Screen.height/2-125,screenIncrement,25),_numPlayers); _instanceMessage = GUI.TextField(new Rect(Screen.width/4-screenIncrement,Screen.height/2-75,screenIncrement*3,25),_instanceMessage); if(GUI.Button(new Rect(3*Screen.width/4-screenIncrement,Screen.height/2-25,screenIncrement*2,50), "Find Game")) { Debug.Log("Refreshing server list."); RequestHostList(); } break; case (LoginPhase.LOBBY): screenIncrement = Screen.width/10f; if(GUI.Button(new Rect(10,10,screenIncrement*2,50),"Return")) { if (Network.isServer) { _loginPhase = LoginPhase.SERVER; } else { _loginPhase = LoginPhase.START; } } if(GUI.Button(new Rect(Screen.width-(screenIncrement*2)-10,10,screenIncrement*2,50), "Refresh Server List")) { Debug.Log("Refreshing server list."); RequestHostList(); } if (_hostData == null) return; GUI.Box(new Rect((Screen.width/2)-200,40,400,35), "There are currently " + _hostData.Length + " servers with " + _totalPlayerCount + " players."); screenIncrement = Screen.width/6; for (int i = 0; i < 6; i++) { GUI.Label(new Rect(10+i*screenIncrement,130,100,25),_gameInfoLabels[i]); } // gameName, connectedPlayers, playerLimit, ip, port, comment for (int i = 0; i < 10; i++) { if(i < _hostData.Length ) { GUI.Label(new Rect(10, 150 + i * 40,screenIncrement,25),_hostData[i].ip[0]); GUI.Label(new Rect(10+screenIncrement*1, 150 + i * 40,screenIncrement,25),_hostData[i].port.ToString()); GUI.Label(new Rect(10+screenIncrement*2, 150 + i * 40,screenIncrement,25),_hostData[i].connectedPlayers.ToString() + "/" + _hostData[i].playerLimit.ToString()); GUI.Label(new Rect(10+screenIncrement*3, 150 + i * 40,screenIncrement,25),_hostData[i].gameName); GUI.Label(new Rect(10+screenIncrement*4, 150 + i * 40,screenIncrement,25),_hostData[i].comment); /* if (_hostData[i].ip[0] == Network.player.ipAddress) { if(GUI.Button(new Rect(screenIncrement*5-10, 150 + i * 40, screenIncrement,25),"Join Your Server As Client")) { //_loginPhase = LoginPhase.SERVER; Debug.Log("Joining " + _hostData[i].gameName); _connectedHost = _hostData[i]; ConnectToServer(_hostData[i]); } } else { */ if(GUI.Button(new Rect(screenIncrement*5-10, 150 + i * 40, screenIncrement,25),"Join Server")) { Debug.Log("Joining " + _hostData[i].gameName); _connectedHost = _hostData[i]; ConnectToServer(_hostData[i]); } } else { //TODO Remove Spoof data. /* GUI.Label(new Rect(10, 150 + i * 40,screenIncrement,25),"Spoof Data Server" + i); GUI.Label(new Rect(10+screenIncrement*1, 150 + i * 40,screenIncrement,25),"Spoof Data Server" + i); GUI.Label(new Rect(10+screenIncrement*2, 150 + i * 40,screenIncrement,25),"Spoof Data Server" + i); GUI.Label(new Rect(10+screenIncrement*3, 150 + i * 40,screenIncrement,25),"Spoof Data Server" + i); GUI.Label(new Rect(10+screenIncrement*4, 150 + i * 40,screenIncrement,25),"Spoof Data Server" + i); */ } } break; case (LoginPhase.SERVER): screenIncrement = Screen.width/10f; GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 10, screenIncrement*4,25),"Game started. Waiting for partner..."); GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 35, screenIncrement*4,25),"Game name: " + _instanceName); GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 60, screenIncrement*4,25),"Number of players: " + (Network.connections.Length + 1 ) + "/" + (Network.maxConnections + 1)); GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 85, screenIncrement*4,screenIncrement*4),"Server description: " + _instanceMessage); if (Network.connections.Length > 0) { if(GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2,screenIncrement*4,50),"Start Game")) { Debug.Log("Starting game..."); Network.Instantiate(networkedSceneLoader, transform.position,Quaternion.identity,0); } } else { GUI.Box(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2,screenIncrement*4,50),"Waiting for partner..."); } if (GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2+60,screenIncrement*4,50),"Close Game")) { Debug.Log("Shutting down server."); Network.Disconnect(); MasterServer.UnregisterHost(); _loginPhase = LoginPhase.START; gameReadyMessage = "Enter Game"; } //TODO will this be allowed? /* if (GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2+120,screenIncrement*4,50),"View Other Games")) { Debug.Log("Viewing server list."); RequestHostList(); _loginPhase = LoginPhase.LOBBY; } */ break; case (LoginPhase.CLIENT): screenIncrement = Screen.width/10f; GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 10, screenIncrement*4,25),"Server started."); GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 35, screenIncrement*4,25),"Server name: " + _instanceName); GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 60, screenIncrement*4,25),"Number of players: " + (_connectedHost.connectedPlayers+ 1) + "/" + (_connectedHost.playerLimit)); GUI.Label(new Rect((Screen.width/2)-((screenIncrement*4)/2), screenIncrement + 85, screenIncrement*4,screenIncrement*4),"Server description: " + _instanceMessage); /* if(GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2,screenIncrement*4,50),gameReadyMessage)) { Debug.Log("Waiting for server."); //Application.LoadLevel(sceneToLoad); gameReadyMessage = "Waiting for Server Start."; } */ GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2,screenIncrement*4,50),"Waiting for game start..."); if (GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2+60,screenIncrement*4,50),"Leave Game")) { Debug.Log("Shutting down server."); Network.Disconnect(); MasterServer.UnregisterHost(); _loginPhase = LoginPhase.START; } /* if (GUI.Button(new Rect((Screen.width/2)-((screenIncrement*4)/2),Screen.height/2+120,screenIncrement*4,50),"View Other Servers")) { Debug.Log("Viewing server list."); RequestHostList(); _loginPhase = LoginPhase.LOBBY; } */ break; } }
public void OnConnectedToServer() { Debug.Log("OnConnectedToServer."); _loginPhase = LoginPhase.CLIENT; _playerManager.SetPlayerTwo(); }
public void OnConnectedToServer() { Debug.Log("OnConnectedToServer."); _loginPhase = LoginPhase.CLIENT; }
public void OnMasterServerEvent(MasterServerEvent msEvent) { switch (msEvent) { case (MasterServerEvent.RegistrationSucceeded): Debug.Log("RegistrationSucceeded, waiting for player."); _loginPhase = LoginPhase.SERVER; break; case (MasterServerEvent.HostListReceived): _hostData = MasterServer.PollHostList(); Debug.Log("HostList received..."); Debug.Log("There are " + _hostData.Length + " servers."); _loginPhase = LoginPhase.LOBBY; if (autoStart) { if (_hostData.Length == 0) { StartServer(); } else if (_hostData.Length > 0) { foreach(HostData host in _hostData) { if (host.connectedPlayers == 1) { ConnectToServer(host); return; } else if (host.connectedPlayers > 1) { continue; } } StartServer(); } } break; } }
public void OnMasterServerEvent(MasterServerEvent msEvent) { switch (msEvent) { case (MasterServerEvent.RegistrationSucceeded): Debug.Log("RegistrationSucceeded, waiting for player."); _loginPhase = LoginPhase.SERVER; break; case (MasterServerEvent.HostListReceived): _hostData = MasterServer.PollHostList(); Debug.Log("HostList received..."); Debug.Log("There are " + _hostData.Length + " servers."); _loginPhase = LoginPhase.LOBBY; break; } }