]> git.tdb.fi Git - libs/gl.git/blobdiff - source/animationplayer.cpp
Refresh lighting and culling uniforms if the camera changes in pop_state
[libs/gl.git] / source / animationplayer.cpp
index ffb902a8f555e51ecd250c9a99422af8e9d35451..59c6f595a0b45cb889b1e7b447084205a26cb22d 100644 (file)
@@ -48,6 +48,23 @@ void AnimationPlayer::stop(AnimatedObject &obj)
        objects.erase(&obj);
 }
 
+void AnimationPlayer::stop(AnimatedObject &obj, const Animation &anim)
+{
+       ObjectMap::iterator i = objects.find(&obj);
+       if(i==objects.end())
+               return;
+
+       for(AnimationList::iterator j=i->second.animations.begin(); j!=i->second.animations.end(); ++j)
+               if(&j->animation==&anim)
+               {
+                       i->second.animations.erase(j);
+                       break;
+               }
+
+       if(i->second.animations.empty())
+               objects.erase(i);
+}
+
 void AnimationPlayer::tick(const Time::TimeDelta &dt)
 {
        for(ObjectMap::iterator i=objects.begin(); i!=objects.end(); )