Ostatnio na innym forum dostałem PW z pytaniem jak dodać własną funkcję do OnClick przycisku z poziomu kodu, nic prostszego. Jest to bardziej quicktip, ale nie mamy tutaj odpowiedniego działu na to.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UIclicktest : MonoBehaviour {
public Button EndGameButton;
void EndGame()
{
Application.Quit ();
}
void Start () {
EndGameButton = GameObject.Find("EndGame").GetComponent<Button>();
EndGameButton.onClick.AddListener(()=>{EndGame();});
}
}
Po kolei.
using UnityEngine.UI;
Musimy dodać ten namespace żeby mieć dostęp do metod i klas opisujących UI.
public Button EndGameButton;
Tworzymy zmienną w której będziemy przechowywali odnośnik do naszego przycisku.
void EngGame()
- Prosta metoda zamykająca aplikację. Warto wspomnieć że działa tylko po skompilowaniu do pliku wykonywalnego.
EndGameButton = GameObject.Find("EndGame").GetComponent<Button>();
Wyszukujemy obiekt w scenie, ja swój nazwałem EndGame, znaleziony obiekt będzie GameObject'em, dlatego też od razu pobieramy jego komponent "Button".
EndGameButton.onClick.AddListener(()=>{EndGame();});
W końcu dodajemy swoją metodę do listy.