Skip to main content

Concepts ECS

Entité​

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

Elle expose directement les opérations sur les composants, 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.