Advertisement
shout1232131

Untitled

Jul 8th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.62 KB | None | 0 0
  1. #pragma once
  2. #include "Entity.h"
  3. #include "FileManager.h"
  4. #include "Player.h"
  5.  
  6. class EntityManager
  7. {
  8. public:
  9.     EntityManager();
  10.     ~EntityManager();
  11.  
  12.     void LoadContent(std::string fileName, std::string id, std::string type, SDL_Renderer *renderer);
  13.     void UnloadContent();
  14.     void Update(InputManager input);
  15.     void Draw(SDL_Renderer *renderer);
  16.  
  17.     std::vector<Entity*> entities;
  18. private:
  19.  
  20. };
  21.  
  22. ////////////////////////////////////////////////////////////////////////////////
  23.  
  24. #include "EntityManager.h"
  25.  
  26. EntityManager::EntityManager()
  27. {
  28. }
  29.  
  30. EntityManager::~EntityManager()
  31. {
  32. }
  33.  
  34. void EntityManager::LoadContent(std::string fileName, std::string id, std::string type, SDL_Renderer *renderer)
  35. {
  36.     std::vector<std::vector<std::string>> attributes;
  37.     std::vector<std::vector<std::string>> contents;
  38.  
  39.     FileManager file;
  40.     if(id == "")
  41.     {
  42.         file.LoadContent(fileName, attributes, contents);
  43.     }
  44.     else
  45.     {
  46.         file.LoadContent(fileName, attributes, contents, id);
  47.     }
  48.  
  49.     for (int i = 0; i < attributes.size(); i++)
  50.     {
  51.         Entity *entity;
  52.         if (type == "Player")
  53.         {
  54.             entity = new Player();
  55.         }
  56.  
  57.         entities.push_back(entity);
  58.         entities[i]->LoadContent(attributes[i], contents[i], renderer);
  59.     }
  60. }
  61. void EntityManager::UnloadContent()
  62. {
  63.     for (int i = 0; i < entities.size(); i++)
  64.     {
  65.         entities[i]->UnloadContent();
  66.         delete entities[i];
  67.     }
  68. }
  69. void EntityManager::Update(InputManager input)
  70. {
  71.     for (int i = 0; i < entities.size(); i++)
  72.     {
  73.         entities[i]->Update(input);
  74.     }
  75. }
  76. void EntityManager::Draw(SDL_Renderer *renderer)
  77. {
  78.     for (int i = 0; i < entities.size(); i++)
  79.     {
  80.         entities[i]->Draw(renderer);
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement