internal override void OnStart(ITweenContainer container) { base.OnStart(container); foreach (var tween in running_tweens_) { tween.OnStart(this); } }
internal virtual void OnStart(ITweenContainer container) { Assert.IsTrue(container != null); container_ = container; Reset(); if (onStart != null) { onStart(); } isRunning = true; }
internal static float UpdateQueue(Queue <KeyValuePair <TweenBase, float> > queue, ITweenContainer container) { float minRemainTime = float.MaxValue; while (queue.Count > 0) { var tweenData = queue.Dequeue(); var tween = tweenData.Key; var delta = tweenData.Value; float remainTime; if (tween.Update(delta, out remainTime)) { minRemainTime = Mathf.Min(minRemainTime, remainTime); container.OnTweenComplete(tween); remainTime = Mathf.Clamp(remainTime, 0, 1); foreach (var next in tween.nextTweens) { container.BeginTween(next); if (remainTime > 0) { queue.Enqueue(Util.MakePair(next, remainTime)); } } } } return(minRemainTime); }