diff options
Diffstat (limited to 'indra/newview/llfloaterpathfindingconsole.h')
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.h | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index 34a68ebed1..237d4216bb 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -30,11 +30,12 @@ #include "llfloater.h" #include "llhandle.h" -#include "llnavmeshstation.h" #include "LLPathingLib.h" #include "llpathfindingmanager.h" +#include "llpathfindingnavmesh.h" class LLSD; +class LLPanel; class LLRadioGroup; class LLSliderCtrl; class LLLineEditor; @@ -108,22 +109,29 @@ public: ECharacterType getCharacterType() const; void setCharacterType(ECharacterType pCharacterType); - void setHasNavMeshReceived(); - void setHasNoNavMesh(); - bool getHeartBeat() const { return mHeartBeat;} void setHeartBeat( bool state ) { mHeartBeat=state; } protected: private: + typedef enum + { + kConsoleStateUnknown, + kConsoleStateLibraryNotImplemented, + kConsoleStateRegionNotEnabled, + kConsoleStateDownloading, + kConsoleStateHasNavMesh, + kConsoleStateHasNavMeshDownloading, + kConsoleStateDownloadError, + kConsoleStateNavMeshError + } EConsoleState; + // Does its own instance management, so clients not allowed // to allocate or destroy. LLFloaterPathfindingConsole(const LLSD& pSeed); virtual ~LLFloaterPathfindingConsole(); - std::string getCurrentRegionCapabilityURL() const; - void onShowWalkabilitySet(); void onShowWorldToggle(); void onCharacterWidthSet(); @@ -133,8 +141,16 @@ private: void onFreezeClicked(); void onViewEditLinksetClicked(); void onClearPathClicked(); + void onNavMeshDownloadCB(LLPathfindingNavMesh::ENavMeshRequestStatus pNavMeshRequestStatus, const LLUUID &pRegionUUID, U32 pNavMeshVersion, const LLSD::Binary &pNavMeshData); void onAgentStateCB(LLPathfindingManager::EAgentState pAgentState); + void setConsoleState(EConsoleState pConsoleState); + void updateNavMesh(const LLUUID &pRegionUUID, U32 pNavMeshVersion, const LLSD::Binary &pNavMeshData); + void clearNavMesh(); + + void updateControlsOnConsoleState(); + void updateStatusOnConsoleState(); + void setAgentState(LLPathfindingManager::EAgentState pAgentState); void generatePath(); @@ -153,6 +169,8 @@ private: LLTextBase *mPathfindingStatus; LLButton *mViewCharactersButton; LLTabContainer *mEditTestTabContainer; + LLPanel *mEditTab; + LLPanel *mTestTab; LLTextBase *mUnfreezeLabel; LLButton *mUnfreezeButton; LLTextBase *mLinksetsLabel; @@ -163,12 +181,19 @@ private: LLRadioGroup *mCharacterTypeRadioGroup; LLTextBase *mPathTestingStatus; LLButton *mClearPathButton; + LLPathfindingNavMesh::navmesh_slot_t mNavMeshSlot; LLPathfindingManager::agent_state_slot_t mAgentStateSlot; + EConsoleState mConsoleState; + bool mHasNavMesh; + U32 mNavMeshRegionVersion; + LLUUID mNavMeshRegionUUID; +#if 0 LLNavMeshDownloadObserver mNavMeshDownloadObserver[10]; int mCurrentMDO; int mNavMeshCnt; U32 mNeighboringRegion; +#endif //Container that is populated and subsequently submitted to the LLPathingSystem for processing LLPathingLib::PathingPacket mPathData; bool mHasStartPoint; |