Exemplo n.º 1
0
        private void OnStartup(EntityUid uid, CollideOnAnchorComponent component, ComponentStartup args)
        {
            if (!EntityManager.TryGetComponent(uid, out TransformComponent? transformComponent))
            {
                return;
            }

            SetCollide(uid, component, transformComponent.Anchored);
        }
Exemplo n.º 2
0
        private void SetCollide(EntityUid uid, CollideOnAnchorComponent component, bool anchored)
        {
            if (!EntityManager.TryGetComponent(uid, out PhysicsComponent? body))
            {
                return;
            }

            var enabled = component.Enable;

            if (!anchored)
            {
                enabled ^= true;
            }

            body.CanCollide = enabled;
        }
Exemplo n.º 3
0
 private void OnAnchor(EntityUid uid, CollideOnAnchorComponent component, ref AnchorStateChangedEvent args)
 {
     SetCollide(uid, component, args.Anchored);
 }