using UnityEngine.SceneManagement; namespace FishNet.Managing.Scened { public struct UnloadedScene { public readonly string Name; public readonly int Handle; public UnloadedScene(Scene s) { Name = s.name; Handle = s.handle; } public UnloadedScene(string name, int handle) { Name = name; Handle = handle; } /// /// Returns a scene based on handle. /// Result may not be valid as some Unity versions discard of the scene information after unloading. /// /// public Scene GetScene() { int loadedScenes = UnityEngine.SceneManagement.SceneManager.sceneCount; for (int i = 0; i < loadedScenes; i++) { Scene s = UnityEngine.SceneManagement.SceneManager.GetSceneAt(i); if (s.IsValid() && s.handle == Handle) return s; } return default; } } }