50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
|
|
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);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|