Unity 6.3
0 онлайн 26 гостей 3 в системе
Вход

Focusable.Focus

Declaration

public void Focus();

Описание

Попытки сосредоточить внимание на этом элементе.

Элемент может не стать фокусным, если:

Текущий фокусированный элемент Панели может быть получен с помощью его FocusController's focusedElement свойства.

До тех пор, пока элемент находится в фокусе, он получает все события клавиатуры и навигации, отправляемые в его Панель.

Если изменение фокуса запрашивается во время распространения другого события, изменение применяется только после того, как все события, находящиеся в очереди событий, будут полностью отправлены и распространены.

Дополнительные ресурсы: IFocusRing, FocusController.focusedElement

using UnityEngine;
using UnityEngine.UIElements;

[RequireComponent(typeof(UIDocument))] public class FocusExample : MonoBehaviour { void OnEnable() { var startGameButton = GetComponent<UIDocument>().rootVisualElement.Q<Button>("StartGame");

startGameButton.RegisterCallback<FocusInEvent>(ev => { Debug.Log("FocusInEvent: button is focused and can be activated with keyboard or gamepad input."); });

Debug.Log("Calling startGameButton.Focus()."); startGameButton.Focus();

var isFocused = startGameButton.focusController.focusedElement == startGameButton; Debug.Log("Immediately after startGameButton.Focus(): isFocused=" + isFocused);

// Expected output: // > Calling startGameButton.Focus(). // > FocusInEvent: button is focused and can be activated with keyboard or gamepad input. // > Immediately after startGameButton.Focus(): isFocused=true } }