private void OnGridFixtureChange(GridFixtureChangeEvent args) { // Look this is jank but it's a placeholder until we design it. if (args.NewFixtures.Count == 0) { return; } foreach (var fixture in args.NewFixtures) { fixture.Mass = fixture.Area * TileMassMultiplier; fixture.Restitution = 0.1f; } }
private void HandleGridFixtureChange(GridFixtureChangeEvent args) { var fixture = args.NewFixture; if (fixture == null) { return; } fixture.Mass = fixture.Area * TileMassMultiplier; if (fixture.Body.Owner.TryGetComponent(out ShuttleComponent? shuttleComponent)) { RecalculateSpeedMultiplier(shuttleComponent, fixture.Body); } }
private void OnGridFixtureChange(GridFixtureChangeEvent args) { // Look this is jank but it's a placeholder until we design it. if (args.NewFixtures.Count == 0) { return; } var manager = Comp <FixturesComponent>(args.NewFixtures[0].Body.Owner); foreach (var fixture in args.NewFixtures) { _fixtures.SetMass(fixture, fixture.Area * TileMassMultiplier, manager, false); _fixtures.SetRestitution(fixture, 0.1f, manager, false); } _fixtures.FixtureUpdate(manager, args.NewFixtures[0].Body); }
private void HandleGridFixtureChange(GridFixtureChangeEvent args) { // Look this is jank but it's a placeholder until we design it. if (args.NewFixtures.Count == 0) { return; } var body = args.NewFixtures[0].Body; foreach (var fixture in args.NewFixtures) { fixture.Mass = fixture.Area * TileMassMultiplier; fixture.Restitution = 0.1f; } if (body.Owner.TryGetComponent(out ShuttleComponent? shuttleComponent)) { RecalculateSpeedMultiplier(shuttleComponent, body); } }