Example #1
0
        public static GameObject CreateNetworkManager()
        {
            var components = new Type[]
            {
                typeof(NetworkManager),
                typeof(NetworkServer),
                typeof(NetworkClient),
                typeof(NetworkSceneManager),
                typeof(ServerObjectManager),
                typeof(ClientObjectManager),
                typeof(CharacterSpawner),
                typeof(UdpSocketFactory),
                typeof(LogSettings)
            };
            var go = new GameObject("NetworkManager", components);

            UdpSocketFactory    socketFactory = go.GetComponent <UdpSocketFactory>();
            NetworkSceneManager nsm           = go.GetComponent <NetworkSceneManager>();

            NetworkClient networkClient = go.GetComponent <NetworkClient>();

            networkClient.SocketFactory = socketFactory;

            NetworkServer networkServer = go.GetComponent <NetworkServer>();

            networkServer.SocketFactory = socketFactory;

            ServerObjectManager serverObjectManager = go.GetComponent <ServerObjectManager>();

            serverObjectManager.Server = networkServer;
            serverObjectManager.NetworkSceneManager = nsm;

            ClientObjectManager clientObjectManager = go.GetComponent <ClientObjectManager>();

            clientObjectManager.Client = networkClient;
            clientObjectManager.NetworkSceneManager = nsm;

            NetworkManager networkManager = go.GetComponent <NetworkManager>();

            networkManager.Client = networkClient;
            networkManager.Server = networkServer;
            networkManager.ServerObjectManager = serverObjectManager;
            networkManager.ClientObjectManager = clientObjectManager;
            networkManager.NetworkSceneManager = nsm;

            CharacterSpawner playerSpawner = go.GetComponent <CharacterSpawner>();

            playerSpawner.Client              = networkClient;
            playerSpawner.Server              = networkServer;
            playerSpawner.SceneManager        = nsm;
            playerSpawner.ServerObjectManager = serverObjectManager;
            playerSpawner.ClientObjectManager = clientObjectManager;

            nsm.Client = networkClient;
            nsm.Server = networkServer;
            return(go);
        }
Example #2
0
        void ParseForSocket()
        {
            string socket = GetArgValue("-socket");

            if (string.IsNullOrEmpty(socket) || socket.Equals("udp"))
            {
                UdpSocketFactory newSocket = gameObject.AddComponent <UdpSocketFactory>();
                socketFactory = newSocket;

                //Try to apply port if exists and needed by transport.

                //TODO: Uncomment this after the port is made public

                /*if (!string.IsNullOrEmpty(port))
                 * {
                 *  newSocket.port = ushort.Parse(port);
                 *  newSocket.
                 * }*/
            }
        }