engine: sync editor rendering and ui changes

This commit is contained in:
2026-04-08 16:09:15 +08:00
parent 31756847ab
commit 162f1cc12e
153 changed files with 4454 additions and 2990 deletions

View File

@@ -34,6 +34,8 @@ using XCEngine::Editor::SceneViewportInteractionResult;
using XCEngine::Editor::SceneViewportOrientationAxis;
using XCEngine::Editor::IViewportHostService;
using XCEngine::Math::Vector2;
using XCEngine::UI::UIPoint;
using XCEngine::UI::UISize;
class StubSelectionManager : public ISelectionManager {
public:
@@ -121,6 +123,8 @@ public:
const std::string& GetCurrentSceneName() const override { return empty; }
XCEngine::Components::Scene* GetScene() override { return nullptr; }
const XCEngine::Components::Scene* GetScene() const override { return nullptr; }
XCEngine::Editor::SceneLoadProgressSnapshot GetSceneLoadProgress() const override { return {}; }
void NotifySceneViewportFramePresented(std::uint32_t) override {}
SceneSnapshot CaptureSceneSnapshot() const override { return {}; }
bool RestoreSceneSnapshot(const SceneSnapshot&) override { return false; }
void CreateDemoScene() override {}
@@ -187,9 +191,9 @@ public:
void BeginFrame() override {}
XCEngine::Editor::EditorViewportFrame RequestViewport(
XCEngine::Editor::EditorViewportKind,
const ImVec2&) override { return {}; }
const UISize&) override { return {}; }
void UpdateSceneViewInput(IEditorContext&, const XCEngine::Editor::SceneViewportInput&) override {}
uint64_t PickSceneViewEntity(IEditorContext&, const ImVec2&, const ImVec2&) override {
uint64_t PickSceneViewEntity(IEditorContext&, const UISize&, const UIPoint&) override {
++pickCallCount;
return pickedEntity;
}
@@ -285,7 +289,7 @@ TEST(SceneViewportInteractionActionsTest, DispatchOrientationActionAlignsViewpor
actions,
context,
viewportHostService,
ImVec2(200.0f, 100.0f),
UISize(200.0f, 100.0f),
Vector2(40.0f, 30.0f));
EXPECT_EQ(viewportHostService.alignedAxis, SceneViewportOrientationAxis::PositiveY);
@@ -305,7 +309,7 @@ TEST(SceneViewportInteractionActionsTest, DispatchSceneIconClickSelectsEntityWit
actions,
context,
viewportHostService,
ImVec2(200.0f, 100.0f),
UISize(200.0f, 100.0f),
Vector2(40.0f, 30.0f));
EXPECT_EQ(context.selectionManager.selectedEntity, 42u);
@@ -325,7 +329,7 @@ TEST(SceneViewportInteractionActionsTest, DispatchScenePickSelectsPickedEntityOr
actions,
context,
viewportHostService,
ImVec2(200.0f, 100.0f),
UISize(200.0f, 100.0f),
Vector2(40.0f, 30.0f));
EXPECT_EQ(context.selectionManager.selectedEntity, 77u);
@@ -336,7 +340,7 @@ TEST(SceneViewportInteractionActionsTest, DispatchScenePickSelectsPickedEntityOr
actions,
context,
viewportHostService,
ImVec2(200.0f, 100.0f),
UISize(200.0f, 100.0f),
Vector2(40.0f, 30.0f));
EXPECT_EQ(context.selectionManager.selectedEntity, 0u);