Esempio n. 1
0
            public DriverClient(SessionInterface sessionInterface)
            {
                _sessionInterface = sessionInterface;
                _sessionInterface.RegisterNetMessageReceiver <NetMessageSyncValue>(OnNetMessageReceived);
                _sessionInterface.RegisterNetMessageReceiver <NetMessageDestroyValue>(OnNetMessageReceived);
                _sessionInterface.RegisterNetMessageReceiver <NetMessageValueSyncComplete>(OnSyncComplete);

                _sessionInterface.SendNetMessage(new NetMessageRequestValueSync(), _sessionInterface.Connections);
            }
 protected override void OnBindedToSession()
 {
     _serverSession = (SessionServerInterface)SessionInterface;
     SessionInterface.OnConnectionAdded   += OnConnectionAdded;
     SessionInterface.OnConnectionRemoved += OnConnectionRemoved;
     SessionInterface.RegisterNetMessageReceiver <NetMessageClientHello>(OnClientHello);
 }
        protected override void OnCreate()
        {
            base.OnCreate();

            _session = OnlineService.OnlineInterface?.SessionInterface;

            _session.RegisterNetMessageReceiver <NetMessageInputSubmission>(OnNetMessageInputSubmission);
            _constructTickSystem = World.GetOrCreateSystem <ConstructSimulationTickSystem>();
        }
Esempio n. 4
0
            public DriverServer(SessionInterface sessionInterface)
            {
                _sessionInterface = sessionInterface;
                _sessionInterface.RegisterNetMessageReceiver <NetMessageRequestValueSync>(OnRequestValueSync);

                foreach (SyncedValueContainer container in SyncedValues.s_Containers)
                {
                    _sessionInterface.SendNetMessage(CreateSyncMessage(container), _sessionInterface.Connections);
                }
            }
Esempio n. 5
0
    public override void OnGameAwake()
    {
        base.OnGameAwake();

        SessionInterface sessionInterface = OnlineService.OnlineInterface?.SessionInterface;

        if (sessionInterface != null)
        {
            sessionInterface.RegisterNetMessageReceiver <TestMessage>(OnReceiveMessage);
        }
    }
        public IEnumerator WaitForResponse()
        {
            _hasReceivedResponse = false;
            _sessionInterface.RegisterNetMessageReceiver <T>(OnResponse);

            while (!_hasReceivedResponse)
            {
                yield return(null);
            }

            _sessionInterface.UnregisterNetMessageReceiver <T>(OnResponse);
        }
        //private SpaceTimeDebugger.Clock _debugClock;
        //private SpaceTimeDebugger.Stream _debugStreamQueueLength;
        //private SpaceTimeDebugger.Stream _debugStreamTicksPerFrame;
        //private SpaceTimeDebugger.Stream _debugStreamMaxQueueDuration;

        protected override void OnCreate()
        {
            base.OnCreate();

            _session = OnlineService.OnlineInterface?.SessionInterface;

            if (_session == null)
            {
                throw new NullReferenceException();
            }

            if (!_session.IsClientType)
            {
                throw new Exception($"{nameof(ReceiveSimulationTickSystem)} expects the session interface to be of type 'Client'.");
            }

            _session.RegisterNetMessageReceiver <NetMessageSimTick>(OnNetMessageSimTick);

            _tickSystem = World.GetOrCreateSystem <TickSimulationSystem>();

            //_debugStreamQueueLength = SpaceTimeDebugger.CreateStream("Sim Tick Queue", Color.yellow);
            //_debugStreamTicksPerFrame = SpaceTimeDebugger.CreateStream("Sim Ticks Per Frame", Color.magenta);
            //_debugStreamMaxQueueDuration = SpaceTimeDebugger.CreateStream("Sim Tick Queue Max Duration", Color.cyan);
        }