コード例 #1
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);
        }
コード例 #2
0
ファイル: Menu.cs プロジェクト: Wiciaki/SparkTech
        internal static void SetOpen(bool open)
        {
            if (IsOpen == open)
            {
                return;
            }

            IsOpen = open;

            if (!open)
            {
                SaveHandlers.ForEach(handler => handler.Save());
            }

            OnVisibilityChanged.SafeInvoke(EventArgs.Empty);
        }
コード例 #3
0
        public virtual void SetIsVisible(bool isVisible)
        {
            if (fadeTweener.IsRunning)
            {
                fadeTweener.Stop();
            }

            this.isVisible = isVisible;

            OnVisibilityChanged.SafeInvoke(isVisible);

            if (!CanvasGroup)
            {
                return;
            }

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

            CanvasGroup.alpha = isVisible ? 1f : 0f;
        }