#pragma once #include #include #include #include #include "Constants.h" #include "Entity.h" class GameInternal; class Manager { public: Manager(GameInternal* game) : game(game) {}; void update(); void draw(); void refresh(); void addToGroup(Entity* mEntity, Group mGroup); std::vector& getGroup(Group mGroup); std::vector getAll(); Entity& addEntity(); GameInternal* getGame() { return this->game; }; private: GameInternal* game; std::vector> entities; std::array, MAX_GROUPS> entitiesByGroup; };