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()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string |
Overrides
Update()
Declaration
protected virtual void Update()
UpdateModules()
Recalculate the internal list of BaseInputModules.
Declaration
public void UpdateModules()