private IEnumerator WaitAndComplete(float t) { yield return(new WaitForSeconds(t + 1)); mainAudioSource.DOFade(1f, .5f); OnIntroComplete?.Invoke(); }
public void StartIntro(OnIntroComplete _completionCallback) { m_introComplete = _completionCallback; m_isInProgress = true; m_animator.SetTrigger("Begin"); m_miniGame.PlaySFX(mg_jr_Sound.GARY_INTRO_FLY_IN.ClipName()); m_timeSinceDialogChange = float.MaxValue; }
private void AnimationEnded() { m_isInProgress = false; IsIntroFinished = true; if (m_introComplete != null) { m_introComplete(); m_introComplete = null; } }
private void ShowDialog() { if (possibleDialogs.Count > 0) { Dialog dialog = possibleDialogs[Random.Range(0, possibleDialogs.Count)]; dialogImage.sprite = dialog.image; dialogText.text = dialog.text; mainAudioSource.DOFade(.5f, 1f) .OnComplete(() => { audioSource.PlayOneShot(dialog.audioClip); StartCoroutine(WaitAndComplete(dialog.audioClip.length)); }); } else { OnIntroComplete?.Invoke(); } }