Better scene management.

This commit is contained in:
2025-01-02 12:57:21 -05:00
parent b9afc57e6e
commit 30bdd66086
13 changed files with 78 additions and 47 deletions

View File

@@ -7,7 +7,7 @@
class Scene {
protected:
bool Paused = false;
std::string name;
Hud* HeadsUpDisplay = nullptr;
std::vector<Fixed*> FixedList{};
std::vector<Entity*> EntityList{};
@@ -16,6 +16,7 @@ public:
[[nodiscard]] bool FixedListContains(const Fixed* fixed) const;
[[nodiscard]] size_t FixedCount() const;
[[nodiscard]] size_t EntityCount() const;
[[nodiscard]] std::string GetName() const;
public:
void AppendEntity(Entity* entity);
void AppendFixed(Fixed* fixed);
@@ -28,10 +29,11 @@ public:
void RemoveEntity(Entity* entity);
void RemoveFixed(Fixed* fixed);
virtual void Unload();
virtual void Init() {}
virtual void Update();
virtual void Render();
public:
Scene() = default;
explicit Scene(const std::string& name) : name(name) {}
virtual ~Scene();
};