Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class ConnectScript : MonoBehaviour {
- //variable declaraties
- string remoteIP = "127.0.0.1";
- int Port = 25000;
- Rect windowRect = new Rect(20,20,300,600);
- int playerSelection = 0;
- string[] PlayerStrings = { "2 Players", "3 Players", "4 Players"};
- bool serverstarted = false;
- public static bool gamestarted = false;
- public Transform PlayerPrefab;
- Transform player;
- int number = 1;
- void OnGUI()
- {
- if(gamestarted)
- GUI.Label (new Rect(20,35,260,20),"Game Started");
- else
- {
- if(Network.peerType == NetworkPeerType.Disconnected)
- {
- windowRect = GUI.Window (0,windowRect,WindowFunction,"Connection");
- }
- else
- {
- if(serverstarted)
- GUI.Label (new Rect(20,35,260,20), "Server started at:" + Network.player.ipAddress);
- }
- }
- }
- void WindowFunction(int WindowID)
- {
- GUI.Label(new Rect(20, 35, 260, 20), "Number of Players:");
- playerSelection = GUI.SelectionGrid(new Rect(20, 60, 260, 60),
- playerSelection, PlayerStrings, 1) ;
- GUI.Label(new Rect(20, 130, 80, 20), "RemoteIP:");
- remoteIP = GUI.TextField(new Rect(120, 150, 160, 20), remoteIP);
- GUI.Label(new Rect(20, 180, 80, 20), "Port:");
- Port = int.Parse(GUI.TextField(new Rect(120, 180, 160, 20), Port.ToString()));
- //START SERVER START SERVER START SERVER
- if (GUI.Button(new Rect(100, 210, 140, 20), "Start Server"))
- {
- Network.InitializeServer(32, Port, false);
- player =(Transform)Network.Instantiate (PlayerPrefab, Vector3.zero, Quaternion.identity,0);
- SetPlayerNumber(1);
- }
- if (GUI.Button(new Rect(100, 230, 140, 20), "Connect to Server"))
- {
- Network.Connect(remoteIP, Port);
- }
- }
- void OnServerInitialized()
- {
- serverstarted = true;
- }
- [RPC]
- void startGame()
- {
- gamestarted = true;
- }
- [RPC]
- void SetPlayerNumber(int thisNumber)
- {
- player.GetComponent<PlayerScript>().Setlocalplayer(thisNumber, true);
- networkView.RPC("SetOtherPlayerNumber", RPCMode.OthersBuffered, thisNumber,
- player.networkView.viewID);
- }
- [RPC]
- void SetOtherPlayerNumber(int thisNumber, NetworkViewID ID)
- {
- NetworkView view = NetworkView.Find(ID);
- view.transform.GetComponent<PlayerScript>().Setlocalplayer(thisNumber,
- false);
- }
- void OnPlayerConnected(NetworkPlayer networkplayer)
- {
- networkView.RPC("startGame", RPCMode.All);
- number++;
- networkView.RPC("SetPlayerNumber", networkplayer, number);
- }
- void OnConnectedToServer()
- {
- player = (Transform)Network.Instantiate(PlayerPrefab, new Vector3(0, 3, 0),
- Quaternion.identity, 0);
- }
- // Use this for initialization
- void Start () {
- }
- // Update is called once per frame
- void Update () {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement