using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityScene = UnityEngine.SceneManagement.Scene; namespace FishNet.Managing.Scened { public abstract class SceneProcessorBase : MonoBehaviour { #region Protected. /// /// SceneManager for this processor. /// protected SceneManager SceneManager; #endregion /// /// Initializes this script for use. /// /// SceneManager which will be utilizing this class. public virtual void Initialize(SceneManager manager) { SceneManager = manager; } /// /// Called when scene loading has begun. /// public virtual void LoadStart(LoadQueueData queueData) { } /// /// Called when scene loading has ended. /// public virtual void LoadEnd(LoadQueueData queueData) { } /// /// Called when scene unloading has begun within a load operation. /// public virtual void UnloadStart(LoadQueueData queueData) { } /// /// Called when scene unloading has ended within a load operation. /// public virtual void UnloadEnd(LoadQueueData queueData) { } /// /// Called when scene unloading has begun within an unload operation. /// public virtual void UnloadStart(UnloadQueueData queueData) { } /// /// Called when scene unloading has ended within an unload operation. /// public virtual void UnloadEnd(UnloadQueueData queueData) { } /// /// Begin loading a scene using an async method. /// /// Scene name to load. public abstract void BeginLoadAsync(string sceneName, LoadSceneParameters parameters); /// /// Begin unloading a scene using an async method. /// /// Scene name to unload. public abstract void BeginUnloadAsync(Scene scene); /// /// Returns if a scene load or unload percent is done. /// /// public abstract bool IsPercentComplete(); /// /// Returns the progress on the current scene load or unload. /// /// public abstract float GetPercentComplete(); /// /// Adds a scene to loaded scenes. /// /// Scene loaded. public virtual void AddLoadedScene(Scene scene) { } /// /// Returns scenes which were loaded during a load operation. /// public abstract List GetLoadedScenes(); /// /// Activates scenes which were loaded. /// public abstract void ActivateLoadedScenes(); /// /// Returns if all asynchronized tasks are considered IsDone. /// /// public abstract IEnumerator AsyncsIsDone(); } }