31 lines
660 B
C++
31 lines
660 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
namespace XCEngine {
|
|
namespace Editor {
|
|
|
|
class EventBus;
|
|
class ISelectionManager;
|
|
class IProjectManager;
|
|
class ISceneManager;
|
|
class IUndoManager;
|
|
|
|
class IEditorContext {
|
|
public:
|
|
virtual ~IEditorContext() = default;
|
|
|
|
virtual EventBus& GetEventBus() = 0;
|
|
virtual ISelectionManager& GetSelectionManager() = 0;
|
|
virtual ISceneManager& GetSceneManager() = 0;
|
|
virtual IProjectManager& GetProjectManager() = 0;
|
|
virtual IUndoManager& GetUndoManager() = 0;
|
|
|
|
virtual void SetProjectPath(const std::string& path) = 0;
|
|
virtual const std::string& GetProjectPath() const = 0;
|
|
};
|
|
|
|
}
|
|
}
|