Exemple #1
0
        public static TweenSequence.Builder singleBuilder(this TweenSequenceElement element)
        {
            var builder = TweenSequence.Builder.create();

            builder.append(element);
            return(builder);
        }
Exemple #2
0
            /// <summary>Inserts element into the sequence at specific time.</summary>
            public Builder insert(float at, TweenSequenceElement element)
            {
                var endsAt = at + element.duration;

                totalDuration = Mathf.Max(totalDuration, endsAt);
                effects.Add(new Effect(at, endsAt, element));
                return(this);
            }
Exemple #3
0
 // optimized for minimal allocations
 public static TweenSequence single(TweenSequenceElement sequence, float delay = 0) =>
 new TweenSequence(
     sequence.duration + delay,
     new [] { new Effect(delay, sequence.duration + delay, sequence) }
     );
Exemple #4
0
 public Effect(float startsAt, float endsAt, TweenSequenceElement element)
 {
     this.startsAt = startsAt;
     this.endsAt   = endsAt;
     this.element  = element;
 }
Exemple #5
0
 public static TweenSequence single(this TweenSequenceElement element) =>
 TweenSequence.single(element);
Exemple #6
0
 public Builder append(TweenSequenceElement element, out float elementEndsAt) =>
 insert(totalDuration, element, out elementEndsAt);
Exemple #7
0
 public float append2(TweenSequenceElement element) =>
 insert2(totalDuration, element);
Exemple #8
0
 public Builder append(TweenSequenceElement element) =>
 insert(totalDuration, element);
Exemple #9
0
 /// <see cref="insert(float,TweenSequenceElement)"/>
 /// <param name="at"></param>
 /// <param name="element"></param>
 /// <param name="elementEndsAt">Time when the given element will end.</param>
 public Builder insert(float at, TweenSequenceElement element, out float elementEndsAt)
 {
     insert(at, element);
     elementEndsAt = at + element.duration;
     return(this);
 }
Exemple #10
0
 /// <see cref="insert(float,TweenSequenceElement)"/>
 /// <returns>Time when the given element will end.</returns>
 public float insert2(float at, TweenSequenceElement element)
 {
     insert(at, element);
     return(at + element.duration);
 }
Exemple #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);
Exemple #12
0
 public static TweenManager managed(
     this TweenSequenceElement sequence, TweenTime time = TweenTime.OnUpdate, float delay = 0
     ) => sequence.managed(TweenManager.Loop.single, time, delay);