Files
unity-application/Assets/Common/Interfaces/MinigameList.cs
2023-05-14 20:18:29 +00:00

39 lines
1.2 KiB
C#

using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// Keep track off installed minigames
/// </summary>
[CreateAssetMenu(menuName = "Create new Scriptable/Minigame List")]
public class MinigameList : ScriptableObject
{
/// <summary>
/// Index of the active/to be loaded/current minigame
/// </summary>
public int currentMinigameIndex = 0;
/// <summary>
/// List of all installed minigames
/// </summary>
public List<Minigame> minigames = new List<Minigame>();
/// <summary>
/// Get a minigame by MinigameIndex
/// </summary>
/// <param name="minigameIndex">MinigameIndex of the minigame, each unique minigame has a unique MinigameIndex</param>
/// <returns>Minigame associated with this index, null if no minigame was found</returns>
public Minigame GetMinigameByIndex(MinigameIndex minigameIndex)
{
return minigames.Find((m) => m.index == minigameIndex);
}
/// <summary>
/// Function to find a minigame-index in the list based on its index
/// </summary>
/// <param name="title"></param>
public void SetCurrentMinigame(MinigameIndex index)
{
currentMinigameIndex = minigames.FindIndex((mi) => mi.index == index);
}
}