Refactor & More.

Changed the entity system to utilize mix-ins.

Added instanced sprites.

Texture support.
This commit is contained in:
2025-01-03 19:28:58 -05:00
parent c9daae8d25
commit 6664925621
39 changed files with 503 additions and 310 deletions

View File

@@ -1,16 +0,0 @@
#pragma once
#include <Engine/Entity/Renderable.h>
#include <Engine/Globals.h>
namespace Game {
class Box;
}
class Game::Box final : public Engine::Renderable {
public:
void Render() final;
void Update() final;
public:
explicit Box(const Vector2& position, unsigned int depth = 0, float rotation = 0.0f) : Renderable(position, depth, rotation) {}
};

17
include/Game/entity/Box.h Normal file
View File

@@ -0,0 +1,17 @@
#pragma once
#include <Engine/types/entity/Entity.h>
#include <Engine/types/entity/mixins/Movable.h>
#include <Engine/types/entity/mixins/Renderable.h>
namespace Game {
class Box;
}
class Game::Box final : public Engine::Entity, public Engine::Renderable, public Engine::Movable {
public:
void Render() final;
void Update() final;
public:
explicit Box(const Vector2& position, unsigned int depth = 0, float rotation = 0.0f) : Renderable(depth), Movable(position, rotation) {}
};

View File

@@ -1,4 +1,4 @@
#include <Engine/Entity/Hud.h>
#include <Engine/types/entity/Hud.h>
namespace Game {
class DemoGameHud;

View File

@@ -1,5 +1,5 @@
#pragma once
#include <Engine/Level/Scene.h>
#include <Engine/types/scene/Scene.h>
class ControllableBox final : public Engine::Scene {
public:

View File

@@ -1,5 +1,6 @@
#pragma once
#include <Engine/Level/Scene.h>
#include <Engine/types/scene/Scene.h>
#include <JGL/types/RenderTarget.h>
class LoadingScreen final : public Engine::Scene {
protected:
@@ -11,6 +12,6 @@ public:
void Init() final;
void Update() final;
void Render(RenderTarget* render_target = nullptr) final;
void Render(JGL::RenderTarget* render_target = nullptr) final;
~LoadingScreen() final;
};