fish-station/Content.Shared/_Sunrise/InteractionsPanel/Data/Conditions/HasTargetCondition.cs
SplikZerys 12c008f0f5
INTERACTION PANEL (#2551)
Co-authored-by: rhailrake <splatt.pr@gmail.com>
Co-authored-by: haiwwkes <49613070+rhailrake@users.noreply.github.com>
2025-07-13 16:48:32 -04:00

24 lines
648 B
C#

using Robust.Shared.Serialization;
namespace Content.Shared._Sunrise.InteractionsPanel.Data.Conditions;
[Serializable, NetSerializable, DataDefinition]
public sealed partial class HasTargetCondition : IAppearCondition
{
[DataField]
public bool AllowSelfTargeting { get; private set; }
public bool IsMet(EntityUid initiator, EntityUid target, EntityManager entityManager)
{
if (target == EntityUid.Invalid)
return false;
if (!entityManager.EntityExists(target))
return false;
if (!AllowSelfTargeting && initiator == target)
return false;
return true;
}
}