#ifndef PIXELDEFENSE_SYSTEMS_H #define PIXELDEFENSE_SYSTEMS_H #include #include "components.h" /********************************** * Entity Systems **********************************/ /* Observer (for unregistering collision) * 0: Game (singleton) * 1: Position * 3: SpatialGridID */ void entitySpatialRemoved(ecs_iter_t *it); /* Observer (for releasing path objects) * 0: Game (singleton) for object pool * 1: Path */ void pathRemoved(ecs_iter_t *it); /* * 0: Game (singleton) for entity map * 1: Position * 2: Size * 3: Velocity (only entities with velocity change position) * 4: SpatialGridID */ void entityUpdateSpatialID(ecs_iter_t *it); /* * 0: Game (singleton) for collisions * 1: Position * 2: Rotation * 3: Velocity * 4: AngularVelocity * 5: SteeringOutput */ void entityUpdateKinematic(ecs_iter_t *it); /* * 1: Position * 2: Rotation * 3: Velocity * 4: AngularVelocity * 5: SteeringOutput * 6: Path */ void entityFollowPath(ecs_iter_t *it); /* * 0: */ void renderTerrain(ecs_iter_t *it); void renderBuildings(ecs_iter_t *it); void renderEntities(ecs_iter_t *it); /* * 1: Position * 2: Size */ void renderColliders(ecs_iter_t *it); /* * 1: Path */ void renderDebugPath(ecs_iter_t *it); #endif //PIXELDEFENSE_SYSTEMS_H