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); }
internal static void SetOpen(bool open) { if (IsOpen == open) { return; } IsOpen = open; if (!open) { SaveHandlers.ForEach(handler => handler.Save()); } OnVisibilityChanged.SafeInvoke(EventArgs.Empty); }
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; }