Advertisement
Guest User

Untitled

a guest
Apr 17th, 2023
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. fn confine(
  2. mut confinable_query: Query<(&mut Transform, &Handle<Image>), With<Confinable>>,
  3. window_query: Query<&Window, With<PrimaryWindow>>,
  4. assets: Res<Assets<Image>>
  5. ) {
  6. let window = window_query.get_single().unwrap();
  7.  
  8. for (mut transform, image_handle) in confinable_query.iter_mut() {
  9. let image_dimensions = assets.get(image_handle).unwrap().size();
  10.  
  11. let half_x = image_dimensions.x / 2.;
  12. let half_y = image_dimensions.y / 2.;
  13.  
  14. let min_x = 0. + half_x;
  15. let max_x = window.width() - half_x;
  16. let min_y = 0. + half_y;
  17. let max_y = window.height() - half_y;
  18.  
  19. let mut translation = transform.translation;
  20.  
  21. translation.x = translation.x.clamp(min_x, max_x);
  22. translation.y = translation.y.clamp(min_y, max_y);
  23.  
  24. transform.translation = translation;
  25. }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement