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
	 Miles Silberling-Cook
						Miles Silberling-Cook