#pragma once #include "Components.hpp" #include "Draw.hpp" #include "Entities.hpp" #include "GameContext.hpp" #include "Systems.hpp" #include "scene/Scene.hpp" #include "raylib.h" #include #include class DeathScene; /** * Main gameplay state containing active entity list and gameplay context. */ class GameplayScene : public Scene { public: explicit GameplayScene(SceneManager &owner) : Scene(owner) {} explicit GameplayScene(SceneManager &owner, bool muted) : Scene(owner), isMuted(muted) {} void Enter() override; void Exit() override; void Update(float dt) override; void Draw() override; private: GameContext context; int collectedCount = 0; float meterValue = 60.0f; bool isMuted = false; };