cs381/as6/scene/GameplayScene.hpp

35 lines
768 B
C++

#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 <memory>
#include <vector>
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;
};