package coffee.liz.ecs import kotlin.reflect.KClass /** * Systems contain the logic that operates on entities with specific components. */ interface System { /** * Systems that must run before this system in the update loop. * Used to construct a dependency DAG. */ val dependencies: Set> get() = emptySet() /** * Update this system. Called once per frame. * @param world The world containing entities and systems * @param deltaTime Time elapsed since last update in seconds */ fun update(world: World, deltaTime: Float) }