64 lines
1.6 KiB
C#
64 lines
1.6 KiB
C#
using DG.Tweening;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.UI;
|
|
|
|
namespace BlueWater
|
|
{
|
|
public class SceneController : Singleton<SceneController>
|
|
{
|
|
[SerializeField]
|
|
private Image _fadeImage;
|
|
|
|
private Tween _fadeIn;
|
|
private Tween _fadeOut;
|
|
|
|
private bool _isMovedCombatScene;
|
|
|
|
protected override void OnAwake()
|
|
{
|
|
_fadeImage = transform.Find("Canvas/FadeImage").GetComponent<Image>();
|
|
_fadeIn = _fadeImage.DOFade(1f, 2f).From(0f).Pause().SetAutoKill(false).OnComplete(MoveCombatScene);
|
|
_fadeOut = _fadeImage.DOFade(0f, 2f).From(1f).Pause().SetAutoKill(false).SetDelay(1f);
|
|
_fadeImage.color = new Color(0, 0, 0, 0);
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
SceneManager.sceneLoaded += OnSceneLoaded;
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
if (Quitting) return;
|
|
|
|
SceneManager.sceneLoaded -= OnSceneLoaded;
|
|
|
|
_fadeIn.Kill();
|
|
_fadeIn.Kill();
|
|
}
|
|
|
|
public void FadeIn()
|
|
{
|
|
_fadeIn.Restart();
|
|
}
|
|
|
|
private void MoveCombatScene()
|
|
{
|
|
_isMovedCombatScene = true;
|
|
SceneManager.LoadScene("01.Tycoon");
|
|
}
|
|
|
|
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
|
{
|
|
if (scene.name == "01.Tycoon")
|
|
{
|
|
if (_isMovedCombatScene)
|
|
{
|
|
_fadeOut.Restart();
|
|
_isMovedCombatScene = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |