mirror of
https://github.com/antopilo/Nuake.git
synced 2026-09-21 20:08:40 +03:00
Editor camera now working again in viewport
This commit is contained in:
@@ -2881,7 +2881,7 @@ namespace Nuake {
|
||||
}
|
||||
|
||||
auto& editorCam = Engine::GetCurrentScene()->m_EditorCamera;
|
||||
isControllingCamera = editorCam->Update(ts, m_IsHoveringViewport && m_IsViewportFocused);
|
||||
// isControllingCamera = editorCam->Update(ts, m_IsHoveringViewport && m_IsViewportFocused);
|
||||
|
||||
const bool entityIsSelected = Selection.Type == EditorSelectionType::Entity && Selection.Entity.IsValid();
|
||||
if (entityIsSelected && Input::IsKeyPressed(Key::F))
|
||||
|
||||
@@ -30,6 +30,8 @@ ViewportWidget::~ViewportWidget()
|
||||
void ViewportWidget::Update(float ts)
|
||||
{
|
||||
editorContext.GetScene()->Update(ts);
|
||||
auto& editorCam = editorContext.GetScene()->m_EditorCamera;
|
||||
editorCam->Update(ts, isHoveringViewport);
|
||||
}
|
||||
|
||||
void ViewportWidget::Draw()
|
||||
@@ -45,13 +47,12 @@ void ViewportWidget::Draw()
|
||||
ImVec2 regionAvail = ImGui::GetContentRegionAvail();
|
||||
Vector2 viewportPanelSize = glm::vec2(regionAvail.x, regionAvail.y);
|
||||
|
||||
sceneViewport->QueueResize(viewportPanelSize);
|
||||
bool needsResize = sceneViewport->QueueResize(viewportPanelSize);
|
||||
|
||||
// This is important for make UI mouse coord relative to viewport
|
||||
// Nuake::Input::SetViewportDimensions(m_ViewportPos, viewportPanelSize);
|
||||
|
||||
VkDescriptorSet textureDesc = sceneViewport->GetRenderTarget()->GetImGuiDescriptorSet();
|
||||
//VkDescriptorSet textureDesc = VkRenderer::Get().DrawImage->GetImGuiDescriptorSet();
|
||||
|
||||
ImVec2 imagePos = ImGui::GetWindowPos() + ImGui::GetCursorPos();
|
||||
// Input::SetEditorViewportSize(m_ViewportPos, viewportPanelSize);
|
||||
@@ -67,7 +68,7 @@ void ViewportWidget::Draw()
|
||||
const ImVec2& windowSize = ImGui::GetWindowSize();
|
||||
const bool isInsideWidth = mousePos.x > windowPos.x && mousePos.x < windowPos.x + windowSize.x;
|
||||
const bool isInsideHeight = mousePos.y > windowPos.y && mousePos.y < windowPos.y + windowSize.y;
|
||||
// m_IsHoveringViewport = isInsideWidth && isInsideHeight;
|
||||
this->isHoveringViewport = isInsideWidth && isInsideHeight;
|
||||
|
||||
// TODO(antopilo) drag n drop
|
||||
ImGuizmo::SetDrawlist();
|
||||
|
||||
@@ -21,6 +21,7 @@ private:
|
||||
bool UseSnapping = true;
|
||||
Nuake::Vector3 CurrentSnapping = { 0.05f, 0.05f, 0.05f };
|
||||
|
||||
bool isHoveringViewport;
|
||||
public:
|
||||
ViewportWidget(EditorContext& context);
|
||||
~ViewportWidget();
|
||||
|
||||
Reference in New Issue
Block a user