Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Client:
- #if ENABLE_UNET
- using UnityEngine.SceneManagement;
- using UnityEngine.UI;
- namespace UnityEngine.Networking
- {
- [RequireComponent(typeof(NetworkManager))]
- [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
- public class ConnectClient : NetworkBehaviour
- {
- public NetworkLobbyManager manager;
- public string ip = "81.201.63.53";
- public string port = "25565";
- [SyncVar(hook = "OnColorChanged")]
- public Color myColor;
- void Awake()
- {
- manager = GetComponent<NetworkLobbyManager>();
- }
- void OnGUI()
- {
- int xpos = 10;
- int ypos = 40;
- if (!NetworkClient.active && manager.matchMaker == null)
- {
- if (GUI.Button(new Rect(xpos, ypos , 105, 20), "Connect"))
- {
- manager.networkAddress = ip;
- manager.networkPort = int.Parse(port);
- manager.StartClient();
- SceneManager.LoadScene("server", LoadSceneMode.Additive);
- SceneManager.SetActiveScene(SceneManager.GetSceneByName("server"));
- }
- ip = GUI.TextField(new Rect(xpos + 115, ypos, 95, 20), ip);
- port = GUI.TextField(new Rect(xpos + 210, ypos, 95, 20), port);
- }
- else
- {
- GUI.Label(new Rect(xpos, ypos + 60, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
- }
- }
- void OnColorChanged(Color value)
- {
- myColor = value;
- GameObject.FindWithTag("cube").GetComponent<Renderer>().material.color = myColor;
- }
- }
- }
- #endif //ENABLE_UNET
- Server:
- #if ENABLE_UNET
- using System.Threading;
- using UnityEngine.UI;
- namespace UnityEngine.Networking
- {
- [RequireComponent(typeof(NetworkManager))]
- [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
- public class StartHost : NetworkBehaviour
- {
- public NetworkLobbyManager manager;
- public string port = "25565";
- public float countdown = 10.0f;
- public Text gameStartsText;
- [SyncVar(hook = "OnColorChanged")]
- public Color myColor;
- // Runtime variable
- void Awake()
- {
- manager = GetComponent<NetworkLobbyManager>();
- }
- void Update()
- {
- if (NetworkServer.connections.Count >= manager.minPlayers)
- {
- if (countdown >= 0)
- {
- if (countdown <= 30)
- {
- myColor = Color.red;
- gameStartsText.text = "The game begins in " + countdown.ToString("0") + " seconds";
- }
- countdown -= Time.deltaTime;
- }
- }
- }
- void OnGUI()
- {
- int xpos = 10;
- int ypos = 40;
- if (!NetworkServer.active && manager.matchMaker == null)
- {
- if (GUI.Button(new Rect(xpos, ypos, 105, 20), "Start server"))
- {
- manager.networkPort = int.Parse(port);
- manager.StartServer();
- }
- port = GUI.TextField(new Rect(xpos + 115, ypos, 95, 20), port);
- }
- else
- {
- GUI.Label(new Rect(xpos, ypos + 30, 300, 20), "Server: port=" + manager.networkPort);
- }
- if (NetworkServer.active)
- {
- if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop server"))
- {
- manager.StopHost();
- }
- }
- }
- void OnColorChanged(Color value)
- {
- myColor = value;
- GameObject.FindWithTag("cube").GetComponent<Renderer>().material.color = myColor;
- }
- }
- };
- #endif //ENABLE_UNET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement