refactor: Move ui_blocks() to ui feature
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
use bevy::window::PrimaryWindow;
|
||||
|
||||
use super::errors::GridError;
|
||||
use crate::prelude::*;
|
||||
|
||||
@@ -45,29 +43,3 @@ pub fn grid_to_world_coords(
|
||||
z.unwrap_or(0.0),
|
||||
)
|
||||
}
|
||||
|
||||
pub fn ui_blocks(
|
||||
window: Single<&Window, With<PrimaryWindow>>,
|
||||
cursor_pos: Vec2,
|
||||
ui_query: Query<(&ComputedNode, &GlobalTransform), With<Node>>,
|
||||
) -> bool {
|
||||
let ui_point = Vec2::new(
|
||||
cursor_pos.x - window.width() / 2.0,
|
||||
(window.height() / 2.0) - cursor_pos.y,
|
||||
);
|
||||
|
||||
dbg!(ui_point);
|
||||
|
||||
ui_query.iter().any(|(node, global_transform)| {
|
||||
dbg!(node, global_transform);
|
||||
|
||||
let size = node.size();
|
||||
let center = global_transform.translation().truncate();
|
||||
let half_size = size / 2.0;
|
||||
|
||||
let min = center - half_size;
|
||||
let max = center + half_size;
|
||||
|
||||
ui_point.x >= min.x && ui_point.x <= max.x && ui_point.y >= min.y && ui_point.y <= max.y
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
use crate::features::{
|
||||
grid::utils::ui_blocks,
|
||||
phase::messages::{NextPhaseMessage, PhaseTimerPauseMessage},
|
||||
pom::messages::InvalidMoveMessage,
|
||||
};
|
||||
|
||||
@@ -4,6 +4,7 @@ use bevy::{input::mouse::*, picking::hover::HoverMap};
|
||||
pub mod components;
|
||||
pub mod consts;
|
||||
pub mod ui;
|
||||
pub mod utils;
|
||||
|
||||
pub struct UiPlugin;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
use bevy::window::PrimaryWindow;
|
||||
|
||||
use crate::prelude::*;
|
||||
|
||||
pub fn button(
|
||||
|
||||
28
src/features/ui/utils.rs
Normal file
28
src/features/ui/utils.rs
Normal file
@@ -0,0 +1,28 @@
|
||||
use crate::prelude::*;
|
||||
use bevy::window::PrimaryWindow;
|
||||
|
||||
pub fn ui_blocks(
|
||||
window: Single<&Window, With<PrimaryWindow>>,
|
||||
cursor_pos: Vec2,
|
||||
ui_query: Query<(&ComputedNode, &GlobalTransform), With<Node>>,
|
||||
) -> bool {
|
||||
let ui_point = Vec2::new(
|
||||
cursor_pos.x - window.width() / 2.0,
|
||||
(window.height() / 2.0) - cursor_pos.y,
|
||||
);
|
||||
|
||||
dbg!(ui_point);
|
||||
|
||||
ui_query.iter().any(|(node, global_transform)| {
|
||||
dbg!(node, global_transform);
|
||||
|
||||
let size = node.size();
|
||||
let center = global_transform.translation().truncate();
|
||||
let half_size = size / 2.0;
|
||||
|
||||
let min = center - half_size;
|
||||
let max = center + half_size;
|
||||
|
||||
ui_point.x >= min.x && ui_point.x <= max.x && ui_point.y >= min.y && ui_point.y <= max.y
|
||||
})
|
||||
}
|
||||
@@ -14,7 +14,7 @@ pub use crate::features::{
|
||||
messages::{InteractStartMessage, MoveMessage},
|
||||
},
|
||||
savegame::components::SavegamePath,
|
||||
ui::{components::ButtonVariant, consts::*, ui::*},
|
||||
ui::{components::ButtonVariant, consts::*, ui::*, utils::*},
|
||||
};
|
||||
pub use crate::utils::path::get_internal_path;
|
||||
pub use bevy::prelude::*;
|
||||
|
||||
Reference in New Issue
Block a user