public IEnumerator SetupDialogue(TooltipId[] dialogue) { if (_waitType == WaitType.InGamePause) { _playerControl.WaitForTooltip(true); } if (_waitType == WaitType.VillageSpeech) { _playerControl.WaitForVillageSpeech(); } _bFirstDialogue = true; _bLastDialogue = false; int numItems = dialogue.Length; foreach (TooltipId speech in dialogue) { numItems--; if (numItems == 0) { _bLastDialogue = true; } if (_bFirstDialogue) { _tooltipControl.RestoreOriginalScale(); yield return(_tooltipControl.StartCoroutine("OpenTooltip")); } yield return(StartCoroutine("ShowTooltip", speech)); _bFirstDialogue = false; } if (_waitType == WaitType.InGamePause) { _playerControl.WaitForTooltip(false); _playerControl.TooltipResume(); } else if (_waitType == WaitType.VillageSpeech) { _playerControl.WaitForVillageSpeech(); // TODO only need to clear the input } _tooltipControl.StartCoroutine("CloseTooltip"); EventListener.TooltipActioned(); }