提交项目

This commit is contained in:
2026-05-28 15:23:36 +08:00
commit 3cfc77d12b
5726 changed files with 554351 additions and 0 deletions
@@ -0,0 +1,53 @@
using System;
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
namespace ZooMatch
{
public sealed class SceneSwitchManager : BaseUnityManager<SceneSwitchManager>
{
private const bool IsUseUnityScene = false;
public delegate void LoadCallBack(object param);
public void SwitchInitialScene(int idx, LoadCallBack loadHandler, object param)
{
StartCoroutine(OnLoadInitialScene(idx, loadHandler, param));
}
public void SwitchScene(int idx, LoadCallBack loadHandler, object param)
{
StartCoroutine(OnLoadScene(idx, loadHandler, param));
}
private IEnumerator OnLoadInitialScene(int idx, LoadCallBack loadHandle, object param)
{
yield return YieldConst.Time10ms;
if (loadHandle != null)
{
loadHandle(param);
}
}
private IEnumerator OnLoadScene(int idx, LoadCallBack loadHandle, object param)
{
yield return YieldConst.WaitFor100ms;
GC.Collect();
GC.WaitForPendingFinalizers();
if (IsUseUnityScene)
{
AsyncOperation asyncUnityScene = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(idx, LoadSceneMode.Single);
yield return asyncUnityScene;
}
if (loadHandle != null)
{
loadHandle(param);
}
}
}
}