/// <summary> /// Wire up the server to connect to when <see cref="IClientNetManager.ClientConnect"/> gets called. /// </summary> public void SetConnectTarget(ServerIntegrationInstance server) { var clientNetManager = ResolveDependency <IntegrationNetManager>(); var serverNetManager = server.ResolveDependency <IntegrationNetManager>(); if (!serverNetManager.IsRunning) { throw new InvalidOperationException("Server net manager is not running!"); } clientNetManager.NextConnectChannel = serverNetManager.MessageChannelWriter; }
public GridPainter(ClientIntegrationInstance client, ServerIntegrationInstance server) { _entityPainter = new EntityPainter(client, server); _decalPainter = new DecalPainter(client, server); _cEntityManager = client.ResolveDependency <IEntityManager>(); _cMapManager = client.ResolveDependency <IMapManager>(); _sEntityManager = server.ResolveDependency <IEntityManager>(); _sMapManager = server.ResolveDependency <IMapManager>(); _entities = GetEntities(); _decals = GetDecals(); }
public async Task Setup() { var options = new ServerIntegrationOptions { ExtraPrototypes = Prototypes }; _server = StartServerDummyTicker(options); await _server.WaitIdleAsync(); _mapManager = _server.ResolveDependency <IMapManager>(); _entityManager = _server.ResolveDependency <IEntityManager>(); _gameTiming = _server.ResolveDependency <IGameTiming>(); }
public async Task Setup() { var options = new ServerIntegrationOptions { ExtraPrototypes = Prototypes }; _server = StartServer(options); await _server.WaitIdleAsync(); _mapManager = _server.ResolveDependency <IMapManager>(); _entityManager = _server.ResolveDependency <IEntityManager>(); _gameTiming = _server.ResolveDependency <IGameTiming>(); _extensionCableSystem = _entityManager.EntitySysManager.GetEntitySystem <ExtensionCableSystem>(); }
public TilePainter(ClientIntegrationInstance client, ServerIntegrationInstance server) { _sTileDefinitionManager = server.ResolveDependency <ITileDefinitionManager>(); _cResourceCache = client.ResolveDependency <IResourceCache>(); }
private static async Task ConnectNetworking(ClientIntegrationInstance client, ServerIntegrationInstance server) { await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync()); // Connect. client.SetConnectTarget(server); client.Post(() => IoCManager.Resolve <IClientNetManager>().ClientConnect(null, 0, null)); // Run some ticks for the handshake to complete and such. for (var i = 0; i < 10; i++) { server.RunTicks(1); await server.WaitIdleAsync(); client.RunTicks(1); await client.WaitIdleAsync(); } await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync()); }