MiniGame-PushPush/Assets/Scripts/Manage/SceneLoadManager.cs

42 lines
1.2 KiB
C#
Raw Normal View History

using FirstVillain.Singleton;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneLoadManager : UnitySingleton<SceneLoadManager>
{
public void LoadSceneAsync(string sceneName, LoadSceneMode mode, Action onComplete)
{
if(mode == LoadSceneMode.Single)
{
//<2F>ε<EFBFBD> <20><><EFBFBD><EFBFBD> UI <20><><EFBFBD><EFBFBD>
UIManager.Instance.ReleaseUI();
}
var handle = SceneManager.LoadSceneAsync(sceneName, mode);
handle.completed += complete =>
{
onComplete?.Invoke();
};
}
/// <summary>
/// Load Scene with loading UI
/// </summary>
/// <param name="sceneName"></param>
/// <param name="onComplete"></param>
/// <param name="loadingUI"></param>
public void LoadSceneAsync(string sceneName, Action onComplete, E_UI_TYPE loadingUI)
{
UIManager.Instance.OpenLoadingUI(loadingUI);
UIManager.Instance.ReleaseUI();
var handle = SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Single);
handle.completed += complete =>
{
onComplete?.Invoke();
};
}
}