Files
beyond/Assets/Scripts/Utils/PortalScene.cs
2024-11-20 15:21:28 +01:00

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;
}
}