Class EventSystem
Inherited Members
Namespace: UnityEngine.EventSystems
Assembly: UnityEngine.UI.dll
Syntax
[AddComponentMenu("Event/Event System")]
[DisallowMultipleComponent]
public class EventSystem : UIBehaviour
Constructors
EventSystem()
Declaration
protected EventSystem()
Properties
alreadySelecting
Returns true if the EventSystem is already in a SetSelectedGameObject.
Declaration
public bool alreadySelecting { get; }
Property Value
| Type | Description |
|---|---|
| bool |
current
Return the current EventSystem.
Declaration
public static EventSystem current { get; set; }
Property Value
| Type | Description |
|---|---|
| EventSystem |
currentInputModule
The currently active EventSystems.BaseInputModule.
Declaration
public BaseInputModule currentInputModule { get; }
Property Value
| Type | Description |
|---|---|
| BaseInputModule |
currentSelectedGameObject
The GameObject currently considered active by the EventSystem.
Declaration
public GameObject currentSelectedGameObject { get; }
Property Value
| Type | Description |
|---|---|
| GameObject |
firstSelectedGameObject
Only one object can be selected at a time. Think: controller-selected button.
Declaration
public GameObject firstSelectedGameObject { get; set; }
Property Value
| Type | Description |
|---|---|
| GameObject |
isFocused
Flag to say whether the EventSystem thinks it should be paused or not based upon focused state.
Declaration
public bool isFocused { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Remarks
Used to determine inside the individual InputModules if the module should be ticked while the application doesnt have focus.
lastSelectedGameObject
Declaration
[Obsolete("lastSelectedGameObject is no longer supported")]
public GameObject lastSelectedGameObject { get; }
Property Value
| Type | Description |
|---|---|
| GameObject |
pixelDragThreshold
The soft area for dragging in pixels.
Declaration
public int pixelDragThreshold { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
sendNavigationEvents
Should the EventSystem allow navigation events (move / submit / cancel).
Declaration
public bool sendNavigationEvents { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Methods
IsPointerOverGameObject()
Is the pointer with the given ID over an EventSystem object?
Declaration
public bool IsPointerOverGameObject()
Returns
| Type | Description |
|---|---|
| bool |
IsPointerOverGameObject(int)
Is the pointer with the given ID over an EventSystem object?
Declaration
public bool IsPointerOverGameObject(int pointerId)
Parameters
| Type | Name | Description |
|---|---|---|
| int | pointerId |
Returns
| Type | Description |
|---|---|
| bool |
Remarks
If you use IsPointerOverGameObject() without a parameter, it points to the "left mouse button" (pointerId = -1); therefore when you use IsPointerOverGameObject for touch, you should consider passing a pointerId to it Note that for touch, IsPointerOverGameObject should be used with ''OnMouseDown()'' or ''Input.GetMouseButtonDown(0)'' or ''Input.GetTouch(0).phase == TouchPhase.Began''.
Examples
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class MouseExample : MonoBehaviour
{
void Update()
{
// Check if the left mouse button was clicked
if (Input.GetMouseButtonDown(0))
{
// Check if the mouse was clicked over a UI element
if (EventSystem.current.IsPointerOverGameObject())
{
Debug.Log("Clicked on the UI");
}
}
}
}
OnApplicationFocus(bool)
Declaration
protected virtual void OnApplicationFocus(bool hasFocus)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | hasFocus |
OnDisable()
Declaration
protected override void OnDisable()
Overrides
OnEnable()
Declaration
protected override void OnEnable()
Overrides
RaycastAll(PointerEventData, List<RaycastResult>)
Raycast into the scene using all configured BaseRaycasters.
Declaration
public void RaycastAll(PointerEventData eventData, List<RaycastResult> raycastResults)
Parameters
| Type | Name | Description |
|---|---|---|
| PointerEventData | eventData | Current pointer data. |
| List<RaycastResult> | raycastResults | List of 'hits' to populate. |
SetSelectedGameObject(GameObject)
Set the object as selected. Will send an OnDeselect the the old selected object and OnSelect to the new selected object.
Declaration
public void SetSelectedGameObject(GameObject selected)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | selected | GameObject to select. |
SetSelectedGameObject(GameObject, BaseEventData)
Set the object as selected. Will send an OnDeselect the the old selected object and OnSelect to the new selected object.
Declaration
public void SetSelectedGameObject(GameObject selected, BaseEventData pointer)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | selected | GameObject to select. |
| BaseEventData | pointer | Associated EventData. |
SetUITookitEventSystemOverride(EventSystem, bool, bool)
Sets how UI Toolkit runtime panels receive events and handle selection when interacting with other objects that use the EventSystem, such as components from the Unity UI package.
Declaration
public static void SetUITookitEventSystemOverride(EventSystem activeEventSystem, bool sendEvents = true, bool createPanelGameObjectsOnStart = true)
Parameters
| Type | Name | Description |
|---|---|---|
| EventSystem | activeEventSystem | The EventSystem used to override UI Toolkit panel events and selection. If activeEventSystem is null, UI Toolkit panels will use current enabled EventSystem or, if there is none, the default InputManager-based event system will be used. |
| bool | sendEvents | If true, UI Toolkit events will come from this EventSystem instead of the default InputManager-based event system. |
| bool | createPanelGameObjectsOnStart | If true, UI Toolkit panels' unassigned selectableGameObject will be automatically initialized with children GameObjects of this EventSystem on Start. |
Start()
Declaration
protected override void Start()
Overrides
ToString()
Returns the name of the object.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string | The name returned by ToString. |
Overrides
Update()
Declaration
protected virtual void Update()
UpdateModules()
Recalculate the internal list of BaseInputModules.
Declaration
public void UpdateModules()