Komponentenbasierte Entitätssysteme sind heutzutage der letzte Schrei. Alle scheinen zuzustimmen, dass sie der richtige Weg sind, aber niemand hat wirklich eine endgültige Implementierung eines solchen Systems. Ich habe mich gefragt, welche Rolle Entitätszustände (links gehen, stehen, springen usw.) in einem CBS spielen. Verhalten sie sich wie Controller (dh sie behandeln Ereignisse und ändern die Attribute der Entität basierend auf diesen Ereignissen)?
Was ist mit Fällen, in denen ein Status beispielsweise erfordern würde, dass die Entität in den No-Clip-Modus wechselt? Sollte dieser Status beim Eintritt möglicherweise die CollisionComponent der Entität auf einen Nullzeiger oder etwas anderes setzen? (Beim Beenden sollte der Status die CollisionComponent der Entität auf ihren vorherigen Status zurücksetzen.)
Ich denke auch, dass es die Aufgabe des aktuellen Status ist, den Status der Entität in etwas anderes zu ändern, oder?