- 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
28 lines
562 B
C++
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;
|
|
};
|
|
|
|
}
|
|
}
|