Exemplo n.º 1
0
        public bool StartAsHost(int hostPort, int maxConnections)
        {
            InitializeNetworking();

            HostTopology topology = new HostTopology(ConnectionConfig, maxConnections);

            bool success   = false;
            int  tmpHostId = -1;

            tmpHostId = NetworkTransport.AddHost(topology, hostPort);
            if (tmpHostId >= 0)
            {
                Mode   = OnlineSessionMode.Server;
                HostId = tmpHostId;

                success = true;
            }

            if (!success)
            {
                Debug.LogError("StartAsHost failed");
            }

            return(success);
        }
Exemplo n.º 2
0
        public bool StartAsClient(int hostPort, string connectToIP, int connectToPort)
        {
            InitializeNetworking();

            HostTopology topology = new HostTopology(ConnectionConfig, 1);

            bool success   = false;
            int  tmpHostId = -1;

            tmpHostId = NetworkTransport.AddHost(topology, hostPort);
            if (tmpHostId >= 0)
            {
                byte networkError;
                int  connectionId = NetworkTransport.Connect(tmpHostId, connectToIP, connectToPort, 0, out networkError);
                if ((NetworkError)networkError == NetworkError.Ok)
                {
                    Mode   = OnlineSessionMode.Client;
                    HostId = tmpHostId;

                    success = true;
                }
            }

            if (!success)
            {
                Debug.LogError("StartAsClient failed");
            }

            return(success);
        }
Exemplo n.º 3
0
 public void TerminateNetworking()
 {
     NetworkTransport.Shutdown();
     Mode = OnlineSessionMode.Offline;
 }
Exemplo n.º 4
0
        public void Start()
        {
            StartGameButton.gameObject.SetActive(false);

            HostButton.onClick.AddListener(OnHostButton);
            ConnectButton.onClick.AddListener(OnConnectButton);
            DisconnectButton.onClick.AddListener(OnOfflineButton);
            StartGameButton.onClick.AddListener(OnStartGameButton);

            GameStatics.GameData = GameData;

            Initialize();


            // Cmd args
            OnlineSessionMode startMode = OnlineSessionMode.Offline;

            string[] args = System.Environment.GetCommandLineArgs();
            foreach (string arg in args)
            {
                string[] splitArg = arg.Split(':');
                if (splitArg.Length >= 2)
                {
                    switch (splitArg[0])
                    {
                    case "mode":
                        switch (splitArg[1])
                        {
                        case "server":
                            startMode = OnlineSessionMode.Server;
                            break;

                        case "client":
                            startMode = OnlineSessionMode.Client;
                            break;
                        }
                        break;

                    case "hostport":
                        LocalHostPortField.text = splitArg[1];
                        break;

                    case "connectip":
                        ConnectIPField.text = splitArg[1];
                        break;

                    case "connectport":
                        ConnectPortField.text = splitArg[1];
                        break;

                    case "playername":
                        NameField.text = splitArg[1];
                        break;
                    }
                }
            }

            if (startMode == OnlineSessionMode.Server)
            {
                OnHostButton();
            }
            else if (startMode == OnlineSessionMode.Client)
            {
                OnConnectButton();
            }
        }