internal virtual void Update() { if (this.waitTime > 0) { this.waitTime--; } else if (this.waitTime == 0) { int count = 0; while (this.Actions.Count > 0 && this.waitTime == 0) { this.Actions.Last.Value(); this.Actions.RemoveLast(); count++; } DebugText.IncrementActionCount(count); } for (int i = 0; i < this.Listener.Count; i++) { if (this.Listener[i]()) { this.Listener.RemoveAt(i); i--; } } if (this.AutoEnd && this.Actions.Count == 0 && this.Listener.Count == 0) { this.Window.RemoveStoryboard(this); } }