#pragma once #include #include namespace XCEngine { namespace Editor { class EventBus; class ISelectionManager; class IProjectManager; class IEditorContext { public: virtual ~IEditorContext() = default; virtual EventBus& GetEventBus() = 0; virtual ISelectionManager& GetSelectionManager() = 0; virtual void* GetSceneManager() = 0; virtual IProjectManager& GetProjectManager() = 0; virtual void SetProjectPath(const std::string& path) = 0; virtual const std::string& GetProjectPath() const = 0; }; } }