Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Network Mutiplayer Script developed by Jordan over at https://twitter.com/SecurityAnalyst
- //Unity 3D
- var playerPrefab:GameObject;
- var spawnObject:Transform;
- var gameName:String = "CGCookie_Tutorial_Networking";
- private var refreshing:boolean;
- private var hostData:HostData[];
- private var btnX:float;
- private var btnY:float;
- private var btnW:float;
- private var btnH:float;
- function Start(){
- btnX = Screen.width * 0.1;
- btnY = Screen.height * 0.1;
- btnW = Screen.width * 0.2;
- btnH = Screen.width * 0.2;
- }
- function startServer(){
- Network.InitializeServer(32, 25001, !Network.HavePublicAddress);
- MasterServer.RegisterHost(gameName, "Tutorial Game Name", "Tutorial Game Name");
- }
- function refreshHostList(){
- MasterServer.RequestHostList(gameName);
- refreshing = true;
- }
- function Update(){
- if(refreshing){
- if(MasterServer.PollHostList().Length > 0){
- refreshing = false;
- Debug.Log(MasterServer.PollHostList().Length);
- hostData = MasterServer.PollHostList();
- }
- }
- }
- function spawnPlayer(){
- Network.Instantiate(playerPrefab, spawnObject.position, Quaternion.identity, 0);
- }
- //Message
- function OnServerInitialize(){
- Debug.Log("Server initialzed!");
- spawnPlayer();
- }
- function OnConnectedToServer(){
- spawnPlayer();
- }
- function OnMasterServerEvent(mse:MasterServerEvent){
- if(mse == MasterServerEvent.RegistrationSucceeded){
- Debug.Log("Registered Server!");
- }
- }
- //gui
- function OnGUI(){
- if(Network.isClient && !Network.isServer){
- if(GUI.Button(Rect(btnX, btnY, btnW, btnH), "Start Server")){
- Debug.Log("Starting Server");
- startServer();
- }
- if(GUI.Button(Rect(btnX, btnY * 1.2 + btnH, btnW, btnH), "refresh Host")){
- Debug.Log("refreshing");
- refreshHostList();
- }
- if(hostData){
- for(var i:int = 0; i <hostData.length; i++){
- if(GUI.Button(Rect(btnX *1.5 +btnW, btnY*1.2 + (btnH * i), btnW*3, btnH*0.5), hostData[i].gameName);
- Network.Connect(hostData[i]);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement