Files
unity-application/Assets/Common/Scripts/ListMinigamesScreen.cs
Dries Van Schuylenbergh fcd8acad1e Demo day booth
2023-04-23 18:50:07 +00:00

58 lines
1.7 KiB
C#

using UnityEngine;
using UnityEngine.Playables;
/// <summary>
/// ListMinigameScreen scene manager
/// </summary>
public class ListMinigamesScreen : MonoBehaviour
{
/// <summary>
/// Reference to minigame-list container object
/// </summary>
public Transform minigameContainer;
/// <summary>
/// Prefab of the minigame item object
/// </summary>
public GameObject minigameItemPrefab;
/// <summary>
/// Reference to the list of all minigames
/// </summary>
public MinigameList minigameList;
/// <summary>
/// Reference to the scene playable director
/// </summary>
public PlayableDirector directorEnterFromMainMenu;
/// <summary>
/// Start is called before the first frame update
/// </summary>
void Start()
{
foreach (Minigame minigame in minigameList.minigames)
{
// Create instance of prefab
GameObject instance = GameObject.Instantiate(minigameItemPrefab, minigameContainer);
// Dynamically load appearance
MinigameItem item = instance.GetComponent<MinigameItem>();
item.minigame = minigame;
}
var sys = SystemController.GetInstance();
if (sys.previousScene == SystemController.GetSceneIndex("Common/Scenes/MainMenuScreen"))
directorEnterFromMainMenu.Play();
}
/// <summary>
/// Method used as callback for minigame item onClick events
/// </summary>
/// <param name="sceneName">The path to the new scene (<c>path == $"Assets/{sceneName}"</c>)</param>
public void LoadScene(string sceneName)
{
SystemController.GetInstance().LoadNextScene(sceneName);
}
}