using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.SceneManagement; namespace Beyond { [CreateAssetMenu(fileName = "LevelLoaderData", menuName = "ScriptableObjects/LevelLoaderData", order = 1)] public class LevelLoaderData : ScriptableObject { [SerializeField] private List _levelData = new List(); public List LevelDataList => _levelData; public LevelData GetData(string displayName) { return _levelData.FirstOrDefault(x => x.LevelNameToDisplay == displayName); } public List GetAllLevelNames() { return _levelData.Select(x => x.LevelNameToDisplay).ToList(); } } [System.Serializable] public class LevelData { public string LevelName; public string LevelNameToDisplay; public string DialogueVariableName; // This is used to check if the level is unlocked public LoadSceneMode LoadSceneMode; // The "public bool IsUnlocked;" field has been removed. } }