diff options
| author | Todd Stinson <stinson@lindenlab.com> | 2012-03-12 19:18:19 -0700 |
|---|---|---|
| committer | Todd Stinson <stinson@lindenlab.com> | 2012-03-12 19:18:19 -0700 |
| commit | c990cc71ce124059a072c7778ac962253bacb199 (patch) | |
| tree | 45ab7ed430d91baf7dc41f30aea7ffbbb632f627 /indra/newview/llpathfindingnavmesh.cpp | |
| parent | b3197fc12e41bc60e3510d840c67ef98816c3ae8 (diff) | |
PATH-304: Adding an extra state for the pathfinding console to report that the status of the navmesh is being checked.
Diffstat (limited to 'indra/newview/llpathfindingnavmesh.cpp')
| -rw-r--r-- | indra/newview/llpathfindingnavmesh.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/indra/newview/llpathfindingnavmesh.cpp b/indra/newview/llpathfindingnavmesh.cpp index 81fa7b24db..138295a8cf 100644 --- a/indra/newview/llpathfindingnavmesh.cpp +++ b/indra/newview/llpathfindingnavmesh.cpp @@ -56,12 +56,28 @@ LLPathfindingNavMesh::navmesh_slot_t LLPathfindingNavMesh::registerNavMeshListen bool LLPathfindingNavMesh::hasNavMeshVersion(U32 pNavMeshVersion) const
{
- return (((mNavMeshRequestStatus == kNavMeshRequestStarted) || (mNavMeshRequestStatus == kNavMeshRequestCompleted)) && (mNavMeshVersion == pNavMeshVersion));
+ return ((mNavMeshVersion == pNavMeshVersion) &&
+ ((mNavMeshRequestStatus == kNavMeshRequestStarted) || (mNavMeshRequestStatus == kNavMeshRequestCompleted) ||
+ ((mNavMeshRequestStatus == kNavMeshRequestChecking) && !mNavMeshData.empty())));
}
-void LLPathfindingNavMesh::handleRefresh()
+void LLPathfindingNavMesh::handleRefresh(U32 pNavMeshVersion)
{
- mNavMeshSignal(mNavMeshRequestStatus, mRegionUUID, mNavMeshVersion, mNavMeshData);
+ llassert(pNavMeshVersion == mNavMeshVersion);
+ if (mNavMeshRequestStatus == kNavMeshRequestChecking)
+ {
+ llassert(!mNavMeshData.empty());
+ setRequestStatus(kNavMeshRequestCompleted);
+ }
+ else
+ {
+ mNavMeshSignal(mNavMeshRequestStatus, mRegionUUID, mNavMeshVersion, mNavMeshData);
+ }
+}
+
+void LLPathfindingNavMesh::handleNavMeshCheckVersion()
+{
+ setRequestStatus(kNavMeshRequestChecking);
}
void LLPathfindingNavMesh::handleNavMeshNewVersion(U32 pNavMeshVersion)
|
