using System.Collections; using System.Collections.Generic; using Beyond; using UnityEngine; public class PortalScene : MonoBehaviour { // Start is called before the first frame update public float m_portalTime = 5f; private float m_timer = 0f; public float m_fadeTime = 1f; enum State { FADING_IN, FADING_OUT, COUNDTOWN, LOADING, }; private State m_state = State.FADING_IN; //private bool m_fading void Start() { SetState(State.FADING_IN); } void SetState(State s) { switch (s) { case State.FADING_IN: FadeCanvasGroup.Instance.FadeIn(m_fadeTime); m_timer = m_fadeTime; break; case State.FADING_OUT: FadeCanvasGroup.Instance.FadeOut(m_fadeTime); m_timer = m_fadeTime; break; case State.COUNDTOWN: m_timer = m_portalTime; break; case State.LOADING: ProxySceneLoader.LoadSelectedScene(); break; } m_state = s; } // Update is called once per frame void Update() { if (m_timer < 0f) { switch (m_state) { case State.LOADING: break; case State.FADING_IN: SetState(State.COUNDTOWN); break; case State.FADING_OUT: SetState(State.LOADING); break; case State.COUNDTOWN: SetState(State.FADING_OUT); break; } } m_timer -= Time.deltaTime; } }