1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#pragma once namespace crepe { class ComponentManager; class System { public: virtual void update() = 0; public: System(ComponentManager &); virtual ~System() = default; protected: ComponentManager & component_manager; }; } // namespace crepe