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

Method update

Engine/source/afx/afxEffectWrapper.cpp:893–1081  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

891}
892
893bool afxEffectWrapper::update(F32 dt)
894{
895 mElapsed += dt;
896
897 // life_elapsed won't exceed full_lifetime
898 mLife_elapsed = getMin(mElapsed - mEW_timing.delay, mFull_lifetime);
899
900 // update() returns early if elapsed is outside of active timing range
901 // (delay <= elapsed <= delay+lifetime)
902 // note: execution is always allowed beyond this point at least once,
903 // even if elapsed exceeds the lifetime.
904 if (mElapsed < mEW_timing.delay)
905 {
906 setScopeStatus(false);
907 return false;
908 }
909
910 if (!mDatablock->requiresStop(mEW_timing) && mEW_timing.lifetime < 0)
911 {
912 F32 afterlife = mElapsed - mEW_timing.delay;
913 if (afterlife > 1.0f || ((afterlife > 0.0f) && (mNum_updates > 0)))
914 {
915 setScopeStatus(mEW_timing.residue_lifetime > 0.0f);
916 return false;
917 }
918 }
919 else
920 {
921 F32 afterlife = mElapsed - (mFull_lifetime + mEW_timing.delay);
922 if (afterlife > 1.0f || ((afterlife > 0.0f) && (mNum_updates > 0)))
923 {
924 setScopeStatus(mEW_timing.residue_lifetime > 0.0f);
925 return false;
926 }
927 }
928
929 // first time here, test if required conditions for effect are met
930 if (mNum_updates == 0)
931 {
932 if (!test_life_conds())
933 {
934 mElapsed = mFull_lifetime + mEW_timing.delay;
935 setScopeStatus(false);
936 mNum_updates++;
937 return false;
938 }
939 }
940
941 setScopeStatus(true);
942 mNum_updates++;
943
944
945 // calculate current fade value if enabled
946 if (mDo_fade_inout)
947 {
948 if (mEW_timing.fade_in_time > 0 && mElapsed <= mFade_in_end)
949 {
950 F32 t = mClampF((mElapsed - mEW_timing.delay)/ mEW_timing.fade_in_time, 0.0f, 1.0f);

Callers

nothing calls this directly

Calls 14

mClampFFunction · 0.85
tFunction · 0.85
numKeysMethod · 0.80
errorfFunction · 0.50
requiresStopMethod · 0.45
evaluateMethod · 0.45
getPositionMethod · 0.45
getAltitudesMethod · 0.45
getTransformMethod · 0.45
zeroMethod · 0.45
setMethod · 0.45
updateParamsMethod · 0.45

Tested by

no test coverage detected