Как сделать Onclick кнопки на основе ее текста? - PullRequest
0 голосов
/ 19 апреля 2020

Мне нужен процесс, как будто у меня есть массив кнопок, и мне нужно сделать одинаковую функцию нажатия для каждой кнопки, которая получает текст нажатой кнопки и анализирует его как int и выполняет управление сценами. Вот краткий рассказ о функции

Onclick -> массив кнопок -> кнопка поиска, которая нажата -> получить дочерний текст компонента -> разобрать как int -> int = variable ->

SceneManager.LoadScene.(SceneManager.GetActiveScene.BuildIndex + variable)

Ура!

1 Ответ

2 голосов
/ 19 апреля 2020

Вот ваше решение.

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class MyClass: MonoBehaviour
{
   public Button[] buttons;

   void OnEnable()
   {
      for (int i = 0; i < buttons.Length; i++)
      {
         buttons[i].onClick.AddListener(delegate { LoadScene(i); });
      }
   }

   private void LoadScene(int i)
   {
      string text = buttons[i].transform.GetChild(0).GetComponent<Text>().text;
      int number = int.Parse(text);

      SceneManager.LoadScene(SceneManager.GetActiveScene.BuildIndex + number);
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...