Advertisement
irishstorm

Unity_Networking_Basic

Oct 17th, 2012
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. /* GUI */
  2. private var button_X : float;
  3. private var button_Y : float;
  4. private var button_W : float;
  5. private var button_H : float;
  6.  
  7. /* Host Settings */
  8. public var gameName : String = "Game Name";
  9. public var hostName : String = "Test Server";
  10. public var hostDescription : String = "This is a test server.";
  11.  
  12. /* Server */
  13. private var refreshing : boolean = false;
  14. private var hostData : HostData[];
  15. var spawn : Transform;
  16. var player : GameObject;
  17.  
  18. function Start()
  19. {
  20. button_X = Screen.width * 0.05;
  21. button_Y = Screen.width * 0.05;
  22. button_W = Screen.width * 0.1;
  23. button_H = Screen.width * 0.1;
  24.  
  25. }
  26.  
  27. function startServer()
  28. {
  29. Network.InitializeServer(32, 25000, !Network.HavePublicAddress);
  30. MasterServer.RegisterHost(gameName, hostName, hostDescription);
  31. }
  32.  
  33. function refreshHostList()
  34. {
  35. MasterServer.RequestHostList(gameName);
  36. refreshing = true;
  37. }
  38. function Spawn()
  39. {
  40. Network.Instantiate(player, spawn.position, Quaternion.identity, 0);
  41. }
  42.  
  43. function OnServerInitialized()
  44. {
  45. Debug.Log("Server Initialized");
  46. Spawn();
  47. }
  48.  
  49. function OnConnectedToServer()
  50. {
  51. Spawn();
  52. }
  53.  
  54. function Update()
  55. {
  56. if(refreshing)
  57. {
  58. if(MasterServer.PollHostList().Length > 0)
  59. {
  60. refreshing = false;
  61. Debug.Log(MasterServer.PollHostList().Length);
  62. hostData = MasterServer.PollHostList();
  63. }
  64. }
  65. }
  66.  
  67. function OnMasterServerEvent(mse : MasterServerEvent)
  68. {
  69. // checks for events.
  70. if(mse == MasterServerEvent.RegistrationSucceeded)
  71. {
  72. Debug.Log("Server is Registered");
  73. }
  74. }
  75.  
  76. function OnGUI()
  77. {
  78. if(!Network.isClient && !Network.isServer)
  79. {
  80. if(GUI.Button(Rect(button_X, button_Y, button_W, button_H), "Start Server"))
  81. {
  82. Debug.Log("Starting Server");
  83. startServer();
  84. }
  85.  
  86. if(GUI.Button(Rect(button_X, button_Y * 1.2 + button_H, button_W, button_H), "Refreash Host"))
  87. {
  88. Debug.Log("Refreashing");
  89. refreshHostList();
  90. }
  91.  
  92. if(hostData)
  93. {
  94. for(var i : int = 0; i < hostData.length; i++)
  95. {
  96. if(GUI.Button(Rect(button_X * 1.2 + button_W, button_Y * 1.2 +(button_H * i), button_W * 3, button_H * 0.5), hostData[i].gameName))
  97. {
  98. Network.Connect(hostData[i]);
  99. }
  100. }
  101. }
  102. }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement