Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <string>
- #include <vector>
- #include "System.h"
- #include "Component.h"
- namespace ________ {
- //forwarding
- struct GameData;
- class ECS {
- public:
- ECS(GameData* gameData = nullptr);
- /*todo*/
- class EntityFactory;
- /*add new entity to entity string list, return new entityID*/
- std::string createEntity();
- /*adds new system to system vector*/
- void addSystem(SystemInterface* sys);
- /*this will only call the init function of systems
- which have not been initialized yet*/
- void initializeSystems();
- void updateSystems();
- void drawSystems();
- private:
- GameData* _data;
- std::string createEntityName();
- std::vector<std::string> entities;
- /*add the systems to this vector to update them every draw/update*/
- std::vector<SystemInterface*> systems;
- int entityAmount;
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement