using System; using Robust.Shared.Interfaces.GameObjects; using Robust.Shared.Interfaces.Serialization; using Robust.Shared.Map; namespace Content.Shared.Actions { /// /// Action which is used on a targeted entity. /// public interface ITargetEntityAction : IActionBehavior { /// /// Invoked when the target entity action should be performed. /// Implementation should perform the server side logic of the action. /// void DoTargetEntityAction(TargetEntityActionEventArgs args); } public class TargetEntityActionEventArgs : ActionEventArgs { /// /// Entity being targeted /// public readonly IEntity Target; public TargetEntityActionEventArgs(IEntity performer, ActionType actionType, IEntity target) : base(performer, actionType) { Target = target; } } }