50 lines
1.7 KiB
C#
Raw Normal View History

2025-03-11 16:24:25 +08:00
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using System;
namespace ZXKFramework
{
public class SceneManager : IScene
{
AssetBundleCreateRequest bundleTemp;
AsyncOperation async;
public void LoadLevel(int level)
{
FrameworkScenesArgs e = new FrameworkScenesArgs()
{
scnesIndex = UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex
};
Game.Instance?.SendEvent(FrameworkConsts.E_ExitScenes, e);
UnityEngine.SceneManagement.SceneManager.LoadScene(level, UnityEngine.SceneManagement.LoadSceneMode.Single);
}
public void LoadABScene(string sceneName, Action<bool, string> callBack)
{
string path = Application.streamingAssetsPath + "/" + sceneName.ToLower() + ".assetbundle";
Game.Instance?.IEnumeratorManager.Run(LoadABScene(path, sceneName, callBack));
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IEnumerator LoadABScene(string path, string sceneName, Action<bool, string> callBack)
{
FileInfo info = new FileInfo(path);
if (info.Exists)
{
bundleTemp = AssetBundle.LoadFromFileAsync(path);
yield return bundleTemp;
async = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(sceneName);
yield return async;
callBack?.Invoke(true, "<22><><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD>ɹ<EFBFBD>");
}
else
{
callBack?.Invoke(false, "AB<41><42><EFBFBD>س<EFBFBD><D8B3><EFBFBD> <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> " + path);
}
}
}
}