условие на toggle в unity
Как сделать условие на UI объект toggle? То есть если is on равняется true, выполнять определённое действие. Много искал в интернете, но ничего не нашёл.
Ответы (1 шт):
Что бы получить у Toggle доступ к is On используй myTogle.isOn. Пример:
public Toggle toggle;
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
CheckToogle();
}
}
private void CheckToogle()
{
Debug.Log(toggle.isOn);
}
(не забудь присвоить toggle в инспекторе или получив на на него ссылку в Awake или Start.)
Что бы при изменении состояния isOn происходило какое то действие - подпиши необходимый метод на событие onValueChanged одним из двух способов. Первый - кодом. Сигнатура метода должна быть соблюдена следующим образом - метод должен ни чего не возвращать, а на вход принимать bool. Пример:
public Toggle toggle;
private void Start()
{
toggle.onValueChanged.AddListener(SomeVoid);
}
public void SomeVoid(bool isOn)
{
Debug.Log(toggle.isOn);
}
Второй способ - привязать необходимый метод в инспекторе. У компонента Toggle нажать "+" внизу, в поле On Value Changed. Перенести в "Object" объект, на котором висит скрипт, который будет обрабатывать событие и в выпадающем списке выбрать необходимую функцию:
