Files
gold_dolphin/unity/Assets/Script/Managers/SenceManager.cs
2026-06-20 19:35:25 +08:00

50 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Events;
namespace Manager
{
class SenceManager:MonoSingleton<SenceManager>
{
UnityAction<float> onProgress = null;
public void LoadScene(int name)
{
StartCoroutine(LoadLevel(name));
}
IEnumerator LoadLevel( int id)
{
Debug.LogFormat("LoadLevel: {0}", name);
AsyncOperation async = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(id);
async.allowSceneActivation = true;
async.completed += LevelLoadCompleted;
//保存数据
PlayerInfo.Instance.info.currentMap=id;
SaveSystem.SaveDate(PlayerInfo.Instance.info.DatePath, PlayerInfo.Instance.info);
while (!async.isDone)
{
if (onProgress != null)
onProgress(async.progress);
yield return null;
}
}
private void LevelLoadCompleted(AsyncOperation obj)
{
if (onProgress != null)
onProgress(1f);
Debug.Log("LevelLoadCompleted:" + obj.progress);
}
}
}