summaryrefslogtreecommitdiff
path: root/indra/llcharacter/llmotioncontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcharacter/llmotioncontroller.cpp')
-rw-r--r--indra/llcharacter/llmotioncontroller.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index 71bbdfb932..fad69fc6e9 100644
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -835,6 +835,23 @@ LLMotion *LLMotionController::findMotion(const LLUUID& id)
return mAllMotions[id];
}
+//-----------------------------------------------------------------------------
+// deactivateAllMotions()
+//-----------------------------------------------------------------------------
+void LLMotionController::deactivateAllMotions()
+{
+ //They must all die, precious.
+ for (std::map<LLUUID, LLMotion*>::iterator iter = mAllMotions.begin();
+ iter != mAllMotions.end(); iter++)
+ {
+ LLMotion* motionp = iter->second;
+ if (motionp) motionp->deactivate();
+ }
+
+ // delete all motion instances
+ deleteAllMotions();
+}
+
//-----------------------------------------------------------------------------
// flushAllMotions()