Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
            }
        }