One problematic scenario is when all components from an actor are unregistered and one of them is the navigation parent of the others. In this case, the parent may be unregistered before some of its children and then calls to UpdateNavOctreeParentChain from a child may queue back the unregistered parent. UpdateNavOctreeParentChain will now consider the actual status of the parent (Added or queued for add) before registering it or its children.
[at]mieszko.zielinski [at]guillaume.guay
#rb mieszko.zielinski, guillaume.guay
#ROBOMERGE-SOURCE: CL 8552772 via CL 8557168
#ROBOMERGE-BOT: (v406-8472469)
[CL 8557314 by yoan stamant in Main branch]
#rb stephane.delmer
#rnx
#ROBOMERGE-SOURCE: CL 7678434 via CL 7678435 via CL 7683318
#ROBOMERGE-BOT: (v382-7680231)
[CL 7683469 by maxime mercier in Main branch]
Submitting to Main as a follow up to 7308751
#jira none
#rb Yoan.StAmant
#review-7308772 Yoan.StAmant
#okforgitub public
[CL 7309638 by Mieszko Zielinski in Main branch]
Notable changes:
- Added FNavigationOctreeController that wraps up what used to be NavigationSystemV1's navoctree-related logic
- Added FNavigationDirtyAreasController that wraps up what used to be NavigationSystemV1's DirtyAreas-related logic
- Added FNavigationDataHandler that is a helper struct that wraps up what used to be NavigationSystemV1's logic related to operation involving both navoctree and dirty areas
- Deprecated both FNavDataConfig.NavigationDataClass and FNavDataConfig.NavigationDataClassName and replaced them with a single NavDataClass property
- FNavigationOctree is not responsible for hashing element objects and storing their ElementId
- NavOctree elements how know about the octree they belong to (via a member property).
[at]Yoan.StAmant, [at]Maxime.Mercier, [at]Guillaume.Guay
#rb Yoan.StAmant
#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 7249089 via CL 7262555
#ROBOMERGE-BOT: (v369-7254125)
[CL 7262559 by mieszko zielinski in Main branch]