Страница 1 из 1

Как из скрипта сделать кнопку нажатой?

СообщениеДобавлено: 16 мар 2018, 22:19
Anokrid
Собственно вопрос - можно ли из скрипта "нажать кнопку".
Например у меня есть кнопка "Назад", и у неё в OnClick я завёл несколько действий. Однако я хочу, чтобы нажимая кнопку "Esc" с клавиатуры у меня выполнялись те же действия, что и по нажатию кнопки "Назад".
Вопрос: реально ли провернуть такое через скрипт?
Конечно можно все события из OnClick завести в скрипт и запускать их по нажатию кнопки "Esc", но учитывая что в разных подменю кнопки "назад" делают немного разные вещи, хотелось бы как-нибудь унифицировать всё это, а не заморачиваться для каждого отдельного случая плодя кучу лишнего кода.
Если есть более элегантные решения данной проблемы, буду рад услышать ;;)

Re: Как из скрипта сделать кнопку нажатой?

СообщениеДобавлено: 18 июл 2018, 20:17
kirya_355
Anokrid писал(а):Собственно вопрос - можно ли из скрипта "нажать кнопку".
Например у меня есть кнопка "Назад", и у неё в OnClick я завёл несколько действий. Однако я хочу, чтобы нажимая кнопку "Esc" с клавиатуры у меня выполнялись те же действия, что и по нажатию кнопки "Назад".
Вопрос: реально ли провернуть такое через скрипт?
Конечно можно все события из OnClick завести в скрипт и запускать их по нажатию кнопки "Esc", но учитывая что в разных подменю кнопки "назад" делают немного разные вещи, хотелось бы как-нибудь унифицировать всё это, а не заморачиваться для каждого отдельного случая плодя кучу лишнего кода.
Если есть более элегантные решения данной проблемы, буду рад услышать ;;)



можешь попробовать через switch ,

пишешь в начале
public string action;

потом в OnClick пишешь ,
здесь можешь написать что везде происходит
switch(action){
case "anytext":
вот здесь пишешь индивидуальный код, например при нажатии esc происходит назад .
break;
}

потом просто в инспекторе в поле action пишешь anytext и все выполняется этот кейс , кейсов может быть много , вместо anytext пиши что хочешь, не забывай про break;

Re: Как из скрипта сделать кнопку нажатой?

СообщениеДобавлено: 19 июл 2018, 09:59
1max1
GetComponent<Button>().onClick.Invoke();