public void LoadSceneAsync(string sceneName, AsyncSceneCallBack data = null, LoadSceneMode mode = LoadSceneMode.Single) { if (_asyncRecordDic.ContainsKey(sceneName)) { Debuger.LogError($"repeat load scene {sceneName}"); } else { _asyncRecordDic.Add(sceneName, data); } var async = SceneManager.LoadSceneAsync(sceneName, mode); async.completed += operation => { if (_asyncRecordDic.ContainsKey(sceneName)) { var recordData = _asyncRecordDic[sceneName]; recordData.Progress = 0.9f; } _removeSceneList.Add(sceneName); }; MonoHelper.GlobalStartCoroutine(LoadSceneAsync(sceneName, async)); }