public void ShowFullArt( Script_FullArt fullArt, FadeSpeeds fadeInSpeed, Action cb, FullArtState _state ) { state = _state; HandleFullArtSortingOrder(); fullArtCanvasGroup.alpha = 1; fullArtCanvasGroup.gameObject.SetActive(true); fullArt.Setup(); fullArt.gameObject.SetActive(true); // fade in activeFullArt = fullArt; fullArt.FadeIn(fadeInSpeed, cb); // fade in global bg Script_FullArtBgCanvasGroup bg = bgs[(int)fullArt.bg]; bg.gameObject.SetActive(true); bg.FadeIn(fadeInSpeed, null, bgAlpha); }
/// <summary> /// fades out fullArt canvases and does callback after finishing fadeOut /// </summary> public void Hide(FadeSpeeds fadeOutMode, Action cb) { float fadeOutTime = Script_Utils.GetFadeTime(fadeOutMode); StartCoroutine( fullArtCanvasGroup .GetComponent <Script_CanvasGroupFadeInOut>() .FadeOutCo(fadeOutTime, () => { fullArtCanvasGroup.gameObject.SetActive(false); foreach (var bg in bgs) { bg.gameObject.SetActive(false); } fullArtImage.gameObject.SetActive(false); fullArtImage.sprite = null; if (cb != null) { cb(); } } ) ); }
/// <summary> /// fade out the designated prefab canvas /// this ends the viewing state, /// use TransitionOutFullArt instead for transitioning to next /// </summary> public void HideFullArt( Script_FullArt fullArt, FadeSpeeds fadeOutSpeed, Action cb ) { Debug.Log("HideFullArt() called"); // fade out global bg Script_FullArtBgCanvasGroup bg = bgs[(int)fullArt.bg]; bg.FadeOut(fadeOutSpeed, () => bg.gameObject.SetActive(false)); fullArt.FadeOut(fadeOutSpeed, () => { fullArtCanvasGroup.alpha = 0f; fullArtCanvasGroup.gameObject.SetActive(false); if (Script_Game.Game.GetPlayer().State == Const_States_Player.Viewing) { Script_Game.Game.GetPlayer().SetIsInteract(); } activeFullArt = null; if (cb != null) { cb(); } }); }
public void TransitionOutFullArt( Script_FullArt fullArt, FadeSpeeds fadeOutSpeed, Action cb ) { fullArt.FadeOut(fadeOutSpeed, () => { if (cb != null) { cb(); } }); }
public static float GetFadeTime(this FadeSpeeds fadeSpeed) { const float fadeFastTime = 0.25f; const float fadeMedTime = 0.75f; const float fadeSlowTime = 1.25f; const float fadeXSlowTime = 2.0f; return(fadeSpeed switch { FadeSpeeds.Fast => fadeFastTime, FadeSpeeds.Med => fadeMedTime, FadeSpeeds.Slow => fadeSlowTime, FadeSpeeds.XSlow => fadeXSlowTime, _ => 0f, });
public void FadeOut(FadeSpeeds fadeSpeed, Action cb) { float fadeOutTime = Script_Utils.GetFadeTime(fadeSpeed); StartCoroutine( GetComponent <Script_CanvasGroupFadeInOut>() .FadeOutCo(fadeOutTime, () => { if (cb != null) { cb(); } } ) ); }
public void FadeIn(FadeSpeeds fadeSpeed, Action cb, float maxAlpha = 1f) { float fadeInTime = Script_Utils.GetFadeTime(fadeSpeed); StartCoroutine( GetComponent <Script_CanvasGroupFadeInOut>() .FadeInCo(fadeInTime, () => { if (cb != null) { cb(); } }, maxAlpha ) ); }
public static float GetFadeTime(FadeSpeeds fadeSpeed) => fadeSpeed switch {
public static float ToFadeTime(this FadeSpeeds fadeSpeed) { return(Script_Utils.GetFadeTime(fadeSpeed)); }