Files
tbd-station-14/Content.Shared/GameObjects/Components/Movement/MovementIgnoreGravityComponent.cs
DrSmugleaf 5fcd13d0e3 Add IEntity.IsWeightless extension method (#2255)
Checking manually every time wasn't that cool
2020-10-14 22:37:25 +02:00

26 lines
790 B
C#

#nullable enable
using Robust.Shared.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
using Robust.Shared.Interfaces.Physics;
using Robust.Shared.IoC;
namespace Content.Shared.GameObjects.Components.Movement
{
[RegisterComponent]
public sealed class MovementIgnoreGravityComponent : Component
{
public override string Name => "MovementIgnoreGravity";
}
public static class GravityExtensions
{
public static bool IsWeightless(this IEntity entity, IPhysicsManager? physicsManager = null)
{
physicsManager ??= IoCManager.Resolve<IPhysicsManager>();
return !entity.HasComponent<MovementIgnoreGravityComponent>() &&
physicsManager.IsWeightless(entity.Transform.Coordinates);
}
}
}