MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / BuildNavigation

Function BuildNavigation

Source/Engine/Navigation/NavMeshBuilder.cpp:1125–1157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1123}
1124
1125void BuildNavigation(BuildRequest& request)
1126{
1127 // If scene is not specified then build all loaded scenes
1128 if (!request.Scene)
1129 {
1130 for (Scene* scene : Level::Scenes)
1131 {
1132 request.Scene = scene;
1133 BuildNavigation(request);
1134 }
1135 return;
1136 }
1137
1138 // Early out if scene is not using navigation
1139 if (request.Scene->Navigation.Volumes.IsEmpty())
1140 {
1141 ClearNavigation(request.Scene);
1142 return;
1143 }
1144
1145 // Check if similar request is already in a queue
1146 for (auto& e : NavBuildQueue)
1147 {
1148 if (e.Scene == request.Scene && (e.DirtyBounds == request.DirtyBounds || request.DirtyBounds == BoundingBox::Empty))
1149 {
1150 e = request;
1151 return;
1152 }
1153 }
1154
1155 // Enqueue request
1156 NavBuildQueue.Add(request);
1157}
1158
1159void NavMeshBuilder::Update()
1160{

Callers 1

BuildNavMeshMethod · 0.85

Calls 3

ClearNavigationFunction · 0.85
IsEmptyMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected