Files
BIGZi0348 cff08e0550 Lets try
2025-02-23 22:36:27 +03:00

23 lines
842 B
C#

using Content.Shared.Interaction;
namespace Content.Shared._Amour.InteractionPanel.Checks;
public sealed class HasSmallDistance : IInteractionCheck
{
[DataField] private readonly float _range = SharedInteractionSystem.InteractionRange;
public bool IsAvailable(Entity<InteractionPanelComponent> user, Entity<InteractionPanelComponent> target, IEntityManager entityManager)
{
var transformSystem = entityManager.System<SharedTransformSystem>();
if (!entityManager.HasComponent<TransformComponent>(user) ||
!entityManager.HasComponent<TransformComponent>(target))
return false;
if (_range <= 0)
return true;
var distance = (transformSystem.GetWorldPosition(user) - transformSystem.GetWorldPosition(target)).Length();
return distance <= _range;
}
}