MetaCore/MetaEditor/NullEditorShell.h
2026-03-19 18:01:50 +08:00

29 lines
997 B
C++

#pragma once
#include "MetaEditor/IEditorShell.h"
namespace metacore::editor {
class NullEditorShell final : public IEditorShell {
public:
bool initialize() override;
void shutdown() override;
void consume_snapshot(const EditorFrameSnapshot& snapshot) override;
[[nodiscard]] bool initialized() const override;
[[nodiscard]] const EditorFrameSnapshot& last_snapshot() const override;
[[nodiscard]] std::string summarize_snapshot() const override;
[[nodiscard]] std::string describe_workspace() const override;
[[nodiscard]] std::string shell_name() const override;
[[nodiscard]] PendingShellEdits consume_pending_edits() override;
[[nodiscard]] metacore::engine::render::UiDrawFrame consume_render_frame() override;
void set_debug_export_path(std::filesystem::path path) override;
private:
bool initialized_ = false;
EditorFrameSnapshot last_snapshot_{};
std::filesystem::path debug_export_path_{};
};
} // namespace metacore::editor