예제 #1
0
 public Tweenn GenTween()
 {
     if (_abortTweens.Count > 0)
     {
         var t = _abortTweens[0];
         _tweens.Add(t);
         _abortTweens.RemoveAt(0);
         return(t);
     }
     else
     {
         var t = new Tweenn();
         return(t);
     }
 }
예제 #2
0
        public static Tweenn MoveTo(this Transform trans, Vector3 start, Vector3 target, float duration, EaseEquation easeEquation, bool unscaled = false,
                                    TweenLoopType loopType = TweenLoopType.Restart, int loop = 1,
                                    Action onComplete      = null)
        {
            var t = Tweenn.Gen();

            t.SetFromValue(start.x, start.y, start.z);
            t.SetToValue(target.x, target.y, target.z);
            t.SetDefaultTime(unscaled);
            t.SetEase(easeEquation);
            t.SetDuration(duration);
            t.SetLoop(loopType, loop);
            t.OnComplete(onComplete);
            t.SetValuesSetter((x, y, z, w) =>
            {
                trans.position = new Vector3(x, y, z);
            });
            t.Play();
            return(t);
        }
예제 #3
0
        public void StopTween(Tweenn t)
        {
            switch (t.UpdateMode)
            {
            case Tweenn.TweenUpdateMode.Update:
                _runningTweens.Remove(t);
                break;

            case Tweenn.TweenUpdateMode.Fixed:
                _runningTweensFixUpdate.Remove(t);
                break;

            case Tweenn.TweenUpdateMode.Late:
                _runningTweensLateUpdate.Remove(t);
                break;

            default:
                _runningTweens.Remove(t);
                break;
            }
            t.Reset();
        }
예제 #4
0
        public void PlayTween(Tweenn t)
        {
            t.Reset();
            switch (t.UpdateMode)
            {
            case Tweenn.TweenUpdateMode.Update:
                _runningTweens.Add(t);
                break;

            case Tweenn.TweenUpdateMode.Fixed:
                _runningTweensFixUpdate.Add(t);
                break;

            case Tweenn.TweenUpdateMode.Late:
                _runningTweensLateUpdate.Add(t);
                break;

            default:
                _runningTweens.Add(t);
                break;
            }
        }
예제 #5
0
        public void Kill(Tweenn t)
        {
            switch (t.UpdateMode)
            {
            case Tweenn.TweenUpdateMode.Update:
                _runningTweens.Remove(t);
                break;

            case Tweenn.TweenUpdateMode.Fixed:
                _runningTweensFixUpdate.Remove(t);
                break;

            case Tweenn.TweenUpdateMode.Late:
                _runningTweensLateUpdate.Remove(t);
                break;

            default:
                _runningTweens.Remove(t);
                break;
            }
            t.Clear();
            _tweens.Remove(t);
            _abortTweens.Add(t);
        }