Example #1
0
        static bool phaseEqualsTweenTime(UnityPhase phase, TweenTime time)
        {
            switch (time)
            {
            case TweenTime.OnUpdate:
            case TweenTime.OnUpdateUnscaled:
                if (phase == UnityPhase.Update)
                {
                    return(true);
                }
                break;

            case TweenTime.OnLateUpdate:
            case TweenTime.OnLateUpdateUnscaled:
                if (phase == UnityPhase.LateUpdate)
                {
                    return(true);
                }
                break;

            case TweenTime.OnFixedUpdate:
                if (phase == UnityPhase.FixedUpdate)
                {
                    return(true);
                }
                break;

            default: throw new ArgumentOutOfRangeException();
            }
            return(false);
        }
Example #2
0
 public static TweenManager managed(
     this TweenTimelineElement timeline, TweenTime time = TweenTime.OnUpdate, float delay = 0,
     [CallerMemberName] string callerMemberName         = "",
     [CallerFilePath] string callerFilePath             = "",
     [CallerLineNumber] int callerLineNumber            = 0
     // ReSharper disable ExplicitCallerInfoArgument
     ) => timeline.managed(TweenManager.Loop.single, time, delay, callerMemberName, callerFilePath, callerLineNumber);
Example #3
0
 // TODO: implement me: loop(times, forever, yoyo)
 // notice: looping needs to take into account that some duration might have passed in the
 // new iteration
 public TweenManager(ITweenTimeline timeline, TweenTime time, Loop looping, string context, bool stopIfDestroyed = false)
 {
     this.timeline        = timeline;
     this.time            = time;
     this.looping         = looping;
     this.context         = context;
     this.stopIfDestroyed = stopIfDestroyed;
 }
Example #4
0
 public static TweenManager managed(
     this ITweenTimeline timeline, TweenTime time = TweenTime.OnUpdate,
     [CallerMemberName] string callerMemberName   = "",
     [CallerFilePath] string callerFilePath       = "",
     [CallerLineNumber] int callerLineNumber      = 0
     ) => new TweenManager(
     timeline, time, TweenManager.Loop.single, createContext(callerMemberName, callerFilePath, callerLineNumber)
     );
Example #5
0
 public static TweenManager managed(
     this TweenTimelineElement timeline, TweenManager.Loop looping, TweenTime time = TweenTime.OnUpdate,
     float delay = 0,
     [CallerMemberName] string callerMemberName = "",
     [CallerFilePath] string callerFilePath     = "",
     [CallerLineNumber] int callerLineNumber    = 0
     ) => new TweenManager(
     TweenTimeline.single(timeline, delay), time, looping,
     createContext(callerMemberName, callerFilePath, callerLineNumber)
     );
Example #6
0
 public void Init(TweenTime timeProvider, TweenBuilder builder)
 {
     this.timeProvider = timeProvider;
     this.tweener      = builder.Tweener;
     this.easeType     = builder.EaseType;
     this.tweenType    = builder.TweenType;
     this.easeFunction = builder.EaseFunction;
     this.duration     = builder.Duration;
     this.delayTime    = builder.Delay;
     this.handler      = builder.Handler;
     this.startTime    = 0;
     this.realTime     = 0;
     this.pauseTime    = 0;
 }
Example #7
0
        private CoolestTween2()
        {
            time         = new UnityTweenTime();
            unscaledTime = new UnityUnscaledTweenTime();
            frameUpdater = new UnityFrameUpdater();
            tweens       = new LinkedList <Tween>();
            cachedTweens = new Queue <Tween>(InitialCacheSize);

            for (int i = 0; i < InitialCacheSize; i++)
            {
                cachedTweens.Enqueue(new Tween());
            }

            frameUpdater.SetFrameUpdateEvent(update);
        }
Example #8
0
        Tweens lookupSet(TweenTime time)
        {
            switch (time)
            {
            case TweenTime.OnUpdate:             return(onUpdate);

            case TweenTime.OnUpdateUnscaled:     return(onUpdateUnscaled);

            case TweenTime.OnLateUpdate:         return(onLateUpdate);

            case TweenTime.OnLateUpdateUnscaled: return(onLateUpdateUnscaled);

            case TweenTime.OnFixedUpdate:        return(onFixedUpdate);

            default: throw new ArgumentOutOfRangeException(nameof(time), time, null);
            }
        }
Example #9
0
 // TODO: implement me: loop(times, forever, yoyo)
 // notice: looping needs to take into account that some duration might have passed in the
 // new iteration
 public TweenManager(ITweenSequence sequence, TweenTime time, Loop looping)
 {
     this.sequence = sequence;
     this.time     = time;
     this.looping  = looping;
 }
Example #10
0
 public static TweenManager managed(
     this ITweenSequence sequence, TweenManager.Loop looping, TweenTime time = TweenTime.OnUpdate
     ) => new TweenManager(sequence, time, looping);
Example #11
0
 public static TweenManager managed(
     this TweenSequenceElement sequence, TweenManager.Loop looping, TweenTime time = TweenTime.OnUpdate,
     float delay = 0
     ) => new TweenManager(TweenSequence.single(sequence, delay), time, looping);
Example #12
0
 public static TweenManager managed(
     this TweenSequenceElement sequence, TweenTime time = TweenTime.OnUpdate, float delay = 0
     ) => sequence.managed(TweenManager.Loop.single, time, delay);
Example #13
0
 public Tween(TweenTime timeProvider, TweenBuilder builder)
 {
     Init(timeProvider, builder);
 }
Example #14
0
 // TODO: implement me: loop(times, forever, yoyo)
 // notice: looping needs to take into account that some duration might have passed in the
 // new iteration
 public TweenManager(ITweenTimeline timeline, TweenTime time, Loop looping)
 {
     this.timeline = timeline;
     this.time     = time;
     this.looping  = looping;
 }
Example #15
0
 public static TweenManager managed(
     this TweenTimelineElement timeline, TweenTime time = TweenTime.OnUpdate, float delay = 0
     ) => timeline.managed(TweenManager.Loop.single, time, delay);
Example #16
0
 public static TweenManager managed(
     this ITweenTimeline timeline, TweenManager.Loop looping, TweenTime time = TweenTime.OnUpdate
     ) => new TweenManager(timeline, time, looping);