using UnityEngine; using UnityEngine.Playables; /// /// ListMinigameScreen scene manager /// public class ListMinigamesScreen : MonoBehaviour { /// /// Reference to minigame-list container object /// public Transform minigameContainer; /// /// Prefab of the minigame item object /// public GameObject minigameItemPrefab; /// /// Reference to the list of all minigames /// public MinigameList minigameList; /// /// Reference to the scene playable director /// public PlayableDirector directorEnterFromMainMenu; /// /// Start is called before the first frame update /// 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(); item.minigame = minigame; } var sys = SystemController.GetInstance(); if (sys.previousScene == SystemController.GetSceneIndex("Common/Scenes/MainMenuScreen")) directorEnterFromMainMenu.Play(); } /// /// Method used as callback for minigame item onClick events /// /// The path to the new scene (path == $"Assets/{sceneName}") public void LoadScene(string sceneName) { SystemController.GetInstance().LoadNextScene(sceneName); } }