Только получение строки Stati c для OnValueChanged из InputField - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть InputField, и я нацеливаю свою функцию «FindSoftware» на OnValueChanged, но она не пропустит строку InputField. Я могу вручную ввести то, что будет проходить рядом с тем местом, где я выбираю, какую функцию вызывать («This_is_Static_Boo ...» в приведенном ниже примере), но это бесполезно, поскольку я хочу, чтобы текст, который я сейчас набираю, вводился в него. Как мне сделать это динамически c?

public void FindSoftware(String s)
{
    Debug.Log("Updated string = " + s); // Always blank or whatever I statically tell it to be
}

enter image description here

1 Ответ

1 голос
/ 21 февраля 2020

Существует два типа обратных вызовов для UnityEvent с

При настройке UnityEvent в Инспекторе поддерживаются два типа вызовов функций:

  • Стати c. Stati c вызовы - это предварительно сконфигурированные вызовы с предварительно сконфигурированными значениями, которые устанавливаются в пользовательском интерфейсе. Это означает, что при вызове обратного вызова целевая функция вызывается с аргументом, который был введен в пользовательский интерфейс.

  • Dynami c. Динамические вызовы c вызываются с помощью аргумента, который отправляется из кода, и это связано с типом UnityEvent, который вызывается. Пользовательский интерфейс фильтрует обратные вызовы и отображает только динамические c вызовы, которые действительны для UnityEvent.

Так что при настройке вызова метода просто убедитесь, что вы выбрали тот из раздела Dynamic в верхней части, где перечислены все вызываемые методы, которые принимают string (или заданный тип (типы)) в качестве параметра (ов).

enter image description here

...