Add AnimState::shouldLoop()

coverity_scan^2
scrawl 8 years ago
parent 6450c9be27
commit 0c9882956a

@ -1023,7 +1023,7 @@ namespace MWRender
{
float targetTime;
if (state.getTime() < state.mLoopStopTime || state.mLoopCount == 0)
if (!state.shouldLoop())
{
targetTime = state.getTime() + timepassed;
if(textkey == textkeys.end() || textkey->first > targetTime)
@ -1048,12 +1048,7 @@ namespace MWRender
++textkey;
}
}
if(state.getTime() >= state.mLoopStopTime)
{
if (!state.mLoopingEnabled)
state.mLoopCount = 0;
else if (state.mLoopCount > 0)
if(state.shouldLoop())
{
state.mLoopCount--;
state.setTime(state.mLoopStartTime);
@ -1069,7 +1064,6 @@ namespace MWRender
if(state.getTime() >= state.mLoopStopTime)
break;
}
}
if(timepassed <= 0.0f)
break;

@ -205,6 +205,11 @@ protected:
{
*mTime = time;
}
bool shouldLoop() const
{
return getTime() >= mLoopStopTime && mLoopingEnabled && mLoopCount > 0;
}
};
typedef std::map<std::string,AnimState> AnimStateMap;
AnimStateMap mStates;

Loading…
Cancel
Save