Combine a loop into another where it's used

This commit is contained in:
Chris Robinson 2013-01-20 15:39:43 -08:00
parent 85ca1e993f
commit e1e76bde76

View file

@ -67,34 +67,32 @@ void Animation::createEntityList(Ogre::SceneNode *node, const std::string &model
Ogre::Skeleton::BoneIterator boneiter = skel->getBoneIterator(); Ogre::Skeleton::BoneIterator boneiter = skel->getBoneIterator();
while(boneiter.hasMoreElements()) while(boneiter.hasMoreElements())
{ {
Ogre::Bone *bone = boneiter.peekNext(); Ogre::Bone *bone = boneiter.getNext();
const Ogre::Any &data = bone->getUserObjectBindings().getUserAny(NifOgre::sTextKeyExtraDataID); Ogre::UserObjectBindings &bindings = bone->getUserObjectBindings();
if(!data.isEmpty()) const Ogre::Any &data = bindings.getUserAny(NifOgre::sTextKeyExtraDataID);
{ if(data.isEmpty())
mTextKeys["all"] = Ogre::any_cast<NifOgre::TextKeyMap>(data); continue;
mAccumRoot = skelinst->getRootBone(); mTextKeys["all"] = Ogre::any_cast<NifOgre::TextKeyMap>(data);
mAccumRoot->setManuallyControlled(true);
mNonAccumRoot = skelinst->getBone(bone->getHandle());
mStartPosition = mNonAccumRoot->getPosition(); mAccumRoot = skelinst->getRootBone();
mLastPosition = mStartPosition; mAccumRoot->setManuallyControlled(true);
break; mNonAccumRoot = skelinst->getBone(bone->getHandle());
}
boneiter.moveNext(); mStartPosition = mNonAccumRoot->getPosition();
} mLastPosition = mStartPosition;
if(boneiter.hasMoreElements())
{
asiter = aset->getAnimationStateIterator(); asiter = aset->getAnimationStateIterator();
while(asiter.hasMoreElements()) while(asiter.hasMoreElements())
{ {
Ogre::AnimationState *state = asiter.getNext(); Ogre::AnimationState *state = asiter.getNext();
Ogre::UserObjectBindings &bindings = boneiter.peekNext()->getUserObjectBindings(); const Ogre::Any &groupdata = bindings.getUserAny(std::string(NifOgre::sTextKeyExtraDataID)+
const Ogre::Any &data = bindings.getUserAny(std::string(NifOgre::sTextKeyExtraDataID)+"@"+state->getAnimationName()); "@"+state->getAnimationName());
if(!data.isEmpty()) if(!groupdata.isEmpty())
mTextKeys[state->getAnimationName()] = Ogre::any_cast<NifOgre::TextKeyMap>(data); mTextKeys[state->getAnimationName()] = Ogre::any_cast<NifOgre::TextKeyMap>(groupdata);
} }
break;
} }
} }
} }