Hennadii Chernyshchyk
Hennadii Chernyshchyk
Resources will become entities soon: https://github.com/bevyengine/bevy/pull/17485 Our current implementation will just start working for resources as well. For now, I would suggest using singleton entities as a temporary workaround 🙂
### Decision We discussed it in Discord and I think it makes sense to implement a simplified version described below. Instead of providing a way to enable and disable replication...
Thanks, edited with my recent thoughts I added in Discord :)
> ClientVisibility::set_component_visibility(entity, component_id, true) gives visibility of only that component. So you suggesting to have per-component toggle instead of per-group? Like no "Owner", "Party member", just set `ComponentId`? I think...
No, no, in the snipped above you don't set a mask on a client. Only on component and on entity. Not entirely sold on this idea, just thinking out loud.
You configure masks for entities inside `ClientVisibility` which is client-specific. So you don't set a mask for a client, but set a mask for each entity inside client's `ClientVisibility`.
> And then a component group-based lookup to get permission requirements Yes, and the additional lookup should be cheap since it could be index-based. > Also, I think it's fine...
Let's summarize. ## Short description Component visibility will be separate from entity visibility and implemented in the form of groups. After registering a component, the user can assign a visibility...
Sounds great!
It's been a while, so let me update my thoughts because I think we can improve this with the current state of things. `ClientVisibility` stays as is, except we rename...