36 lines
1.1 KiB
C#
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.
|
|
}
|
|
} |