namespace Content.Shared.Actions.Events; /// /// Raised on an action entity before being used to: /// 1. Make sure client is sending the correct kind of target (if any) /// 2. Do any validation on the target, if needed /// 3. Give the action system an event to raise on the performer, to actually do the action. /// [ByRefEvent] public struct ActionValidateEvent { /// /// Request event the client sent. /// public RequestPerformActionEvent Input; /// /// User trying to use the action. /// public EntityUid User; /// /// Entity providing this action to the user, used for logging. /// public EntityUid Provider; /// /// If set to true, the client sent invalid event data and this should be logged as an error. /// For functioning input that happens to not be allowed this should not be set, for example a range check. /// public bool Invalid; }