From 68802b5749ad16f1e763f8eaf19c961c82027aeb Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 29 Nov 2018 14:52:24 +0000 Subject: [PATCH] Added some to the entity code and changed up the header for ResourceManager to include a virtual destructor --- bin/crumpet-engine | Bin 108480 -> 108528 bytes src/crumpet-engine/crumpet-engine.h | 1 + src/crumpet-engine/entitymanager/entity.h | 3 +++ src/crumpet-engine/entitymanager/entitybase.h | 3 +++ .../entitymanager/entitymanager.cpp | 7 +++++++ .../entitymanager/entitymanager.h | 14 +++++++++++++- src/crumpet-engine/game.cpp | 3 ++- src/crumpet-engine/game.h | 2 ++ .../resourcemanager/resourcemanager.h | 2 ++ src/main.cpp | 4 +++- 10 files changed, 36 insertions(+), 3 deletions(-) diff --git a/bin/crumpet-engine b/bin/crumpet-engine index a5516ffe785e3b13d014d91f2697e11e0c492a1d..9ba64ef614d94b2e244338c4a32b880390e545b2 100755 GIT binary patch delta 6408 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 +#include +#include +#include + +#include "entity.h" + class EntityManager { - +public: + EntityManager(): + + virtual ~EntityManager(); +private: + std::map m_activeEntities; }; diff --git a/src/crumpet-engine/game.cpp b/src/crumpet-engine/game.cpp index 121a0d1..33b4293 100644 --- a/src/crumpet-engine/game.cpp +++ b/src/crumpet-engine/game.cpp @@ -3,7 +3,8 @@ Game::Game() : input(&renderer) , resourceManager(&renderer) - , textureManager(resourceManager.textureManager) { + , textureManager(resourceManager.textureManager) + , entityManager() { } diff --git a/src/crumpet-engine/game.h b/src/crumpet-engine/game.h index 7d14e60..7c8be7c 100644 --- a/src/crumpet-engine/game.h +++ b/src/crumpet-engine/game.h @@ -7,6 +7,7 @@ #include "renderengine/renderer.h" #include "resourcemanager/resourcemanager.h" +#include "entitymanager/entitymanager.h" #include "input/input.h" class Game { @@ -15,6 +16,7 @@ public: ResourceManger resourceManager; TextureManager textureManager; + EntityManager entityManager; Renderer renderer; Input input; diff --git a/src/crumpet-engine/resourcemanager/resourcemanager.h b/src/crumpet-engine/resourcemanager/resourcemanager.h index b486ee6..bf2748d 100644 --- a/src/crumpet-engine/resourcemanager/resourcemanager.h +++ b/src/crumpet-engine/resourcemanager/resourcemanager.h @@ -7,4 +7,6 @@ public: ResourceManger(Renderer* renderer) : textureManager(renderer) {}; TextureManager textureManager; + + virtual ~ResourceManger(); }; diff --git a/src/main.cpp b/src/main.cpp index 6b9d44a..397bbc0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,7 +9,9 @@ int main(int argc, char** argv) { while (!game.renderer.isWindowClosed()) { game.renderer.clear(); game.input.poll(); - SDL_RenderCopy(game.renderer.SDLRenderer, game.textureManager.getTexture("mario"), NULL, NULL); + Rect rectfrom(0, 0, 1000, 1000); + Rect rectTo(-300, 0, 1000, 1000); + SDL_RenderCopy(game.renderer.SDLRenderer, game.textureManager.getTexture("mario"), rectfrom.ToSDLRect(), rectTo.ToSDLRect()); game.renderer.update(); } }