- override
Sets the action to a specific point in time. The t
value that is passed
in is a normalized value 0.0 to 1.0 of the duration of the action. Every
action will always recieve a callback with the end time point (1.0),
unless it is cancelled.
Source
@override void update(double t) { if (t >= 1.0) { // Finish all unfinished actions for (Action action in _actions) { if (!action._finished) { action.update(1.0); action._finished = true; } } } else { for (Action action in _actions) { if (action.duration == 0.0) { // Fire all instant actions immediately if (!action._finished) { action.update(1.0); action._finished = true; } } else { // Update child actions double ta = (t / (action.duration / duration)).clamp(0.0, 1.0); if (ta < 1.0) { if (action is ActionInterval) { ActionInterval actionInterval = action; if (actionInterval.curve == null) { action.update(ta); } else { action.update(actionInterval.curve.transform(ta)); } } else { action.update(ta); } } else if (!action._finished){ action.update(1.0); action._finished = true; } } } } }