Checkpoint workspace changes
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <optional>
|
||||
#include <string_view>
|
||||
|
||||
namespace XCEngine::UI::Editor::App {
|
||||
@@ -83,7 +84,7 @@ void AddComponentPanel::ResetInteractionState() {
|
||||
}
|
||||
|
||||
void AddComponentPanel::RebuildEntries(
|
||||
const ::XCEngine::Components::GameObject* gameObject) {
|
||||
const EditorSceneObjectSnapshot* gameObject) {
|
||||
const auto& editors = InspectorComponentEditorRegistry::Get().GetEditors();
|
||||
m_entries.clear();
|
||||
m_entries.reserve(editors.size());
|
||||
@@ -137,9 +138,11 @@ bool AddComponentPanel::TryActivateEntry(
|
||||
return false;
|
||||
}
|
||||
|
||||
m_hasTarget = services.sceneRuntime.GetSelectedGameObject() != nullptr;
|
||||
const std::optional<EditorSceneObjectSnapshot> selectedObject =
|
||||
services.sceneRuntime.GetSelectedObjectSnapshot();
|
||||
m_hasTarget = selectedObject.has_value();
|
||||
m_targetDisplayName = services.sceneRuntime.GetSelectedDisplayName();
|
||||
RebuildEntries(services.sceneRuntime.GetSelectedGameObject());
|
||||
RebuildEntries(selectedObject.has_value() ? &selectedObject.value() : nullptr);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -164,9 +167,11 @@ void AddComponentPanel::Update(
|
||||
|
||||
m_visible = true;
|
||||
m_bounds = hostContext.bounds;
|
||||
m_hasTarget = services.sceneRuntime.GetSelectedGameObject() != nullptr;
|
||||
const std::optional<EditorSceneObjectSnapshot> selectedObject =
|
||||
services.sceneRuntime.GetSelectedObjectSnapshot();
|
||||
m_hasTarget = selectedObject.has_value();
|
||||
m_targetDisplayName = services.sceneRuntime.GetSelectedDisplayName();
|
||||
RebuildEntries(services.sceneRuntime.GetSelectedGameObject());
|
||||
RebuildEntries(selectedObject.has_value() ? &selectedObject.value() : nullptr);
|
||||
|
||||
if (hostContext.focusLost) {
|
||||
ResetInteractionState();
|
||||
|
||||
Reference in New Issue
Block a user