private IEnumerator AdvanceRoutine(Action onFinished) { // Fade in this.Log("Starting slide show..."); backgroundComponent.CrossFadeAlpha(1f, transitionDuration / 2f, ignoreTimeScale); yield return(new WaitForSeconds(transitionDuration)); // Set the slides for (int i = 0; i < asset.slides.Length; i++) { currentSlideNumber = i; StratusSlideshowAsset.Slide slide = asset.slides[i]; // Set textComponent.text = slide.text; imageComponent.sprite = slide.sprite; float transition = slide.transition > 0.0f ? slide.transition : slideTransitionDuration; // Fade in canvasGroup.CrossFade(true, transition); yield return(new WaitForSeconds(transition)); // Fade out canvasGroup.CrossFade(false, transition); yield return(new WaitForSeconds(transition)); } this.Log("Ending slide show..."); yield return(new WaitForSeconds(transitionDuration / 2f)); backgroundComponent.CrossFadeAlpha(0f, transitionDuration, ignoreTimeScale); yield return(new WaitForSeconds(transitionDuration / 2f)); onFinished?.Invoke(); }
private void Set(StratusSlideshowAsset.Slide slide) { textComponent.text = slide.text; imageComponent.sprite = slide.sprite; }