[csharp] Allow events queued within callbacks.

This commit is contained in:
John 2017-02-18 15:28:02 +08:00 committed by GitHub
parent 0199570a27
commit cee79b7beb

View File

@ -840,7 +840,7 @@ namespace Spine {
}
class EventQueue {
private readonly ExposedList<EventQueueEntry> eventQueueEntries = new ExposedList<EventQueueEntry>();
private readonly List<EventQueueEntry> eventQueueEntries = new List<EventQueueEntry>();
public bool drainDisabled;
private readonly AnimationState state;
@ -900,11 +900,11 @@ namespace Spine {
drainDisabled = true;
var entries = this.eventQueueEntries;
var entriesItems = entries.Items;
AnimationState state = this.state;
for (int i = 0, n = entries.Count; i < n; i++) {
var queueEntry = entriesItems[i];
// Don't cache entries.Count so callbacks can queue their own events (eg, call SetAnimation in AnimationState_Complete).
for (int i = 0; i < entries.Count; i++) {
var queueEntry = entries[i];
TrackEntry trackEntry = queueEntry.entry;
switch (queueEntry.type) {