Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / Scripts / Managers / SceneGroup.cs
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. using Eflatun.SceneReference;
  6. using System.Linq;
  7. using UnityEngine.SceneManagement;
  8. namespace MyCollections.SceneManagement
  9. {
  10. [Serializable]
  11. public class SceneGroup
  12. {
  13. public string groupName = "New Scene Group";
  14. public List<SceneData> scenes;
  15. public string FindSceneNameByType(SceneType sceneType) =>
  16. scenes.FirstOrDefault(scene => scene.sceneType == sceneType)?.reference.Name;
  17. public List<Scene> FindSceneRefByType(SceneType type) =>
  18. scenes.Where(scene => scene.sceneType == type)
  19. .Select(scene => scene.reference.LoadedScene)
  20. .ToList();
  21. }
  22. [Serializable]
  23. public class SceneData
  24. {
  25. public SceneReference reference;
  26. public SceneType sceneType;
  27. public string Name => reference.Name;
  28. }
  29. public enum SceneType
  30. {
  31. ActiveScene,
  32. DisableScene,
  33. MainMenu,
  34. UserInterface,
  35. HUD,
  36. Cinematic,
  37. Environment,
  38. Tooling
  39. }
  40. }