Skip to main content

Concepts ECS

Entité

Une entité est un objet léger qui appartient au World.

Elle expose les opérations de composants directement, par exemple entity.addComponent(...) ou entity.getComponent(...).

Composant

Un composant est une classe qui hérite de Component.

Exemple:

import { Component } from "envy";

class PositionComponent extends Component {
x = 0;
y = 0;
z = 0;
}

Système

Un système contient le comportement.

Il lit les composants du monde via des requêtes comme world.query(PositionComponent), applique une logique, puis met à jour l'état nécessaire.

World

Le World est le centre du runtime.

Il permet de:

  • créer et détruire des entités
  • ajouter et retirer des composants via les entités
  • enregistrer des systèmes
  • exécuter la boucle de simulation
  • interroger les entités et leurs composants avec query(...)

Recommandation

Garde les composants petits et les systèmes spécialisés.

Cela rend les tests plus simples et l'évolution du code plus prévisible.