Beispiel #1
0
    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);
    }
Beispiel #2
0
    /// <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();
            }
        }
                       )
            );
    }
Beispiel #3
0
    /// <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();
            }
        });
    }
Beispiel #4
0
 public void TransitionOutFullArt(
     Script_FullArt fullArt,
     FadeSpeeds fadeOutSpeed,
     Action cb
     )
 {
     fullArt.FadeOut(fadeOutSpeed, () =>
     {
         if (cb != null)
         {
             cb();
         }
     });
 }
Beispiel #5
0
    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
                      )
            );
    }
Beispiel #8
0
 public static float GetFadeTime(FadeSpeeds fadeSpeed) => fadeSpeed switch
 {
Beispiel #9
0
 public static float ToFadeTime(this FadeSpeeds fadeSpeed)
 {
     return(Script_Utils.GetFadeTime(fadeSpeed));
 }