Fix pointer constructor order (#16169)
Fixes a small divergence between `bevy_mod_picking` and the up-streamed `bevy_picking`: Both have a `Pointer<E>` constructor with the same types, but in a different order. This is part of work being done on `bevy_mod_picking` to simplify the migration to `bevy_picking`.
This commit is contained in:
parent
dae39aceb5
commit
131ec38650
@ -99,7 +99,7 @@ impl<E: Debug + Clone + Reflect> core::ops::Deref for Pointer<E> {
|
|||||||
|
|
||||||
impl<E: Debug + Clone + Reflect> Pointer<E> {
|
impl<E: Debug + Clone + Reflect> Pointer<E> {
|
||||||
/// Construct a new `Pointer<E>` event.
|
/// Construct a new `Pointer<E>` event.
|
||||||
pub fn new(target: Entity, id: PointerId, location: Location, event: E) -> Self {
|
pub fn new(id: PointerId, location: Location, target: Entity, event: E) -> Self {
|
||||||
Self {
|
Self {
|
||||||
target,
|
target,
|
||||||
pointer_id: id,
|
pointer_id: id,
|
||||||
@ -361,9 +361,9 @@ pub fn pointer_events(
|
|||||||
{
|
{
|
||||||
state.dragging_over.insert(hovered_entity, hit.clone());
|
state.dragging_over.insert(hovered_entity, hit.clone());
|
||||||
let drag_enter_event = Pointer::new(
|
let drag_enter_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
DragEnter {
|
DragEnter {
|
||||||
button,
|
button,
|
||||||
dragged: *drag_target,
|
dragged: *drag_target,
|
||||||
@ -377,9 +377,9 @@ pub fn pointer_events(
|
|||||||
|
|
||||||
// Always send Over events
|
// Always send Over events
|
||||||
let over_event = Pointer::new(
|
let over_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
Over { hit: hit.clone() },
|
Over { hit: hit.clone() },
|
||||||
);
|
);
|
||||||
commands.trigger_targets(over_event.clone(), hovered_entity);
|
commands.trigger_targets(over_event.clone(), hovered_entity);
|
||||||
@ -409,9 +409,9 @@ pub fn pointer_events(
|
|||||||
.flat_map(|h| h.iter().map(|(entity, data)| (*entity, data.clone())))
|
.flat_map(|h| h.iter().map(|(entity, data)| (*entity, data.clone())))
|
||||||
{
|
{
|
||||||
let down_event = Pointer::new(
|
let down_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
Down {
|
Down {
|
||||||
button,
|
button,
|
||||||
hit: hit.clone(),
|
hit: hit.clone(),
|
||||||
@ -436,9 +436,9 @@ pub fn pointer_events(
|
|||||||
if let Some((_, press_instant, _)) = state.pressing.get(&hovered_entity)
|
if let Some((_, press_instant, _)) = state.pressing.get(&hovered_entity)
|
||||||
{
|
{
|
||||||
let click_event = Pointer::new(
|
let click_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
Click {
|
Click {
|
||||||
button,
|
button,
|
||||||
hit: hit.clone(),
|
hit: hit.clone(),
|
||||||
@ -450,9 +450,9 @@ pub fn pointer_events(
|
|||||||
}
|
}
|
||||||
// Always send the Up event
|
// Always send the Up event
|
||||||
let up_event = Pointer::new(
|
let up_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
Up {
|
Up {
|
||||||
button,
|
button,
|
||||||
hit: hit.clone(),
|
hit: hit.clone(),
|
||||||
@ -467,9 +467,9 @@ pub fn pointer_events(
|
|||||||
// Emit DragDrop
|
// Emit DragDrop
|
||||||
for (dragged_over, hit) in state.dragging_over.iter() {
|
for (dragged_over, hit) in state.dragging_over.iter() {
|
||||||
let drag_drop_event = Pointer::new(
|
let drag_drop_event = Pointer::new(
|
||||||
*dragged_over,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
*dragged_over,
|
||||||
DragDrop {
|
DragDrop {
|
||||||
button,
|
button,
|
||||||
dropped: drag_target,
|
dropped: drag_target,
|
||||||
@ -481,9 +481,9 @@ pub fn pointer_events(
|
|||||||
}
|
}
|
||||||
// Emit DragEnd
|
// Emit DragEnd
|
||||||
let drag_end_event = Pointer::new(
|
let drag_end_event = Pointer::new(
|
||||||
drag_target,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
drag_target,
|
||||||
DragEnd {
|
DragEnd {
|
||||||
button,
|
button,
|
||||||
distance: drag.latest_pos - drag.start_pos,
|
distance: drag.latest_pos - drag.start_pos,
|
||||||
@ -494,9 +494,9 @@ pub fn pointer_events(
|
|||||||
// Emit DragLeave
|
// Emit DragLeave
|
||||||
for (dragged_over, hit) in state.dragging_over.iter() {
|
for (dragged_over, hit) in state.dragging_over.iter() {
|
||||||
let drag_leave_event = Pointer::new(
|
let drag_leave_event = Pointer::new(
|
||||||
*dragged_over,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
*dragged_over,
|
||||||
DragLeave {
|
DragLeave {
|
||||||
button,
|
button,
|
||||||
dragged: drag_target,
|
dragged: drag_target,
|
||||||
@ -534,9 +534,9 @@ pub fn pointer_events(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
let drag_start_event = Pointer::new(
|
let drag_start_event = Pointer::new(
|
||||||
*press_target,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
*press_target,
|
||||||
DragStart {
|
DragStart {
|
||||||
button,
|
button,
|
||||||
hit: hit.clone(),
|
hit: hit.clone(),
|
||||||
@ -549,9 +549,9 @@ pub fn pointer_events(
|
|||||||
// Emit Drag events to the entities we are dragging
|
// Emit Drag events to the entities we are dragging
|
||||||
for (drag_target, drag) in state.dragging.iter_mut() {
|
for (drag_target, drag) in state.dragging.iter_mut() {
|
||||||
let drag_event = Pointer::new(
|
let drag_event = Pointer::new(
|
||||||
*drag_target,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
*drag_target,
|
||||||
Drag {
|
Drag {
|
||||||
button,
|
button,
|
||||||
distance: location.position - drag.start_pos,
|
distance: location.position - drag.start_pos,
|
||||||
@ -572,9 +572,9 @@ pub fn pointer_events(
|
|||||||
.filter(|(hovered_entity, _)| *hovered_entity != *drag_target)
|
.filter(|(hovered_entity, _)| *hovered_entity != *drag_target)
|
||||||
{
|
{
|
||||||
let drag_over_event = Pointer::new(
|
let drag_over_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
DragOver {
|
DragOver {
|
||||||
button,
|
button,
|
||||||
dragged: *drag_target,
|
dragged: *drag_target,
|
||||||
@ -594,9 +594,9 @@ pub fn pointer_events(
|
|||||||
{
|
{
|
||||||
// Emit Move events to the entities we are hovering
|
// Emit Move events to the entities we are hovering
|
||||||
let move_event = Pointer::new(
|
let move_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
Move {
|
Move {
|
||||||
hit: hit.clone(),
|
hit: hit.clone(),
|
||||||
delta,
|
delta,
|
||||||
@ -615,7 +615,7 @@ pub fn pointer_events(
|
|||||||
.flat_map(|h| h.iter().map(|(entity, data)| (*entity, data.to_owned())))
|
.flat_map(|h| h.iter().map(|(entity, data)| (*entity, data.to_owned())))
|
||||||
{
|
{
|
||||||
let cancel_event =
|
let cancel_event =
|
||||||
Pointer::new(hovered_entity, pointer_id, location.clone(), Cancel { hit });
|
Pointer::new(pointer_id, location.clone(), hovered_entity, Cancel { hit });
|
||||||
commands.trigger_targets(cancel_event.clone(), hovered_entity);
|
commands.trigger_targets(cancel_event.clone(), hovered_entity);
|
||||||
event_writers.cancel_events.send(cancel_event);
|
event_writers.cancel_events.send(cancel_event);
|
||||||
}
|
}
|
||||||
@ -652,9 +652,9 @@ pub fn pointer_events(
|
|||||||
|
|
||||||
// Always send Out events
|
// Always send Out events
|
||||||
let out_event = Pointer::new(
|
let out_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
Out { hit: hit.clone() },
|
Out { hit: hit.clone() },
|
||||||
);
|
);
|
||||||
commands.trigger_targets(out_event.clone(), hovered_entity);
|
commands.trigger_targets(out_event.clone(), hovered_entity);
|
||||||
@ -666,9 +666,9 @@ pub fn pointer_events(
|
|||||||
state.dragging_over.remove(&hovered_entity);
|
state.dragging_over.remove(&hovered_entity);
|
||||||
for drag_target in state.dragging.keys() {
|
for drag_target in state.dragging.keys() {
|
||||||
let drag_leave_event = Pointer::new(
|
let drag_leave_event = Pointer::new(
|
||||||
hovered_entity,
|
|
||||||
pointer_id,
|
pointer_id,
|
||||||
location.clone(),
|
location.clone(),
|
||||||
|
hovered_entity,
|
||||||
DragLeave {
|
DragLeave {
|
||||||
button,
|
button,
|
||||||
dragged: *drag_target,
|
dragged: *drag_target,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user