top | item 29643030

(no title)

ncake | 4 years ago

I'll try to explain what I mean. Suppose you want an in game character to change the displayed weapon in their inventory.

Stateful way: your Inventory Manager component iterates through its private array of item entities to mark their model components as shown or hidden, then calls the dependency injected character's avatar component to update its animation state.

Stateless way: you flip an integer in character's struct, and the rendering function does something different.

discuss

order

chmod775|4 years ago

I don't think the terminology you're looking for is not stateful/stateless, it's single source of truth vs multiple.

The latter is an anti-pattern, and you can do either with ECS.

With ECS nothing prevents you from just having the "physical" game state as the single source of truth, and having the render function for the player inventories look at it.

jazzfool|4 years ago

The "stateful" way you present is not at all how you would approach that problem in an ECS. I think you misunderstand what ECS refers to.

ShrigmaMale|4 years ago

Maybe for ECS newbie, please say more on how you would approach this problem?