Well, there are two ways to do it:
- have the server switch the model info component upon capture
- have the client watch for the “captured” component on the entities and color them.
(1) is more flexible in general and keeps the custom code in one place. You can also swap out the whole model which could include particle effects, different meshes, whatever.
(2) requires extra client-side systems and so on… and in the end can only change the color or whatever you code in.
I’m not sure which one I’d do personally so it may be game specific. I initially thought (2) but after I wrote them out I realized I already have cases in my games where I do the equivalent of (1) in a couple different cases… so lumping “captured” into that would just be another one. In those cases, the current model info component is largely based on a lot of different potential state. Thing door open/closed, chest open/closed, torch lit/unlit, etc.