using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using TMPro; public class DebugSceneSwitcher : MonoBehaviour { void Start() { if (!GameObject.Find("StateController").GetComponent().inDebugMode) { Destroy(this.gameObject); } // check to see if a debug canvas already exists if (GameObject.FindGameObjectWithTag("DebugCanvas") != null) { Destroy(this.gameObject); } else { // if it doesn't, then this is the only one this.gameObject.tag = "DebugCanvas"; } DontDestroyOnLoad(this.gameObject); CreateDropdownOptions(); } void CreateDropdownOptions() { TMP_Dropdown sceneDropdown = GameObject.Find("SceneSwitcherDropdown").GetComponent(); if (sceneDropdown.options.Count == 0) { List sceneNames = new List(); for (int i = 0; i < SceneManager.sceneCountInBuildSettings; i++) { string newName = System.IO.Path.GetFileNameWithoutExtension(SceneUtility.GetScenePathByBuildIndex(i)); print(newName); sceneNames.Add(newName); } sceneDropdown.AddOptions(sceneNames); } } public void ChangeScene(int index) { // print(index); GameObject.FindGameObjectWithTag("SceneManager").GetComponent().LoadChosenScene(index); } }