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

Method advancePosition

Engine/source/T3D/pathCamera.cpp:248–284  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246}
247
248void PathCamera::advancePosition(S32 ms)
249{
250 delta.timeVec = mPosition;
251
252 // Advance according to current speed
253 if (mState == Forward) {
254 mPosition = mSpline.advanceTime(mPosition - mNodeBase,ms);
255 if (mPosition > F32(mNodeCount - 1))
256 mPosition = F32(mNodeCount - 1);
257 mPosition += (F32)mNodeBase;
258 if (mTargetSet && mPosition >= mTarget) {
259 mTargetSet = false;
260 mPosition = mTarget;
261 mState = Stop;
262 }
263 }
264 else
265 if (mState == Backward) {
266 mPosition = mSpline.advanceTime(mPosition - mNodeBase,-ms);
267 if (mPosition < 0)
268 mPosition = 0;
269 mPosition += mNodeBase;
270 if (mTargetSet && mPosition <= mTarget) {
271 mTargetSet = false;
272 mPosition = mTarget;
273 mState = Stop;
274 }
275 }
276
277 // Script callbacks
278 if (int(mPosition) != int(delta.timeVec))
279 onNode(int(mPosition));
280
281 // Set frame interpolation
282 delta.time = mPosition;
283 delta.timeVec -= mPosition;
284}
285
286
287//----------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 1

advanceTimeMethod · 0.45

Tested by

no test coverage detected