public async Task TestPointLinearImpulse() { await _server.WaitIdleAsync(); var entManager = _server.ResolveDependency <IEntityManager>(); var fixtureSystem = _server.ResolveDependency <IEntitySystemManager>() .GetEntitySystem <FixtureSystem>(); await _server.WaitAssertion(() => { var boxEnt = entManager.SpawnEntity(null, new MapCoordinates(Vector2.Zero, new MapId(1))); var box = IoCManager.Resolve <IEntityManager>().AddComponent <PhysicsComponent>(boxEnt); var poly = new PolygonShape(); poly.SetAsBox(0.5f, 0.5f); var fixture = fixtureSystem.CreateFixture(box, poly); fixture.Mass = 1f; box.FixedRotation = false; box.BodyType = BodyType.Dynamic; Assert.That(box.InvI, Is.GreaterThan(0f)); // Check regular impulse works box.ApplyLinearImpulse(new Vector2(0f, 1f)); Assert.That(box.LinearVelocity.Length, Is.GreaterThan(0f)); // Reset the box box.LinearVelocity = Vector2.Zero; Assert.That(box.LinearVelocity.Length, Is.EqualTo(0f)); Assert.That(box.AngularVelocity, Is.EqualTo(0f)); // Check the angular impulse is applied from the point box.ApplyLinearImpulse(new Vector2(0f, 1f), new Vector2(0.5f, 0f)); Assert.That(box.LinearVelocity.Length, Is.GreaterThan(0f)); Assert.That(box.AngularVelocity, Is.Not.EqualTo(0f)); }); }
public async Task Setup() { _server = StartServer(); await _server.WaitIdleAsync(); var mapManager = _server.ResolveDependency <IMapManager>(); mapManager.CreateMap(); }
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()); }
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>(); }