从场景A切换到场景B时,通过配置文件去加载场景上的物件,通过玩家信息去动态的创建玩家
public void ScenesMgr : BaseManager<ScenesMgr> {
public void LoadScene(string name) {
SceneManger.LoadScene(name);
// TODO... 加载完成后执行的逻辑
}
public void LoadSceneAsync(string name, UnityAction fun) {
MonoMgr.GetInstance().StartCoroutine(ReallyLoadSceneAsync(name, fun));
}
private Ienumerator ReallyLoadSceneAsync(string name, UnityAction fun) {
AsyncOperation ao = SceneManager.LoadSceneAsync(name);
while(!ao.isDone) {
// 通过事件中心分发进度情况,可以用来更新进度条并进行相关逻辑
EventCenter.GetInstance().EventTrigger("updateLoadProgress", ao.progress);
yield return ao.progree;
}
// TODO... 场景加载完之后的逻辑
fun();
}
}