float speed = 1.0f;
if(!anim->is_looping() && d)
speed = (anim->get_duration()/Time::sec)/d;
- if(stacked)
- player->play_stacked(*target, *anim, speed);
+ if(target_obj)
+ {
+ if(stacked)
+ player->play_stacked(*target_obj, *anim, speed);
+ else
+ player->play(*target_obj, *anim, speed);
+ }
else
- player->play(*target, *anim, speed);
+ {
+ if(stacked)
+ player->play_stacked(*target, *anim, speed);
+ else
+ player->play(*target, *anim, speed);
+ }
}
void Animate::Loader::target(const string &n)
{
obj.target = &demo.get_thing<GL::Placeable>(n);
+ obj.target_obj = dynamic_cast<GL::AnimatedObject *>(obj.target);
}
} // namespace DemoScene