From 2400b8a651e5aec599c2132d3cf9c12b78b21d83 Mon Sep 17 00:00:00 2001 From: prep Date: Mon, 11 Jun 2012 17:46:39 -0400 Subject: WIP:path-703 Adding icon to slurl bar to indicate if dynamic pathfinding is enabled or disbled. --- indra/newview/lllocationinputctrl.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 025181ead5..a6b0f5b81c 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -191,7 +191,8 @@ LLLocationInputCtrl::Params::Params() damage_icon("damage_icon"), damage_text("damage_text"), see_avatars_icon("see_avatars_icon"), - maturity_help_topic("maturity_help_topic") + maturity_help_topic("maturity_help_topic"), + pathfinding_dynamic_icon("pathfinding_dynamic_icon") { } @@ -270,7 +271,7 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) if (p.icon_maturity_general()) { mIconMaturityGeneral = p.icon_maturity_general; - } + } if (p.icon_maturity_adult()) { mIconMaturityAdult = p.icon_maturity_adult; @@ -279,7 +280,7 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) { mIconMaturityModerate = p.icon_maturity_moderate; } - + LLButton::Params maturity_button = p.maturity_button; mMaturityButton = LLUICtrlFactory::create(maturity_button); addChild(mMaturityButton); @@ -336,7 +337,14 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mParcelIcon[DAMAGE_ICON] = LLUICtrlFactory::create(damage_icon); mParcelIcon[DAMAGE_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, DAMAGE_ICON)); addChild(mParcelIcon[DAMAGE_ICON]); - + + LLIconCtrl::Params pathfinding_dynamic_icon = p.pathfinding_dynamic_icon; + pathfinding_dynamic_icon.tool_tip = LLTrans::getString("PathfindingDynamicTooltip"); + pathfinding_dynamic_icon.mouse_opaque = true; + mParcelIcon[PATHFINDING_DYNAMIC] = LLUICtrlFactory::create(pathfinding_dynamic_icon); + mParcelIcon[PATHFINDING_DYNAMIC]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PATHFINDING_DYNAMIC)); + addChild(mParcelIcon[PATHFINDING_DYNAMIC]); + LLTextBox::Params damage_text = p.damage_text; damage_text.tool_tip = LLTrans::getString("LocationCtrlDamageTooltip"); damage_text.mouse_opaque = true; @@ -819,6 +827,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); bool see_avs = current_parcel->getSeeAVs(); + bool pathfinding_dynamic = true;// gAgent.getRegion()->dynamicPathfindingEnabled(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -827,6 +836,9 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[BUILD_ICON]->setVisible( !allow_build ); mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); + //prep# + mParcelIcon[PATHFINDING_DYNAMIC]->setVisible( pathfinding_dynamic ); + mDamageText->setVisible(allow_damage); mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs ); -- cgit v1.2.3 From eb74acb28ef26c4cacc9f58a12ece780617cb960 Mon Sep 17 00:00:00 2001 From: prep Date: Mon, 11 Jun 2012 18:09:40 -0400 Subject: removed callback for dynamic pathfinding notification --- indra/newview/lllocationinputctrl.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index a6b0f5b81c..34573d7211 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -342,7 +342,6 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) pathfinding_dynamic_icon.tool_tip = LLTrans::getString("PathfindingDynamicTooltip"); pathfinding_dynamic_icon.mouse_opaque = true; mParcelIcon[PATHFINDING_DYNAMIC] = LLUICtrlFactory::create(pathfinding_dynamic_icon); - mParcelIcon[PATHFINDING_DYNAMIC]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PATHFINDING_DYNAMIC)); addChild(mParcelIcon[PATHFINDING_DYNAMIC]); LLTextBox::Params damage_text = p.damage_text; -- cgit v1.2.3 From e05d70174ce269c1e525acfdccf6326eb4d5dd54 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Mon, 11 Jun 2012 17:51:28 -0700 Subject: PATH-725: BUILDFIX Correcting a problem with Linux and Mac builds. --- indra/newview/lllocationinputctrl.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 34573d7211..6d1b6f89f6 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -1199,6 +1199,9 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case SEE_AVATARS_ICON: LLNotificationsUtil::add("SeeAvatars"); break; + case PATHFINDING_DYNAMIC: + // prep TODO : add something here + break; case ICON_COUNT: break; // no default to get compiler warning when a new icon gets added -- cgit v1.2.3 From a45310e2af0abdcdb7a5d0ade1bd3c66af3dfae1 Mon Sep 17 00:00:00 2001 From: prep Date: Tue, 12 Jun 2012 11:23:31 -0400 Subject: Path-702: Added notification message and hooked up onparcelclick. --- indra/newview/lllocationinputctrl.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 6d1b6f89f6..db7371d993 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -341,8 +341,9 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) LLIconCtrl::Params pathfinding_dynamic_icon = p.pathfinding_dynamic_icon; pathfinding_dynamic_icon.tool_tip = LLTrans::getString("PathfindingDynamicTooltip"); pathfinding_dynamic_icon.mouse_opaque = true; - mParcelIcon[PATHFINDING_DYNAMIC] = LLUICtrlFactory::create(pathfinding_dynamic_icon); - addChild(mParcelIcon[PATHFINDING_DYNAMIC]); + mParcelIcon[PATHFINDING_DYNAMIC_ICON] = LLUICtrlFactory::create(pathfinding_dynamic_icon); + mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PATHFINDING_DYNAMIC_ICON)); + addChild(mParcelIcon[PATHFINDING_DYNAMIC_ICON]); LLTextBox::Params damage_text = p.damage_text; damage_text.tool_tip = LLTrans::getString("LocationCtrlDamageTooltip"); @@ -826,7 +827,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); bool see_avs = current_parcel->getSeeAVs(); - bool pathfinding_dynamic = true;// gAgent.getRegion()->dynamicPathfindingEnabled(); + bool pathfinding_dynamic = gAgent.getRegion()->dynamicPathfindingEnabled(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -835,8 +836,7 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[BUILD_ICON]->setVisible( !allow_build ); mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); - //prep# - mParcelIcon[PATHFINDING_DYNAMIC]->setVisible( pathfinding_dynamic ); + mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( pathfinding_dynamic ); mDamageText->setVisible(allow_damage); mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs ); @@ -1176,6 +1176,9 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case BUILD_ICON: LLNotificationsUtil::add("NoBuild"); break; + case PATHFINDING_DYNAMIC_ICON: + LLNotificationsUtil::add("PathfindingDynamic"); + break; case SCRIPTS_ICON: { LLViewerRegion* region = gAgent.getRegion(); @@ -1199,9 +1202,6 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case SEE_AVATARS_ICON: LLNotificationsUtil::add("SeeAvatars"); break; - case PATHFINDING_DYNAMIC: - // prep TODO : add something here - break; case ICON_COUNT: break; // no default to get compiler warning when a new icon gets added -- cgit v1.2.3 From 8a1c557cbffcc4608f0c3b2c69dedef69bb7f3f3 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Thu, 14 Jun 2012 17:09:14 -0700 Subject: Updating the slurl icon with Leo's design and toggling the behavior to show on PF disabled regions. --- indra/newview/lllocationinputctrl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index db7371d993..0d8526d3f1 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -827,7 +827,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); bool see_avs = current_parcel->getSeeAVs(); - bool pathfinding_dynamic = gAgent.getRegion()->dynamicPathfindingEnabled(); + bool pathfinding_dynamic_enabled = gAgent.getRegion()->dynamicPathfindingEnabled(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -836,7 +836,7 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[BUILD_ICON]->setVisible( !allow_build ); mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); - mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( pathfinding_dynamic ); + mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( !pathfinding_dynamic_enabled ); mDamageText->setVisible(allow_damage); mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs ); -- cgit v1.2.3 From 8b8f2fedbd733bad027f53cf2d6cc172c1d4b6d9 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Mon, 18 Jun 2012 17:55:27 -0700 Subject: Renaming the dynamic pathfinding icons to be better represent pathfinding disabled. --- indra/newview/lllocationinputctrl.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 0d8526d3f1..0f299683a5 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -192,7 +192,7 @@ LLLocationInputCtrl::Params::Params() damage_text("damage_text"), see_avatars_icon("see_avatars_icon"), maturity_help_topic("maturity_help_topic"), - pathfinding_dynamic_icon("pathfinding_dynamic_icon") + pathfinding_disabled_icon("pathfinding_disabled_icon") { } @@ -338,12 +338,12 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mParcelIcon[DAMAGE_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, DAMAGE_ICON)); addChild(mParcelIcon[DAMAGE_ICON]); - LLIconCtrl::Params pathfinding_dynamic_icon = p.pathfinding_dynamic_icon; - pathfinding_dynamic_icon.tool_tip = LLTrans::getString("PathfindingDynamicTooltip"); - pathfinding_dynamic_icon.mouse_opaque = true; - mParcelIcon[PATHFINDING_DYNAMIC_ICON] = LLUICtrlFactory::create(pathfinding_dynamic_icon); - mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PATHFINDING_DYNAMIC_ICON)); - addChild(mParcelIcon[PATHFINDING_DYNAMIC_ICON]); + LLIconCtrl::Params pathfinding_disabled_icon = p.pathfinding_disabled_icon; + pathfinding_disabled_icon.tool_tip = LLTrans::getString("LocationCtrlPathfindingDisabledTooltip"); + pathfinding_disabled_icon.mouse_opaque = true; + mParcelIcon[PATHFINDING_DISABLED_ICON] = LLUICtrlFactory::create(pathfinding_disabled_icon); + mParcelIcon[PATHFINDING_DISABLED_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PATHFINDING_DISABLED_ICON)); + addChild(mParcelIcon[PATHFINDING_DISABLED_ICON]); LLTextBox::Params damage_text = p.damage_text; damage_text.tool_tip = LLTrans::getString("LocationCtrlDamageTooltip"); @@ -827,7 +827,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); bool see_avs = current_parcel->getSeeAVs(); - bool pathfinding_dynamic_enabled = gAgent.getRegion()->dynamicPathfindingEnabled(); + bool pathfinding_dynamic_enabled = agent_region->dynamicPathfindingEnabled(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -836,7 +836,7 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[BUILD_ICON]->setVisible( !allow_build ); mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); - mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( !pathfinding_dynamic_enabled ); + mParcelIcon[PATHFINDING_DISABLED_ICON]->setVisible( !pathfinding_dynamic_enabled ); mDamageText->setVisible(allow_damage); mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs ); @@ -1176,8 +1176,8 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case BUILD_ICON: LLNotificationsUtil::add("NoBuild"); break; - case PATHFINDING_DYNAMIC_ICON: - LLNotificationsUtil::add("PathfindingDynamic"); + case PATHFINDING_DISABLED_ICON: + LLNotificationsUtil::add("DynamicPathfindingDisabled"); break; case SCRIPTS_ICON: { -- cgit v1.2.3 From b20f1a51430f1d611c129e170bf69bc52b9d0700 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Mon, 18 Jun 2012 19:07:37 -0700 Subject: PATH-750: Adding icon to display pathfinding dirty state. --- indra/newview/lllocationinputctrl.cpp | 52 ++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) (limited to 'indra/newview/lllocationinputctrl.cpp') diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 0f299683a5..8d9d70b50e 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -44,10 +44,14 @@ // newview includes #include "llagent.h" +#include "llenvmanager.h" #include "llfloatersidepanelcontainer.h" #include "llinventoryobserver.h" #include "lllandmarkactions.h" #include "lllandmarklist.h" +#include "llpathfindingmanager.h" +#include "llpathfindingnavmesh.h" +#include "llpathfindingnavmeshstatus.h" #include "llteleporthistory.h" #include "llslurl.h" #include "llstatusbar.h" // getHealth() @@ -192,6 +196,7 @@ LLLocationInputCtrl::Params::Params() damage_text("damage_text"), see_avatars_icon("see_avatars_icon"), maturity_help_topic("maturity_help_topic"), + pathfinding_dirty_icon("pathfinding_dirty_icon"), pathfinding_disabled_icon("pathfinding_disabled_icon") { } @@ -204,6 +209,9 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mAddLandmarkBtn(NULL), mForSaleBtn(NULL), mInfoBtn(NULL), + mRegionCrossingSlot(), + mNavMeshSlot(), + mIsNavMeshDirty(false), mLandmarkImageOn(NULL), mLandmarkImageOff(NULL), mIconMaturityGeneral(NULL), @@ -338,6 +346,13 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mParcelIcon[DAMAGE_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, DAMAGE_ICON)); addChild(mParcelIcon[DAMAGE_ICON]); + LLIconCtrl::Params pathfinding_dirty_icon = p.pathfinding_dirty_icon; + pathfinding_dirty_icon.tool_tip = LLTrans::getString("LocationCtrlPathfindingDirtyTooltip"); + pathfinding_dirty_icon.mouse_opaque = true; + mParcelIcon[PATHFINDING_DIRTY_ICON] = LLUICtrlFactory::create(pathfinding_dirty_icon); + mParcelIcon[PATHFINDING_DIRTY_ICON]->setMouseDownCallback(boost::bind(&LLLocationInputCtrl::onParcelIconClick, this, PATHFINDING_DIRTY_ICON)); + addChild(mParcelIcon[PATHFINDING_DIRTY_ICON]); + LLIconCtrl::Params pathfinding_disabled_icon = p.pathfinding_disabled_icon; pathfinding_disabled_icon.tool_tip = LLTrans::getString("LocationCtrlPathfindingDisabledTooltip"); pathfinding_disabled_icon.mouse_opaque = true; @@ -399,6 +414,9 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p) mLocationHistoryConnection = LLLocationHistory::getInstance()->setChangedCallback( boost::bind(&LLLocationInputCtrl::onLocationHistoryChanged, this,_1)); + mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLLocationInputCtrl::onRegionBoundaryCrossed, this)); + createNavMeshStatusListenerForCurrentRegion(); + mRemoveLandmarkObserver = new LLRemoveLandmarkObserver(this); mAddLandmarkObserver = new LLAddLandmarkObserver(this); gInventory.addObserver(mRemoveLandmarkObserver); @@ -423,6 +441,8 @@ LLLocationInputCtrl::~LLLocationInputCtrl() LLViewerParcelMgr::getInstance()->removeObserver(mParcelChangeObserver); delete mParcelChangeObserver; + mRegionCrossingSlot.disconnect(); + mNavMeshSlot.disconnect(); mCoordinatesControlConnection.disconnect(); mParcelPropertiesControlConnection.disconnect(); mParcelMgrConnection.disconnect(); @@ -644,6 +664,17 @@ void LLLocationInputCtrl::onMaturityButtonClicked() LLUI::sHelpImpl->showTopic(mMaturityHelpTopic); } +void LLLocationInputCtrl::onRegionBoundaryCrossed() +{ + createNavMeshStatusListenerForCurrentRegion(); +} + +void LLLocationInputCtrl::onNavMeshStatusChange(const LLPathfindingNavMeshStatus &pNavMeshStatus) +{ + mIsNavMeshDirty = pNavMeshStatus.isValid() && (pNavMeshStatus.getStatus() != LLPathfindingNavMeshStatus::kComplete); + refreshParcelIcons(); +} + void LLLocationInputCtrl::onLandmarkLoaded(LLLandmark* lm) { (void) lm; @@ -836,7 +867,8 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[BUILD_ICON]->setVisible( !allow_build ); mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); - mParcelIcon[PATHFINDING_DISABLED_ICON]->setVisible( !pathfinding_dynamic_enabled ); + mParcelIcon[PATHFINDING_DIRTY_ICON]->setVisible(mIsNavMeshDirty); + mParcelIcon[PATHFINDING_DISABLED_ICON]->setVisible(!mIsNavMeshDirty && !pathfinding_dynamic_enabled); mDamageText->setVisible(allow_damage); mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs ); @@ -1176,6 +1208,9 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) case BUILD_ICON: LLNotificationsUtil::add("NoBuild"); break; + case PATHFINDING_DIRTY_ICON: + LLNotificationsUtil::add("PathfindingDirty"); + break; case PATHFINDING_DISABLED_ICON: LLNotificationsUtil::add("DynamicPathfindingDisabled"); break; @@ -1207,3 +1242,18 @@ void LLLocationInputCtrl::onParcelIconClick(EParcelIcon icon) // no default to get compiler warning when a new icon gets added } } + +void LLLocationInputCtrl::createNavMeshStatusListenerForCurrentRegion() +{ + if (mNavMeshSlot.connected()) + { + mNavMeshSlot.disconnect(); + } + + LLViewerRegion *currentRegion = gAgent.getRegion(); + if (currentRegion != NULL) + { + mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLLocationInputCtrl::onNavMeshStatusChange, this, _2)); + LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true); + } +} -- cgit v1.2.3