namespace GameCore.ECS.Interfaces; /// /// The contract for all game logic systems. /// Systems are stateless classes that contain all the logic. /// They operate on entities that possess a specific set of components. /// For example, a MovementSystem would operate on entities with PositionComponent and VelocityComponent. /// public interface ISystem { /// /// The main update method for a system, called once per game loop. /// /// A reference to the main World object to query for entities and components. /// The time elapsed since the last frame. void Update(World world, float deltaTime); }