-
Notifications
You must be signed in to change notification settings - Fork 17
feat: visibility component propagateToChildren #330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: visibility component propagateToChildren #330
Conversation
Test this pull request
|
|
it's quite complex to read the rules, i think it is more simply (and still completely) expressed with: |
|
the current rules are useful for implementers though... so it's up to you i guess, i approve as is, the functionality and description is sound as is |
|
maybe it should be default=true? i have it like that in bevy currently and didn't see any issues (though maybe that's because they are .... invisible) |
I wouldn't put it to default true because that will potentially break existent scenes behaviour. Imagine a scene that uses the I know at least content team does use the component so ti will at the very least affect probably every complex scene already deployed by the content team (minigames, genesis plaza, some festival scenes) |
Signed-off-by: Pravus <pravusjif@gmail.com>
#348) * feat: audio source & video player spatial audio (#323) * feat: visibility component propagateToChildren (#330) Add propagate_to_children field to PBVisibilityComponent. The rules for propagation are introduced as code comments and are: 1. If child has own PBVisibilityComponent -> Own component takes priority, skip in propagation 2. Child's PBVisibilityComponent removed -> Re-inherit from parent hierarchy 3. Child has own component + propagateToChildren=TRUE -> Child's propagation takes over for grandchildren (blocks ancestor) 4. Child has own component + propagateToChildren=FALSE -> "Pass-through": grandchildren inherit from ancestor, not child 5. Entity reparented into non-propagating hierarchy -> Reset to visible 6. Entity reparented into propagating hierarchy -> Inherit new hierarchy visibility 7. Reparented entity has children -> Propagate visibility to all descendants of reparented entity 8. Parent's PBVisibilityComponent removed -> Children reset to visible * feat: movePlayerTo new 'duration' field (#331) * feat: Social service changes from experimental (#343) * feat: extract social service changes from experimental - Add errors.proto with social service error definitions - Update v2/social_service_v2.proto with voice chat, community features - Add v3/social_service_v3.proto with new social service definitions * remove unused social service v3 * feat: pointer max player distance (#345) * Add timestamp field to PlayerEmote message * Add is_instant and is_emoting fields to Movement message Cherry-picked from experimental PR #279 (fix: emotes interpolation) --------- Co-authored-by: Gon Pombo <gonzalo@decentraland.org> Co-authored-by: Pravus <pravusjif@gmail.com> Co-authored-by: Nicolas Lorusso <56365551+lorux0@users.noreply.github.com>
Add
propagate_to_childrenfield toPBVisibilityComponent.The rules for propagation are introduced as code comments and are:
PBVisibilityComponent-> Own component takes priority, skip in propagationPBVisibilityComponentremoved -> Re-inherit from parent hierarchypropagateToChildren=TRUE-> Child's propagation takes over for grandchildren (blocks ancestor)propagateToChildren=FALSE-> "Pass-through": grandchildren inherit from ancestor, not childPBVisibilityComponentremoved -> Children reset to visibleRelated PRS