Files
beyond/Assets/Scripts/ScriptableObjects/LevelLoaderData.cs

36 lines
1.1 KiB
C#

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> _levelData = new List<LevelData>();
public List<LevelData> LevelDataList => _levelData;
public LevelData GetData(string displayName)
{
return _levelData.FirstOrDefault(x => x.LevelNameToDisplay == displayName);
}
public List<string> 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.
}
}