예제 #1
0
        public void Start(
            ushort?portNumber, int maxPlayerCount, object objectContainingRpcs, float sendGameStateInterval
            )
        {
            ObjectContainingRpcs          = objectContainingRpcs;
            ShouldSendStateSnapshots      = true;
            sendGameStatePeriodicFunction = new ThrottledAction(SendGameState, sendGameStateInterval);
            this.maxPlayerCount           = maxPlayerCount;

            var connectionConfig = NetLib.CreateConnectionConfig(
                out reliableSequencedChannelId,
                out reliableChannelId,
                out unreliableStateUpdateChannelId,
                out unreliableFragmentedChannelId,
                out unreliableChannelId
                );
            var hostTopology = new HostTopology(connectionConfig, maxPlayerCount);

            Start(portNumber, hostTopology);
        }
예제 #2
0
        public void Start(object objectContainingRpcs, Func <object, UnityEngine.GameObject> createGameObjectFromState)
        {
            Assert.IsTrue(!IsStarted);

            ObjectContainingRpcs           = objectContainingRpcs;
            this.createGameObjectFromState = createGameObjectFromState;
            ShouldApplyStateSnapshots      = true;

            var maxConnectionCount = 1; // The client only connects to the server.
            var connectionConfig   = NetLib.CreateConnectionConfig(
                out reliableSequencedChannelId,
                out reliableChannelId,
                out unreliableStateUpdateChannelId,
                out unreliableFragmentedChannelId,
                out unreliableChannelId
                );
            var hostTopology = new HostTopology(
                connectionConfig, maxConnectionCount
                );

            Start(null, hostTopology);
        }