CapersProject/Assets/02.Scripts/SceneController.cs

92 lines
2.5 KiB
C#
Raw Normal View History

using DG.Tweening;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
namespace BlueWater
{
2024-11-29 08:34:20 +00:00
public static class SceneName
{
public static string CombatTile = "00.CombatTitle";
public static string TycoonTile = "00.TycoonTitle";
public static string Tycoon = "01.Tycoon";
public static string Combat = "02.Combat";
}
public class SceneController : Singleton<SceneController>
{
[SerializeField]
private Image _fadeImage;
private Tween _fadeIn;
private Tween _fadeOut;
private bool _isMovedCombatScene;
protected override void OnAwake()
{
2024-11-19 07:57:05 +00:00
_fadeIn = _fadeImage.DOFade(1f, 1f).From(0f).SetUpdate(true).SetAutoKill(false).Pause().OnComplete(MoveCombatScene);
2024-11-28 23:07:50 +00:00
_fadeOut = _fadeImage.DOFade(0f, 0.5f).From(1f).SetUpdate(true).SetAutoKill(false).Pause().SetDelay(3f);
_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();
2024-11-19 07:57:05 +00:00
_fadeOut.Kill();
}
public void FadeIn()
{
_fadeIn.Restart();
}
2024-11-28 23:07:50 +00:00
public void RestartCurrentScene()
{
VisualFeedbackManager.Instance.ResetTimeScale();
string currentSceneName = SceneManager.GetActiveScene().name;
SceneManager.LoadScene(currentSceneName);
}
2024-11-29 08:34:20 +00:00
public void LoadScene(string sceneName)
{
VisualFeedbackManager.Instance.ResetTimeScale();
SceneManager.LoadScene(sceneName);
}
2024-11-28 23:07:50 +00:00
public void MoveMainMenu()
{
VisualFeedbackManager.Instance.ResetTimeScale();
SceneManager.LoadScene("00.TycoonTitle");
}
private void MoveCombatScene()
{
_isMovedCombatScene = true;
2024-10-08 06:12:27 +00:00
SceneManager.LoadScene("01.Tycoon");
}
private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
2024-11-19 06:03:43 +00:00
PopupUiController.ClearPopup();
2024-10-08 06:12:27 +00:00
if (scene.name == "01.Tycoon")
{
if (_isMovedCombatScene)
{
_fadeOut.Restart();
_isMovedCombatScene = false;
}
}
}
}
}