76 lines
1.7 KiB
C#
76 lines
1.7 KiB
C#
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;
|
|
}
|
|
}
|