A few things

Make child entites work.

z-sort entity list before rendering.

entites have a creation timestamp.
This commit is contained in:
2025-01-02 21:44:14 -05:00
parent 3349474e3a
commit 25d080ff2c
11 changed files with 90 additions and 25 deletions

View File

@@ -8,9 +8,15 @@ namespace Engine {
}
class Engine::Renderable : public Entity {
protected:
// Higher numbers are farther to the back.
unsigned int depth = 0;
public:
[[nodiscard]] unsigned int GetDepth() const { return depth; }
void SetDepth(unsigned int new_depth) { depth = new_depth; }
public:
// *must* be overridden.
virtual void Render() = 0;
public:
explicit Renderable(const Vector2& position, float rotation = 0.0f) : Entity(position, rotation) {}
explicit Renderable(const Vector2& position, unsigned int depth = 0, float rotation = 0.0f) : Entity(position, rotation), depth(depth) {}
};