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>(); }
public DriverServer(SessionInterface sessionInterface) { _sessionInterface = sessionInterface; _sessionInterface.RegisterNetMessageReceiver <NetMessageRequestValueSync>(OnRequestValueSync); foreach (SyncedValueContainer container in SyncedValues.s_Containers) { _sessionInterface.SendNetMessage(CreateSyncMessage(container), _sessionInterface.Connections); } }
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); }