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); }
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. * }*/ } }