Получить имя элемента (которому задали имя ранее) в фокусе.
Имена элементов задаются с помощью функции SetNextControlName. Данная функция возвратит имя элемента, если этот элемент имеет имя и находится в фокусе. Данная функция вернет пустую строку, если в фокусе отсутствует элемент или элемент в фокусе не имеет имени.
var login : String = "username"; var login2 : String = "no action here";
function OnGUI () { GUI.SetNextControlName ("user"); login = GUI.TextField (Rect (10,10,130,20), login); login2 = GUI.TextField (Rect (10,40,130,20), login2); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return && GUI.GetNameOfFocusedControl () == "user") { Debug.Log ("Login"); }
if (GUI.Button (new Rect (150,10,50,20), "Login")) Debug.Log ("Login"); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public string login = "username"; public string login2 = "no action here"; void OnGUI() { GUI.SetNextControlName("user"); login = GUI.TextField(new Rect(10, 10, 130, 20), login); login2 = GUI.TextField(new Rect(10, 40, 130, 20), login2); if (Event.current.isKey && Event.current.keyCode == KeyCode.Return && GUI.GetNameOfFocusedControl() == "user") Debug.Log("Login"); if (GUI.Button(new Rect(150, 10, 50, 20), "Login")) Debug.Log("Login"); } }
See Also: SetNextControlName, FocusControl.