Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CollisionSystem &collisionSystem = ecs.getComponentSystems().registerSystem<CollisionSystem>()
- .expects<PositionComponent>()
- .expects<VelocityComponent>();
- // CollisionSystem inherits from System class
- // ComponentSystems class for actually registering a system
- template<typename T, typename... Args>
- T ®isterSystem(Args&&... args)
- {
- // TODO: Check if any of the existing entities fit into the newly registered system
- auto system = std::make_unique<T>(std::forward<Args>(args)...);
- T &sys = *system;
- systems.push_back(std::move(system));
- updateSystems.push_back(&sys);
- logger.log("System Registered: " + sys.name);
- return sys;
- }
- // System base class
- template<typename T>
- System &expects()
- {
- systemMask = systemMask | T::mask;
- return *this;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement