65 lines
1.7 KiB
C#
65 lines
1.7 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()
|
|
{
|
|
_fadeIn = _fadeImage.DOFade(1f, 1f).From(0f).SetUpdate(true).SetAutoKill(false).Pause().OnComplete(MoveCombatScene);
|
|
_fadeOut = _fadeImage.DOFade(0f, 0.5f).From(1f).SetUpdate(true).SetAutoKill(false).Pause().SetDelay(3f).OnComplete(EventManager.InvokeInitializedPlayerInput);
|
|
_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();
|
|
_fadeOut.Kill();
|
|
}
|
|
|
|
public void FadeIn()
|
|
{
|
|
_fadeIn.Restart();
|
|
}
|
|
|
|
private void MoveCombatScene()
|
|
{
|
|
_isMovedCombatScene = true;
|
|
SceneManager.LoadScene("01.Tycoon");
|
|
}
|
|
|
|
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
|
|
{
|
|
PopupUiController.ClearPopup();
|
|
|
|
if (scene.name == "01.Tycoon")
|
|
{
|
|
if (_isMovedCombatScene)
|
|
{
|
|
_fadeOut.Restart();
|
|
_isMovedCombatScene = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |