aboutsummaryrefslogtreecommitdiff
path: root/src/tool/wall_tool.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool/wall_tool.rs')
-rw-r--r--src/tool/wall_tool.rs14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/tool/wall_tool.rs b/src/tool/wall_tool.rs
index d5760e6..5eda8e0 100644
--- a/src/tool/wall_tool.rs
+++ b/src/tool/wall_tool.rs
@@ -1,6 +1,7 @@
use super::Tool;
+use crate::grid::snap_to_grid;
use crate::map_data::MapData;
-use crate::math::{self, Vec2};
+use crate::math::Vec2;
use crate::transform::Transform;
use raylib::core::drawing::{RaylibDraw, RaylibDrawHandle};
use raylib::ffi::{Color, MouseButton, Vector2};
@@ -22,11 +23,7 @@ impl Tool for WallTool {
fn active_update(&mut self, map_data: &mut MapData, rl: &RaylibHandle, transform: &Transform) {
let mouse_pos_m = transform.point_px_to_m(rl.get_mouse_position().into());
if let Some((_, ref mut pos2)) = &mut self.unfinished_wall {
- let snapped_mouse_pos = Vec2::new(
- math::round(mouse_pos_m.x, 0.5),
- math::round(mouse_pos_m.y, 0.5),
- );
- *pos2 = snapped_mouse_pos;
+ *pos2 = snap_to_grid(mouse_pos_m, 0.5);
}
if rl.is_mouse_button_pressed(MouseButton::MOUSE_LEFT_BUTTON) {
@@ -34,10 +31,7 @@ impl Tool for WallTool {
map_data.walls_mut().push((pos1, pos2));
self.unfinished_wall = Some((pos2, pos2));
} else {
- let snapped_mouse_pos = Vec2::new(
- math::round(mouse_pos_m.x, 0.5),
- math::round(mouse_pos_m.y, 0.5),
- );
+ let snapped_mouse_pos = snap_to_grid(mouse_pos_m, 0.5);
self.unfinished_wall = Some((snapped_mouse_pos, snapped_mouse_pos))
}
}