Advertisement
Guest User

Untitled

a guest
Sep 11th, 2016
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.07 KB | None | 0 0
  1. Client:
  2. #if ENABLE_UNET
  3.  
  4. using UnityEngine.SceneManagement;
  5. using UnityEngine.UI;
  6.  
  7. namespace UnityEngine.Networking
  8. {
  9.     [RequireComponent(typeof(NetworkManager))]
  10.     [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  11.     public class ConnectClient : NetworkBehaviour
  12.     {
  13.         public NetworkLobbyManager manager;
  14.         public string ip = "81.201.63.53";
  15.         public string port = "25565";
  16.  
  17.         [SyncVar(hook = "OnColorChanged")]
  18.         public Color myColor;
  19.  
  20.         void Awake()
  21.         {
  22.             manager = GetComponent<NetworkLobbyManager>();
  23.         }
  24.  
  25.         void OnGUI()
  26.         {
  27.             int xpos = 10;
  28.             int ypos = 40;
  29.             if (!NetworkClient.active && manager.matchMaker == null)
  30.             {
  31.                 if (GUI.Button(new Rect(xpos, ypos , 105, 20), "Connect"))
  32.                 {
  33.                     manager.networkAddress = ip;
  34.                     manager.networkPort = int.Parse(port);
  35.                     manager.StartClient();
  36.                     SceneManager.LoadScene("server", LoadSceneMode.Additive);
  37.                     SceneManager.SetActiveScene(SceneManager.GetSceneByName("server"));
  38.                 }
  39.                 ip = GUI.TextField(new Rect(xpos + 115, ypos, 95, 20), ip);
  40.                 port = GUI.TextField(new Rect(xpos + 210, ypos, 95, 20), port);
  41.             }
  42.             else
  43.             {
  44.                 GUI.Label(new Rect(xpos, ypos + 60, 300, 20), "Client: address=" + manager.networkAddress + " port=" + manager.networkPort);
  45.             }
  46.         }
  47.  
  48.         void OnColorChanged(Color value)
  49.         {
  50.             myColor = value;
  51.             GameObject.FindWithTag("cube").GetComponent<Renderer>().material.color = myColor;
  52.         }
  53.     }
  54. }
  55. #endif //ENABLE_UNET
  56.  
  57. Server:
  58.  
  59. #if ENABLE_UNET
  60.  
  61. using System.Threading;
  62. using UnityEngine.UI;
  63.  
  64. namespace UnityEngine.Networking
  65. {
  66.     [RequireComponent(typeof(NetworkManager))]
  67.     [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
  68.     public class StartHost : NetworkBehaviour
  69.     {
  70.         public NetworkLobbyManager manager;
  71.         public string port = "25565";
  72.         public float countdown = 10.0f;
  73.         public Text gameStartsText;
  74.  
  75.         [SyncVar(hook = "OnColorChanged")]
  76.         public Color myColor;
  77.  
  78.         // Runtime variable
  79.  
  80.         void Awake()
  81.         {
  82.             manager = GetComponent<NetworkLobbyManager>();
  83.         }
  84.  
  85.         void Update()
  86.         {
  87.             if (NetworkServer.connections.Count >= manager.minPlayers)
  88.             {
  89.                 if (countdown >= 0)
  90.                 {
  91.                     if (countdown <= 30)
  92.                     {
  93.                         myColor = Color.red;
  94.                         gameStartsText.text = "The game begins in " + countdown.ToString("0") + " seconds";
  95.                     }
  96.  
  97.                     countdown -= Time.deltaTime;
  98.                 }
  99.             }
  100.         }
  101.  
  102.         void OnGUI()
  103.         {
  104.             int xpos = 10;
  105.             int ypos = 40;
  106.  
  107.             if (!NetworkServer.active && manager.matchMaker == null)
  108.             {
  109.                 if (GUI.Button(new Rect(xpos, ypos, 105, 20), "Start server"))
  110.                 {
  111.                     manager.networkPort = int.Parse(port);
  112.                     manager.StartServer();
  113.                 }
  114.                 port = GUI.TextField(new Rect(xpos + 115, ypos, 95, 20), port);
  115.             }
  116.             else
  117.             {
  118.                 GUI.Label(new Rect(xpos, ypos + 30, 300, 20), "Server: port=" + manager.networkPort);
  119.             }
  120.  
  121.             if (NetworkServer.active)
  122.             {
  123.                 if (GUI.Button(new Rect(xpos, ypos, 200, 20), "Stop server"))
  124.                 {
  125.                     manager.StopHost();
  126.                 }
  127.             }
  128.         }
  129.  
  130.         void OnColorChanged(Color value)
  131.         {
  132.             myColor = value;
  133.             GameObject.FindWithTag("cube").GetComponent<Renderer>().material.color = myColor;
  134.         }
  135.     }
  136. };
  137. #endif //ENABLE_UNET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement