public void InitUnloadData( string address, string path, OnSceneLoadComplete complete, OnSceneLoadProgress progress, SystemObject userData) { this.address = address; this.scenePath = path; this.sceneName = Path.GetFileNameWithoutExtension(path); completeCallback = complete; progressCallback = progress; this.userData = userData; handler = new SceneHandler(address, sceneName, scenePath); state = SceneLoaderDataState.Unload; }
internal void DoComplete(Scene scene) { state = SceneLoaderDataState.Finished; handler.IsDone = true; handler.TargetScene = scene; if (!isActiveWhenLoaded && scene.IsValid()) { GameObject[] objs = scene.GetRootGameObjects(); foreach (var obj in objs) { obj.SetActive(false); } } progressCallback?.Invoke(address, 1.0f, userData); completeCallback?.Invoke(address, scene, userData); }
public void InitLoadData( string address, string path, OnSceneLoadComplete complete, OnSceneLoadProgress progress, LoadSceneMode sceneMode, bool isActive, SystemObject userData) { this.address = address; this.scenePath = path; this.sceneName = Path.GetFileNameWithoutExtension(path); completeCallback = complete; progressCallback = progress; this.sceneMode = sceneMode; this.isActiveWhenLoaded = isActive; this.userData = userData; handler = new SceneHandler(address, sceneName, scenePath); state = SceneLoaderDataState.Load; }