/**************************************************************************************************/ /*! * \fn private IEnumerator fadeOut() * フェードアウト処理 * \date 2015. 2.12(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ private IEnumerator fadeOut() { // インジケータ開始 StartCoroutine(updateIndicator()); // Debug.Log("Start Fade Out"); float time = 0; while (time <= interval) { fadeAlpha = Mathf.Lerp (0f, 1f, time / interval); time += Time.deltaTime; setAlpha(); yield return 0; } stat = FadeStat.FadeOut; }
/**************************************************************************************************/ /*! * \fn public void SetBlack() * フェードアウト状態にする * \date 2015. 2.12(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ public void SetBlack() { if(stat == FadeStat.FadeIn) { gameObject.SetActive(true); // フェードアウト開始時にアクティブへ切り替え fadeAlpha = 1f; setAlpha(); stat = FadeStat.FadeOut; // インジケータ開始 StartCoroutine(updateIndicator()); } }
/**************************************************************************************************/ /*! * \fn private IEnumerator fadeIn() * フェードイン処理 * \date 2015. 2.12(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ private IEnumerator fadeIn() { // Debug.Log("Start Fade In"); float time = 0; while (time <= interval) { fadeAlpha = Mathf.Lerp (1f, 0f, time / interval); time += Time.deltaTime; setAlpha(); yield return 0; } stat = FadeStat.FadeIn; // インジケータ停止 indicatorAct = false; // フェードイン完了時に非アクティブに yield return 0; gameObject.SetActive(false); }
/**************************************************************************************************/ /*! * \fn public void FadeStart(FadeStat type) * フェード開始 * \param type : フェードタイプ * \date 2015. 2.12(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ public void FadeStart(FadeStat type) { switch(type) { case FadeStat.FadeIn: StartCoroutine(fadeIn()); break; case FadeStat.FadeOut: gameObject.SetActive(true); // フェードアウト開始時にアクティブへ切り替え StartCoroutine(fadeOut()); break; case FadeStat.Fading: return; // フェード中は受付けない } stat = FadeStat.Fading; }