30 lines
987 B
C++
30 lines
987 B
C++
#pragma once
|
|
|
|
#include <XCEditor/Foundation/UIEditorShortcutManager.h>
|
|
#include <XCEditor/Shell/UIEditorShellAsset.h>
|
|
#include <XCEditor/Shell/UIEditorShellInteraction.h>
|
|
#include <XCEditor/Workspace/UIEditorWorkspaceController.h>
|
|
|
|
#include <XCEngine/UI/Runtime/UIScreenTypes.h>
|
|
|
|
namespace XCEngine::UI::Editor {
|
|
|
|
struct StructuredEditorShellBinding {
|
|
::XCEngine::UI::Runtime::UIScreenAsset screenAsset = {};
|
|
UIEditorWorkspaceController workspaceController = {};
|
|
UIEditorShellInteractionDefinition shellDefinition = {};
|
|
UIEditorShortcutManager shortcutManager = {};
|
|
EditorShellAssetValidationResult assetValidation = {};
|
|
|
|
[[nodiscard]] bool IsValid() const {
|
|
return assetValidation.IsValid();
|
|
}
|
|
};
|
|
|
|
StructuredEditorShellBinding BuildStructuredEditorShellBinding(const EditorShellAsset& asset);
|
|
|
|
UIEditorShellInteractionServices BuildStructuredEditorShellServices(
|
|
const StructuredEditorShellBinding& binding);
|
|
|
|
} // namespace XCEngine::UI::Editor
|