namespace Content.Shared.DragDrop; /// /// Raised directed on an entity when attempting to start a drag. /// [ByRefEvent] public record struct CanDragEvent { /// /// False if we are unable to drag this entity. /// public bool Handled; } /// /// Raised directed on a dragged entity to indicate whether it has interactions with the target entity. /// [ByRefEvent] public record struct CanDropDraggedEvent(EntityUid User, EntityUid Target) { public readonly EntityUid User = User; public readonly EntityUid Target = Target; public bool Handled = false; /// /// Can we drop the entity onto the target? If the event is not handled then there is no supported interactions. /// public bool CanDrop = false; } /// /// Raised directed on the target entity to indicate whether it has interactions with the dragged entity. /// [ByRefEvent] public record struct CanDropTargetEvent(EntityUid User, EntityUid Dragged) { public readonly EntityUid User = User; public readonly EntityUid Dragged = Dragged; public bool Handled = false; /// /// /// public bool CanDrop = false; } /// /// Raised directed on a dragged entity when it is dropped on a target entity. /// [ByRefEvent] public record struct DragDropDraggedEvent(EntityUid User, EntityUid Target) { public readonly EntityUid User = User; public readonly EntityUid Target = Target; public bool Handled = false; } /// /// Raised directed on the target entity when a dragged entity is dragged onto it. /// [ByRefEvent] public record struct DragDropTargetEvent(EntityUid User, EntityUid Dragged) { public readonly EntityUid User = User; public readonly EntityUid Dragged = Dragged; public bool Handled = false; }