Simplified tool window code.

This commit is contained in:
2025-02-01 04:55:12 -05:00
parent e2719d9954
commit 2fb24c60b2
2 changed files with 17 additions and 4 deletions

View File

@@ -94,6 +94,7 @@ namespace CaveGame::ClientApp
void OnRefresh(float elapsed) override;
void OnMouseButtonDown(const ReWindow::MouseButtonDownEvent &ev) override;
void OnMouseButtonUp(const ReWindow::MouseButtonUpEvent &ev) override;
void OnMouseWheel(const ReWindow::MouseWheelEvent &ev) override;
void OnKeyUp(const ReWindow::KeyUpEvent &ev) override;
void OnKeyDown(const ReWindow::KeyDownEvent& ev) override;
void OnMouseMove(const ReWindow::MouseMoveEvent &ev) override;
@@ -115,8 +116,6 @@ namespace CaveGame::ClientApp
float tool_radius = 8.f;
float tool_percent = 100.f;
void OnMouseWheel(const ReWindow::MouseWheelEvent &) override;
void create_tool_window();
};
}

View File

@@ -503,10 +503,23 @@ namespace CaveGame::ClientApp
}
void CaveGameWindow::OnMouseWheel(const ReWindow::MouseWheelEvent &ev) {
tool_radius -= ev.WheelMovement/2.f;
// TODO: This is wrong and stupid, but it will work for now.
// Have the **scene** get input priority, duh!!!
if (current_scene) {
if (InputService::IsKeyDown(Keys::LeftShift) && current_scene == game_ctx) {
tool_radius -= ev.WheelMovement/2.f;
tool_radius = Math::Max(tool_radius, 0.45f);
tile_tool->SetBrushSize(tool_radius);
} else
current_scene->PassMouseWheel(ev.WheelMovement);
}
tool_radius = Math::Max(tool_radius, 0.45f);
}
void CaveGameWindow::Die() { wanna_die = true; }
@@ -556,6 +569,7 @@ namespace CaveGame::ClientApp
return Vector2(coords.x, coords.y);
}
}