diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-12-01 11:43:58 +0300 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-12-01 11:43:58 +0300 |
commit | 10e64fe4b4ad42209d6a01155b0d3ad2d6e5dda3 (patch) | |
tree | bfe47adf3fdc407b2f6d7fb64554eaf45c25799c /source/gameengine/Ketsji/KX_IpoActuator.cpp | |
parent | d098d94372e6952ff3d540978aa096ca2df358e7 (diff) |
Only do event processing for ipo actuators on frames.
Diffstat (limited to 'source/gameengine/Ketsji/KX_IpoActuator.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_IpoActuator.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/source/gameengine/Ketsji/KX_IpoActuator.cpp b/source/gameengine/Ketsji/KX_IpoActuator.cpp index 66850b2f60b..ea9fe8554cc 100644 --- a/source/gameengine/Ketsji/KX_IpoActuator.cpp +++ b/source/gameengine/Ketsji/KX_IpoActuator.cpp @@ -191,22 +191,24 @@ bool KX_IpoActuator::Update(double curtime, bool frame) bool bNegativeEvent = false; int numevents = m_events.size(); - for (vector<CValue*>::iterator i=m_events.end(); !(i==m_events.begin());) + if (frame) { - i--; - if ((*i)->GetNumber() == 0.0f) - bNegativeEvent = true; - - (*i)->Release(); - m_events.pop_back(); - } - - if (bNegativeEvent) - { - RemoveAllEvents(); + for (vector<CValue*>::iterator i=m_events.end(); !(i==m_events.begin());) + { + --i; + if ((*i)->GetNumber() == 0.0f) + bNegativeEvent = true; + + (*i)->Release(); + } + m_events.clear(); + + if (bNegativeEvent) + { + RemoveAllEvents(); + } } - double start_smaller_then_end = ( m_startframe < m_endframe ? 1.0 : -1.0); bool result=true; |