MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / advancePosition

Method advancePosition

Engine/source/T3D/pathShape.cpp:199–235  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

197}
198
199void PathShape::advancePosition(S32 ms)
200{
201 delta.timeVec = mPosition;
202
203 // Advance according to current speed
204 if (mState == Forward) {
205 mPosition = mSpline.advanceTime(mPosition - mNodeBase,ms);
206 if (mPosition > F32(mNodeCount - 1))
207 mPosition = F32(mNodeCount - 1);
208 mPosition += (F32)mNodeBase;
209 if (mTargetSet && mPosition >= mTarget) {
210 mTargetSet = false;
211 mPosition = mTarget;
212 mState = Stop;
213 }
214 }
215 else
216 if (mState == Backward) {
217 mPosition = mSpline.advanceTime(mPosition - mNodeBase,-ms);
218 if (mPosition < 0)
219 mPosition = 0;
220 mPosition += mNodeBase;
221 if (mTargetSet && mPosition <= mTarget) {
222 mTargetSet = false;
223 mPosition = mTarget;
224 mState = Stop;
225 }
226 }
227
228 // Script callbacks
229 if (int(mPosition) != int(delta.timeVec))
230 onNode(int(mPosition));
231
232 // Set frame interpolation
233 delta.time = mPosition;
234 delta.timeVec -= mPosition;
235}
236
237
238//----------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 1

advanceTimeMethod · 0.45

Tested by

no test coverage detected