Initial Commit
This commit is contained in:
37
include/Engine/Level/Scene.h
Normal file
37
include/Engine/Level/Scene.h
Normal file
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <Engine/Entity/Renderable.h>
|
||||
#include <Engine/Entity/Hud.h>
|
||||
#include <Engine/Level/Fixed.h>
|
||||
|
||||
class Scene {
|
||||
protected:
|
||||
bool Paused = false;
|
||||
Hud* HeadsUpDisplay = nullptr;
|
||||
std::vector<Fixed*> FixedList{};
|
||||
std::vector<Entity*> EntityList{};
|
||||
public:
|
||||
[[nodiscard]] bool EntityListContains(const Entity* entity) const;
|
||||
[[nodiscard]] bool FixedListContains(const Fixed* fixed) const;
|
||||
[[nodiscard]] size_t FixedCount() const;
|
||||
[[nodiscard]] size_t EntityCount() const;
|
||||
public:
|
||||
void AppendEntity(Entity* entity);
|
||||
void AppendFixed(Fixed* fixed);
|
||||
|
||||
// Removes and deallocates.
|
||||
void DestroyEntity(Entity* entity);
|
||||
void DestroyFixed(Fixed* fixed);
|
||||
|
||||
// Only removes from the list.
|
||||
void RemoveEntity(Entity* entity);
|
||||
void RemoveFixed(Fixed* fixed);
|
||||
|
||||
virtual void Init() {}
|
||||
virtual void Update();
|
||||
virtual void Render();
|
||||
public:
|
||||
Scene() = default;
|
||||
virtual ~Scene();
|
||||
};
|
Reference in New Issue
Block a user