public override void Update(DwarfTime gameTime) { CompositeLibrary.Update(); MainWindow.LocalBounds = new Rectangle(EdgePadding, EdgePadding, Game.GraphicsDevice.Viewport.Width - EdgePadding * 2, Game.GraphicsDevice.Viewport.Height - EdgePadding * 2); Input.Update(); GUI.Update(gameTime); if (CurrentAction != null) { if (CurrentCoroutine == null) { CurrentCoroutine = CurrentAction.Action(); CurrentEnumerator = CurrentCoroutine.GetEnumerator(); } if (CurrentCoroutine != null) { SpeechNode node = CurrentEnumerator.Current; if (node != null) { Transition(node); CurrentCoroutine = null; CurrentAction = null; } else { if (!CurrentEnumerator.MoveNext()) { CurrentCoroutine = null; CurrentAction = null; CurrentEnumerator = null; Transition(DialougeTree); } } } } base.Update(gameTime); }