namespace Content.Shared.Interfaces.GameObjects.Components
{
///
/// This interface allows the component's entity to be dragged and dropped
/// onto by another entity and gives it behavior when that occurs.
///
public interface IDragDropOn
{
///
/// Invoked when another entity is being dragged and dropped
/// onto this one before invoking .
/// Note that other drag and drop interactions may be attempted if
/// this one fails.
///
///
/// true if is valid, false otherwise.
bool CanDragDropOn(DragDropEventArgs eventArgs);
///
/// Invoked server-side when another entity is being dragged and dropped
/// onto this one before invoking
/// Note that other drag and drop interactions may be attempted if
/// this one fails.
///
///
/// true if an interaction occurred and no further interaction should
/// be processed for this drop.
///
bool DragDropOn(DragDropEventArgs eventArgs);
}
}