Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2015
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections.Generic;
  3. using System.Collections;
  4.  
  5. public class NetworkManager1 : Photon.MonoBehaviour {
  6.  
  7. private bool spawn = false;
  8. private int maxPlayer = 1;
  9. private Room[] game;
  10. private string roomName = "DEFAULT ROOM NAME";
  11. bool connecting = false;
  12. List<string> chatMessages;
  13. int maxChatMessages = 5;
  14. private string maxPlayerString = "2";
  15. public string Version = "Version 1";
  16. private Vector3 up;
  17. public string gamescene = "";
  18. private Vector2 scrollPosition;
  19.  
  20. void Start (){
  21. PhotonNetwork.player.name = PlayerPrefs.GetString("Username", "My Player name");
  22. chatMessages = new List<string>();
  23. }
  24.  
  25. void OnDestroy(){
  26. PlayerPrefs.SetString("Username", PhotonNetwork.player.name);
  27. }
  28.  
  29. public void AddChatMessage(string m){
  30. GetComponent<PhotonView>().RPC("AddChatMessage_RPC", PhotonTargets.AllBuffered, m);
  31. }
  32.  
  33. [RPC]
  34. void AddChatMessage_RPC(string m){
  35. while(chatMessages.Count >= maxChatMessages){
  36. chatMessages.RemoveAt(0);
  37. }
  38. chatMessages.Add(m);
  39. }
  40.  
  41. void Connect(){
  42. PhotonNetwork.ConnectUsingSettings(Version);
  43. }
  44.  
  45. void OnGUI(){
  46. GUI.color = Color.grey;
  47. if(PhotonNetwork.connected == false && connecting == false ) {
  48. GUILayout.BeginArea( new Rect(0, 0, Screen.width, Screen.height) );
  49. GUILayout.BeginHorizontal();
  50. GUILayout.FlexibleSpace();
  51. GUILayout.BeginVertical();
  52. GUILayout.FlexibleSpace();
  53.  
  54. GUILayout.BeginHorizontal();
  55. GUILayout.Label("Username: ");
  56. PhotonNetwork.player.name = GUILayout.TextField(PhotonNetwork.player.name);
  57. GUILayout.EndHorizontal();
  58.  
  59. if( GUILayout.Button("Multi Player") ) {
  60. connecting = true;
  61. Connect ();
  62. }
  63. GUILayout.FlexibleSpace();
  64. GUILayout.EndVertical();
  65. GUILayout.FlexibleSpace();
  66. GUILayout.EndHorizontal();
  67. GUILayout.EndArea();
  68. }
  69. if(PhotonNetwork.connected == true && connecting == false) {
  70. GUILayout.BeginArea( new Rect(0, 0, Screen.width, Screen.height) );
  71. GUILayout.BeginVertical();
  72. GUILayout.FlexibleSpace();
  73.  
  74. foreach(string msg in chatMessages) {
  75. GUILayout.Label(msg);
  76. }
  77.  
  78. GUILayout.EndVertical();
  79. GUILayout.EndArea();
  80.  
  81. }
  82.  
  83. if (PhotonNetwork.insideLobby == true) {
  84.  
  85. GUI.Box(new Rect(Screen.width/2.5f , Screen.height /3f , 400, 550),"");
  86. GUI.color = Color.white;
  87. GUILayout.BeginArea (new Rect(Screen.width/2.5f , Screen.height /3 , 400, 500));
  88. GUI.color = Color.cyan;
  89. GUILayout.Box ("Lobby");
  90. GUI.color = Color.white;
  91.  
  92. GUILayout.Label("Session Name:");
  93. roomName = GUILayout.TextField(roomName);
  94. GUILayout.Label ("Max amount of players 1 - 20:");
  95. maxPlayerString = GUILayout.TextField (maxPlayerString,2);
  96. if (maxPlayerString != "") {
  97.  
  98. maxPlayer = int.Parse (maxPlayerString);
  99.  
  100. if (maxPlayer > 20) maxPlayer = 20;
  101. if (maxPlayer == 0) maxPlayer = 1;
  102. }
  103. else
  104. {
  105. maxPlayer = 1;
  106. }
  107.  
  108. if ( GUILayout.Button ("Create Room ") ) {
  109. if (roomName != "" && maxPlayer > 0) {
  110. PhotonNetwork.CreateRoom(roomName,true,true,maxPlayer);
  111. }
  112. }
  113.  
  114. GUILayout.Space (20);
  115. GUI.color = Color.yellow;
  116. GUILayout.Box ("Sessions Open");
  117. GUI.color = Color.red;
  118. GUILayout.Space (20);
  119.  
  120. scrollPosition = GUILayout.BeginScrollView(scrollPosition, false,true,GUILayout.Width(400), GUILayout.Height(300));
  121.  
  122.  
  123. foreach (RoomInfo game in PhotonNetwork.GetRoomList ())
  124. {
  125. GUI.color = Color.green;
  126. GUILayout.Box (game.name + " " + game.playerCount + "/" + game.maxPlayers + " " + game.visible);
  127. if ( GUILayout.Button ("Join Session") ) {
  128. PhotonNetwork.JoinRoom(game.name);
  129. }
  130. }
  131. GUILayout.EndScrollView ();
  132. GUILayout.EndArea ();
  133. }
  134. }
  135.  
  136. void OnJoinedLobby(){
  137. Debug.Log ("OnJoinedLobby");
  138.  
  139. }
  140.  
  141. void OnPhotonRandomJoinFailed(){
  142. Debug.Log("OnPhotonRandomJoinFailed");
  143. PhotonNetwork.CreateRoom( null );
  144.  
  145. }
  146.  
  147.  
  148. void OnJoinedRoom(){
  149. Debug.Log("OnJoinedRoom");
  150. connecting = false;
  151. PhotonNetwork.LoadLevel (gamescene);
  152. //spawn = true;
  153.  
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement