Added AnimationState setNext and clearNext.

http://esotericsoftware.com/forum/Keep-track-of-added-animations-13896
This commit is contained in:
Nathan Sweet 2020-05-05 15:34:07 +02:00
parent 742d11f65f
commit 94e6e41518

View File

@ -522,6 +522,11 @@ public class AnimationState {
queue.drain();
}
/** Removes the {@link TrackEntry#getNext() next entry} and all entries after it for the specified entry. */
public void clearNext (TrackEntry entry) {
disposeNext(entry.next);
}
private void setCurrent (int index, TrackEntry current, boolean interrupt) {
TrackEntry from = expandToIndex(index);
tracks.set(index, current);
@ -1084,11 +1089,17 @@ public class AnimationState {
this.drawOrderThreshold = drawOrderThreshold;
}
/** The animation queued to start after this animation, or null. <code>next</code> makes up a linked list. */
/** The animation queued to start after this animation, or null if there is none. <code>next</code> makes up a linked list.
* It cannot be set to null, use {@link AnimationState#clearNext(TrackEntry)} instead. */
public @Null TrackEntry getNext () {
return next;
}
public void setNext (TrackEntry next) {
if (next == null) throw new IllegalArgumentException("next cannot be null.");
this.next = next;
}
/** Returns true if at least one loop has been completed.
* <p>
* See {@link AnimationStateListener#complete(TrackEntry)}. */