Class EventSystem
Inherited Members
Namespace: UnityEngine.EventSystems
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 |
---|---|
Boolean |
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 |
---|---|
Boolean |
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 |
---|---|
Int32 |
sendNavigationEvents
Should the EventSystem allow navigation events (move / submit / cancel).
Declaration
public bool sendNavigationEvents { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
Methods
IsPointerOverGameObject()
Is the pointer with the given ID over an EventSystem object?
Declaration
public bool IsPointerOverGameObject()
Returns
Type | Description |
---|---|
Boolean |
IsPointerOverGameObject(Int32)
Is the pointer with the given ID over an EventSystem object?
Declaration
public bool IsPointerOverGameObject(int pointerId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | pointerId |
Returns
Type | Description |
---|---|
Boolean |
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(Boolean)
Declaration
protected virtual void OnApplicationFocus(bool hasFocus)
Parameters
Type | Name | Description |
---|---|---|
Boolean | 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. |
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()