17 lines
724 B
C#
17 lines
724 B
C#
namespace GameCore.ECS.Interfaces;
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public interface ISystem
|
|
{
|
|
/// <summary>
|
|
/// The main update method for a system, called once per game loop.
|
|
/// </summary>
|
|
/// <param name="world">A reference to the main World object to query for entities and components.</param>
|
|
/// <param name="deltaTime">The time elapsed since the last frame.</param>
|
|
void Update(World world, float deltaTime);
|
|
} |