In a component based system, how should change the rendering/visual state of an entity such that I know what animation to use, without breaking encapsulation?
My guess is that it would have to be message-based system, not a query-based one, because having a few ifs checked every frame to determine the right animation based on the values of the attributes of the other components doesn't sound very efficient.