From dabc94a845407c63a33f5684926db9864abb3580 Mon Sep 17 00:00:00 2001 From: Sri Sham Haran Date: Sun, 26 Feb 2023 23:26:24 +0800 Subject: [PATCH] editor cam pos display as requested --- .../EditorWindow/MenuBar/SHEditorMenuBar.cpp | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp index e8c943c2..d0c71265 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp +++ b/SHADE_Engine/src/Editor/EditorWindow/MenuBar/SHEditorMenuBar.cpp @@ -26,6 +26,8 @@ #include "Serialization/Configurations/SHConfigurationManager.h" #include "Editor/EditorWindow/SHEditorWindowManager.h" #include "Physics/System/SHPhysicsDebugDrawSystem.h" +#include "Camera/SHCameraSystem.h" +#include "Tools/Utilities/SHClipboardUtilities.h" const std::string LAYOUT_FOLDER_PATH{ std::string(ASSET_ROOT) + "/Editor/Layouts" }; @@ -154,7 +156,39 @@ namespace SHADE ImGui::PushStyleColor(ImGuiCol_WindowBg, ImGui::GetStyle().Colors[ImGuiCol_MenuBarBg]); if (ImGui::BeginViewportSideBar("MainStatusBar", ImGui::GetMainViewport(), ImGuiDir_Down, menuBarHeight, editorMenuBarFlags)) { - ImGui::Text("Entity count: %zu", SHEntityManager::GetEntityCount()); + auto camSystem = SHSystemManager::GetSystem(); + std::string editorCamPosText{}; + auto editorCam = camSystem->GetEditorCamera(); + if(editorCam) + { + auto editorCamPos = editorCam->GetPosition(); + editorCamPosText = std::format("Editor Cam [X: {:.3f}, Y: {:.3f}, Z: {:.3f}]", editorCamPos.x, editorCamPos.y, editorCamPos.z); + + //ImGui::Text(editorCamPosText.data()); + } + ImGui::Text("Entity count: %zu %s", SHEntityManager::GetEntityCount(), editorCamPosText.data()); + if(ImGui::BeginPopupContextItem("EditorCamPosContext")) + { + if(editorCam) + { + if(ImGui::Selectable("Copy Editor Cam Pos X")) + { + auto editorCamPos = editorCam->GetPosition(); + SHClipboardUtilities::WriteToClipboard(std::format("{:.3f}", editorCamPos.x)); + } + if (ImGui::Selectable("Copy Editor Cam Pos Y")) + { + auto editorCamPos = editorCam->GetPosition(); + SHClipboardUtilities::WriteToClipboard(std::format("{:.3f}", editorCamPos.y)); + } + if (ImGui::Selectable("Copy Editor Cam Pos Z")) + { + auto editorCamPos = editorCam->GetPosition(); + SHClipboardUtilities::WriteToClipboard(std::format("{:.3f}", editorCamPos.z)); + } + } + ImGui::EndPopup(); + } } ImGui::End(); ImGui::PopStyleColor();