SHARE
TWEET

Untitled

a guest Apr 23rd, 2015 425 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top