Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public var playerList = new ArrayList();
  2. private var CommGO : LoginScreen;
  3. class playerInfo
  4. {
  5.     var playerName : String;
  6.     var networkPlayer : NetworkPlayer;
  7.     var clanTag : String;
  8. }
  9.  
  10. function Awake()
  11. {
  12.     CommGO = GameObject.Find("Login").GetComponent(LoginScreen);
  13.     playerName = CommGO.PlayerName;
  14.     playerName = PlayerPrefs.GetString("PlayerName");
  15.     networkView.RPC("BroadcastPlayerInfo", RPCMode.AllBuffered, PlayerPrefs.GetString("PlayerName"), PlayerPrefs.GetString("ClanTag"));
  16. }
  17.  
  18. function OnGUI()
  19. {
  20.     GUI.skin = mySkin;
  21.     GUI.BeginGroup(Rect(Screen.width/2 - 275, Screen.height/2 - 175, 550, 350), "", "Box");
  22.     for(var i = 0; i < playerList.Count; i++)
  23.     {
  24.         GUI.Label(Rect(20, 70 + i * 30, 225, 30), playerList[i].playerName);
  25.     }
  26.     if(Network.isServer)
  27.     {
  28.         if(GUI.Button(Rect(340, 100, 200, 60), "Start"))
  29.         {
  30.             networkView.RPC("BeginGame", RPCMode.AllBuffered);
  31.         }
  32.     }
  33.    
  34.     if(GUI.Button(Rect(340, 170, 200, 60), "Main Menu"))
  35.     {
  36.         Network.Disconnect();
  37.     }
  38.     GUI.EndGroup();
  39. }
  40.  
  41. @RPC
  42. function BroadcastPlayerInfo(name : String, clan : String, info : NetworkMessageInfo)
  43. {
  44.     var netPlayer : NetworkPlayer = info.sender;
  45.     if(netPlayer + "" == "-1")
  46.     {
  47.         netPlayer = Network.player;
  48.     }
  49.     var newEntry : playerInfo = new playerInfo();
  50.     newEntry.playerName = name;
  51.     newEntry.networkPlayer = netPlayer;
  52.     newEntry.clanTag = clan;
  53.     playerList.Add(newEntry);
  54. }
  55.  
  56. @RPC
  57. function BeginGame()
  58. {
  59.     Network.SetSendingEnabled(0, false);
  60.     Network.isMessageQueueRunning = false;
  61.     Application.LoadLevel(1);
  62. }
  63.  
  64. function OnPlayerDisconnected(player: NetworkPlayer)
  65. {
  66.     Network.RemoveRPCs(player, 0);
  67.     Network.DestroyPlayerObjects(player);
  68.    
  69.     for(var entry : playerInfo in  playerList)
  70.     {
  71.         if(entry.networkPlayer == player)
  72.         {
  73.             playerList.Remove(entry);
  74.             break;
  75.         }
  76.     }
  77.     //Application.LoadLevel(Application.LoadedLevel);
  78. }
  79.  
  80. function OnDisconnectedFromServer()
  81. {
  82.     Destroy(gameObject);
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement