ColorRace/game/src/GameScene.h
2026-08-05 10:40:01 +02:00

30 lines
889 B
C++

//
// Created by sebastian on 30.07.26.
//
#ifndef COLORRACE_GAMESCENE_H
#define COLORRACE_GAMESCENE_H
#include "layer/Scene.h"
#include "ludo/LudoGameMode.h"
#include "renderer/entities/PointLight.h"
class GameScene : public engine::Scene {
public:
GameScene(engine::InputContextStack& inputContext, engine::Keyboard& keyboard, engine::Mouse& mouse);
void onEnter() override;
void onExit() override;
std::vector<engine::AssetRequest> getRequiredAssets() const override;
engine::EventBus<ludo::LudoEvent>& getEventBus() { return m_eventBus; } //Todo: Maybe introduce virtual base Event class to move this into engine
private:
std::shared_ptr<engine::Camera> m_camera;
std::shared_ptr<engine::PointLight> m_pointLight;
std::shared_ptr<ludo::LudoGameMode> m_gameMode;
engine::EventBus<ludo::LudoEvent> m_eventBus;
};
#endif //COLORRACE_GAMESCENE_H