Как назначить значения кнопок для события - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть объект MainButton с компонентом Button.У компонента есть свойство (или что это такое) по щелчку ().Это свойство может иметь объект и метод, которые будут выполняться нажатием кнопки.Я попытался установить эти значения в инспекторе, но эти значения не сохраняются в префабе, потому что они назначаются из активов, а не из сцены.Как назначить этот метод и объект с помощью программирования?Кто не понял - мне нужно изменить свойства (объект, метод) события «OnClick ()» скриптом.

1 Ответ

0 голосов
/ 15 февраля 2019

Вы ищете Unity.OnClick UnityEvent.

public class Example : MonoBehaviour
{
    //Make sure to attach these Buttons in the Inspector
    public Button m_YourFirstButton, m_YourSecondButton, m_YourThirdButton;

    void Start()
    {
        //Calls the TaskOnClick/TaskWithParameters/ButtonClicked method when you click the Button
        m_YourFirstButton.onClick.AddListener(TaskOnClick);
        m_YourSecondButton.onClick.AddListener(delegate {TaskWithParameters("Hello"); });
        m_YourThirdButton.onClick.AddListener(() => ButtonClicked(42));
        m_YourThirdButton.onClick.AddListener(TaskOnClick);
    }

    void TaskOnClick()
    {
        //Output this to console when Button1 or Button3 is clicked
        Debug.Log("You have clicked the button!");
    }

    void TaskWithParameters(string message)
    {
        //Output this to console when the Button2 is clicked
        Debug.Log(message);
    }

    void ButtonClicked(int buttonNo)
    {
        //Output this to console when the Button3 is clicked
        Debug.Log("Button clicked = " + buttonNo);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...