approximative cam movement
This commit is contained in:
@@ -48,15 +48,25 @@ void WorldRenderer::UpdateCursorPos() {
|
||||
void WorldRenderer::Update() {
|
||||
if (m_WorldVao == nullptr)
|
||||
return;
|
||||
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
|
||||
if (io.MouseDown[0] && !ImGui::IsAnyItemActive() && !ImGui::IsAnyItemHovered()) {
|
||||
ImVec2 mouseDelta = ImGui::GetIO().MouseDelta;
|
||||
MoveCam(mouseDelta.x, mouseDelta.y);
|
||||
m_Renderer->SetCamMovement({ mouseDelta.x, mouseDelta.y });
|
||||
}
|
||||
|
||||
if (io.MouseDown[1] && !ImGui::IsAnyItemActive() && !ImGui::IsAnyItemHovered()) {
|
||||
ImVec2 mouseDelta = ImGui::GetIO().MouseDelta;
|
||||
m_Renderer->SetCamAngularMovement({ mouseDelta.x, mouseDelta.y });
|
||||
}
|
||||
|
||||
if (io.MouseWheel != 0) {
|
||||
ChangeZoom(io.MouseWheel);
|
||||
}
|
||||
|
||||
UpdateCursorPos();
|
||||
|
||||
if (ImGui::IsMouseClicked(0)) {
|
||||
if (!m_TowerUpgradePopup->IsPopupOpened()) {
|
||||
m_HoldCursorPos = { io.MousePos.x, io.MousePos.y };
|
||||
@@ -136,7 +146,7 @@ void WorldRenderer::RenderTooltips() const {
|
||||
void WorldRenderer::MoveCam(float relativeX, float relativeY) {
|
||||
if (m_WorldVao == nullptr)
|
||||
return;
|
||||
m_Renderer->SetCamMovement({ relativeX, relativeY });
|
||||
|
||||
}
|
||||
|
||||
void WorldRenderer::ChangeZoom(float zoomStep) {
|
||||
@@ -144,7 +154,6 @@ void WorldRenderer::ChangeZoom(float zoomStep) {
|
||||
return;
|
||||
|
||||
m_Renderer->SetZoom(zoomStep);
|
||||
m_Renderer->SetCamMovement({});
|
||||
}
|
||||
|
||||
void WorldRenderer::Click() {
|
||||
|
||||
Reference in New Issue
Block a user