40 lines
1.2 KiB
C#
40 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);
|
|
}
|
|
}
|