#pragma warning restore CS0649 // Start is called before the first frame update void Start() { sceneDataList = SceneListLoader.LoadSceneList(); GameObject temp = map.interactables[0]; Component[] c = temp.GetComponentsInChildren(typeof(Image)); if (c != null && c.Length != 0) { for (int i = 0; i < c.Length; i++) { if (c[i].gameObject != temp) { ((Image)c[i]).enabled = false; } } } map.interactables.RemoveAt(0); for (int i = 0; i < sceneDataList.list.Count; i++) { map.interactables.Add(CreateButton(sceneDataList.list[i], new Vector3(0, -10 * (i + 1), 0)).gameObject); } map.interactables.Add(temp); InteractableList interactableList = ListSingleton.instance; interactableList.UpdateMap(map); // interactableList.ClearList(); // interactableList.FindInteractables(); // interactableList.Next(); EventSystem.current.SetSelectedGameObject(interactableList.focusedGo); DescriptionPlayer dp = interactableList.focusedGo.GetComponent(typeof(DescriptionPlayer)) as DescriptionPlayer; dp.OnDescriptorPress(null); viewControl.CheckGraphics(); }
// A partir da lista de scenas no build do jogo, cria uma lista e recupera o caminho da descrição de audio // que corresponde ao nome do jogo. // Alguns padrões devem ser seguidos para que isto seja feito corretamente. // Primeiramente, a primeira scene do jogo deve ser iniciada com "_" // A descrição de audio deve esta na pasta definida na variável audioDescriptionFolder e deve ter o mesmo nome // que o scene principal do jogo, mas sem o "_" private string CreateSceneReference() { SceneDataList sceneDataList = new SceneDataList(); string path; string name; for (int i = 0; i < SceneManager.sceneCountInBuildSettings; i++) { path = SceneUtility.GetScenePathByBuildIndex(i); if (Regex.IsMatch(path, regex)) { name = Regex.Match(path, regex).Value; path = path.Substring(7, path.Length - 7 - 6); sceneDataList.list.Add(new SceneData(path, NameFilter(name), audioDescriptionFolder + name.Substring(1, name.Length - 2))); } } return(JsonUtility.ToJson(sceneDataList)); }