36 virtual int getNextSceneIndex()
const = 0;
37 virtual int getPreviousSceneIndex()
const = 0;
40 virtual void build() = 0;
41 virtual void destroy() = 0;
44 virtual void onEntry() = 0;
45 virtual void onExit() = 0;
47 virtual void checkInput() = 0;
49 virtual void update(
float deltaTime) = 0;
50 virtual void prepareDraw(
int index) = 0;
51 virtual void renderDraw(
int index) = 0;
53 virtual void SwapBufferDraw() = 0;
55 virtual void BeginRender() = 0;
56 virtual void updateUI(
float deltaTime) = 0;
57 virtual void drawUI() = 0;
58 virtual void EndRender() = 0;
60 virtual void disposeRenderers(
int index) {
61 frameDataBuffers[index].planeColorRenderer.dispose();
62 frameDataBuffers[index].lineRenderer.dispose();
63 frameDataBuffers[index].planeColorRenderer.dispose();
64 frameDataBuffers[index].lightRenderer.dispose();
67 int getSceneIndex()
const {
71 currentState = SceneState::RUNNING;
74 SceneState getState()
const {
return currentState; }
80 virtual bool setManager(std::string m_managerName) {
81 if (!m_managerName.empty()) {
82 auto it = managers.find(m_managerName);
83 if (it == managers.end()) {
84 managers[m_managerName] =
new Manager();
86 editingManager = managers[m_managerName];
91 std::unordered_map<std::string, Manager*> managers = {
94 Manager* editingManager =
nullptr;
97 bool last_renderDebug =
false;
98 bool renderDebug =
false;
100 bool showGrid =
true;
101 bool last_showGrid =
false;
103 SceneState currentState = SceneState::NONE;
105 float backgroundColor[4] = { 0.8f, 0.8f, 0.8f, 1.0f };
107 bool requestExit =
false;
114 int _sceneIndex = -1;