- 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
- }
- }