using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using Eflatun.SceneReference; using System.Linq; using UnityEngine.SceneManagement; namespace MyCollections.SceneManagement { [Serializable] public class SceneGroup { public string groupName = "New Scene Group"; public List<SceneData> scenes; public string FindSceneNameByType(SceneType sceneType) => scenes.FirstOrDefault(scene => scene.sceneType == sceneType)?.reference.Name; public List<Scene> FindSceneRefByType(SceneType type) => scenes.Where(scene => scene.sceneType == type) .Select(scene => scene.reference.LoadedScene) .ToList(); } [Serializable] public class SceneData { public SceneReference reference; public SceneType sceneType; public string Name => reference.Name; } public enum SceneType { ActiveScene, DisableScene, MainMenu, UserInterface, HUD, Cinematic, Environment, Tooling } }