Files
XCEngine/editor/src/Core/IEditorContext.h
ssdfasd d4c94907ba Migrate ProjectManager to dependency injection
- Created IProjectManager interface
- ProjectManager now implements IProjectManager
- Removed ProjectManager::Get() singleton
- Added IEditorContext::GetProjectManager()
- ProjectPanel now uses m_context->GetProjectManager() instead of singleton
- EditorContext owns ProjectManager instance
2026-03-25 16:25:55 +08:00

28 lines
562 B
C++

#pragma once
#include <memory>
#include <string>
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;
};
}
}