UPD: onRender() als eigener Pass, closes #3
This commit is contained in:
parent
705d311c6d
commit
373fb34ea0
@ -8,8 +8,6 @@
|
||||
#include "../layer/Layer.h"
|
||||
#include "../platform/glfw/InputManager.h"
|
||||
#include "inputsOutputs/stateControl/StateRegistry.h"
|
||||
#include "inputsOutputs/stateControl/states/EmptyState.h"
|
||||
#include "inputsOutputs/stateControl/states/State.h"
|
||||
|
||||
Application* Application::instance = nullptr;
|
||||
|
||||
@ -53,9 +51,10 @@ void Application::run() {
|
||||
window->OnUpdate();
|
||||
updateTime();
|
||||
for (Layer* layer : layers)
|
||||
{
|
||||
layer->onUpdate();
|
||||
}
|
||||
|
||||
for (Layer* layer : layers)
|
||||
layer->onRender();
|
||||
|
||||
InputManager::update();
|
||||
|
||||
|
||||
@ -20,6 +20,7 @@ public:
|
||||
virtual void onAttach() {}
|
||||
virtual void onDetach() {}
|
||||
virtual void onUpdate() {}
|
||||
virtual void onRender() {}
|
||||
|
||||
void setGameMode(std::shared_ptr<GameMode> gameMode) {this->gameMode = std::move(gameMode);}
|
||||
[[nodiscard]] std::shared_ptr<GameMode> getGameMode() const {return gameMode;}
|
||||
|
||||
@ -132,6 +132,10 @@ void GameLayer::onUpdate()
|
||||
}
|
||||
buildingPlacementSystem->update(*entityManager, *gameMode, 0, *turnState);
|
||||
CollectResourceSystem::update(*entityManager, *gameMode);
|
||||
|
||||
}
|
||||
|
||||
void GameLayer::onRender() {
|
||||
RenderSystem::render(*entityManager, *renderer);
|
||||
|
||||
renderer->render(*light, *camera);
|
||||
|
||||
@ -27,6 +27,7 @@ public:
|
||||
void onAttach() override;
|
||||
void onDetach() override;
|
||||
void onUpdate() override;
|
||||
void onRender() override;
|
||||
private:
|
||||
TexturedModel texturedModel;
|
||||
std::unique_ptr<Camera> camera;
|
||||
|
||||
@ -156,18 +156,6 @@ void UILayer::onUpdate() {
|
||||
rootContainer->update(0.f); //Todo: Determine frame time
|
||||
}
|
||||
|
||||
|
||||
UiRenderBundle renderBundle;
|
||||
if (rootContainer) {
|
||||
rootContainer->collectRenderData(renderBundle);
|
||||
}
|
||||
|
||||
auto guis = renderBundle.getGUITextures();
|
||||
guiRenderer->render(guis);
|
||||
|
||||
auto renderTexts = renderBundle.getGUITexts();
|
||||
textRenderer->renderGuiTexts(renderTexts);
|
||||
|
||||
if (rootContainer->isMouseOver(Application::getInstance().mouse->getX(), Application::getInstance().mouse->getY())) {
|
||||
Application::getInstance().stateManager->suggestState(StateRegistry::get().uiState, false);
|
||||
} else {
|
||||
@ -178,3 +166,16 @@ void UILayer::onUpdate() {
|
||||
void UILayer::onDetach() {
|
||||
Layer::onDetach();
|
||||
}
|
||||
|
||||
void UILayer::onRender() {
|
||||
UiRenderBundle renderBundle;
|
||||
if (rootContainer) {
|
||||
rootContainer->collectRenderData(renderBundle);
|
||||
}
|
||||
|
||||
auto guis = renderBundle.getGUITextures();
|
||||
guiRenderer->render(guis);
|
||||
|
||||
auto renderTexts = renderBundle.getGUITexts();
|
||||
textRenderer->renderGuiTexts(renderTexts);
|
||||
}
|
||||
|
||||
@ -36,6 +36,7 @@ public:
|
||||
void onAttach() override;
|
||||
void onUpdate() override;
|
||||
void onDetach() override;
|
||||
void onRender() override;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user