Ejemplo n.º 1
0
        public async Task PlayAsync(float fadeInTime)
        {
            if (!IsValid)
            {
                return;
            }
            CompleteAllRunners();

            if (!IsPlaying)
            {
                Play();
            }
            var tween = new FloatTween(0, Volume, fadeInTime, volume => Volume = volume);
            await volumeTweener.RunAsync(tween);
        }
Ejemplo n.º 2
0
        public virtual async Task SetIsVisibleAsync(bool isVisible, float?fadeTime = null)
        {
            if (fadeTweener.IsRunning)
            {
                fadeTweener.Stop();
            }

            this.isVisible = isVisible;

            OnVisibilityChanged.SafeInvoke(isVisible);

            if (!CanvasGroup)
            {
                return;
            }

            CanvasGroup.interactable   = isVisible;
            CanvasGroup.blocksRaycasts = isVisible;

            var fadeDuration  = fadeTime ?? FadeTime;
            var targetOpacity = isVisible ? 1f : 0f;

            if (fadeDuration == 0f)
            {
                CanvasGroup.alpha = targetOpacity;
                return;
            }

            var tween = new FloatTween(CanvasGroup.alpha, targetOpacity, fadeDuration, alpha => CanvasGroup.alpha = alpha);
            await fadeTweener.RunAsync(tween);
        }