EventSystem

class in UnityEngine.EventSystems

/

继承自:EventSystems.UIBehaviour

切换到手册

描述

处理输入、射线投射和发送事件。

EventSystem 负责处理 Unity 场景中的 事件。一个场景应当只包含一个 EventSystem。EventSystem 与许多模块 结合使用,大多时候只是将状态和委托功能保存到 特定的可重写组件中。

当 EventSystem 启动时,它会搜索附加到同一 GameObject 的任何 BaseInputModule, 并将其添加到内部列表中。在更新时,每个附加模块都会收到 一个 UpdateModules 调用,模块可以在其中修改内部状态。所有模块更新完成后, 活动模块将执行 Process 调用。 此时可以进行自定义模块处理。

静态变量

current返回当前 EventSystem。

变量

alreadySelecting如果 EventSystem 已经在 SetSelectedGameObject 中,则返回 true。
currentInputModule当前处于活动状态的 BaseInputModule。
currentSelectedGameObject当前被 EventSystem 视为处于活动状态的 GameObject。
firstSelectedGameObject首先选中的 GameObject。
isFocused标志,用于表明 EventSystem 认为是应该暂停还是不基于聚焦状态。
pixelDragThreshold拖拽操作的容限区域(以像素为单位)。
sendNavigationEventsEventSystem 是否应允许导航事件(移动/提交/取消)。

公共函数

IsPointerOverGameObject具有给定 ID 的指针是否位于 EventSystem 对象上?
RaycastAll使用所有已配置的 BaseRaycaster 将射线投射到场景中。
SetSelectedGameObject将游戏对象设置为选中状态。这会将 OnDeselect 发送到旧的选定对象,并将 OnSelect 发送到新的选定对象。
UpdateModules重新计算 BaseInputModules 的内部列表。

受保护的函数

OnDisable请参阅 MonoBehaviour.OnDisable。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
runInEditMode允许 MonoBehaviour 的特定实例在编辑模式下运行(仅可在 Editor 中使用)。
useGUILayout禁用该属性可跳过 GUI 布局阶段。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
CancelInvoke取消该 MonoBehaviour 上的所有 Invoke 调用。
Invoke在 time 秒后调用 methodName 方法。
InvokeRepeating在 time 秒后调用 methodName 方法,然后每 repeatRate 秒调用一次。
IsInvoking是否有任何待处理的 methodName 调用?
StartCoroutine启动一个协同程序。
StopAllCoroutines停止在该行为上运行的所有协同程序。
StopCoroutine停止在该行为上运行的第一个名为 methodName 的协同程序或存储在 routine 中的协同程序。
GetInstanceID返回对象的实例 ID。
ToString返回对象的名称。
IsActive如果 GameObject 和 Component 处于激活状态,则返回 true。
IsDestroyed如果行为的原生表示已被销毁,则返回 true。

受保护的函数

Awake请参阅 MonoBehaviour.Awake。
OnBeforeTransformParentChanged请参阅 MonoBehaviour.OnBeforeTransformParentChanged。
OnCanvasGroupChanged请参阅 MonoBehaviour.OnCanvasGroupChanged。
OnCanvasHierarchyChanged在父画布的状态发生更改时调用。
OnDestroy请参阅 MonoBehaviour.OnDestroy。
OnDidApplyAnimationProperties请参阅 LayoutGroup.OnDidApplyAnimationProperties。
OnEnable请参阅 MonoBehaviour.OnEnable。
OnRectTransformDimensionsChange如果关联的 RectTransform 的尺寸发生更改,则系统会调用此回调。
OnTransformParentChanged请参阅 MonoBehaviour.OnRectTransformParentChanged。
OnValidate请参阅 MonoBehaviour.OnValidate。
Reset请参阅 MonoBehaviour.Reset。
Start请参阅 MonoBehaviour.Start。

静态函数

print将消息记录到 Unity 控制台(与 Debug.Log 相同)。
Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。

消息

AwakeAwake 在加载脚本实例时调用。
FixedUpdateFrame-rate independent MonoBehaviour.FixedUpdate message for physics calculations.
LateUpdate如果启用了 Behaviour,则每帧调用 LateUpdate。
OnAnimatorIK用于设置动画 IK(反向运动学)的回调。
OnAnimatorMove用于处理动画移动以修改根运动的回调。
OnApplicationFocus当玩家获得或失去焦点时,发送给所有 GameObject。
OnApplicationPause当应用程序暂停时,发送给所有 GameObject。
OnApplicationQuit在应用程序退出前,发送给所有游戏对象。
OnAudioFilterRead如果实现了 OnAudioFilterRead,Unity 将在音频 DSP 链中插入一个自定义滤波器。
OnBecameInvisibleOnBecameInvisible 在渲染器对任何摄像机都不可见时调用。
OnBecameVisibleOnBecameVisible 在渲染器变为对任意摄像机可见时调用。
OnCollisionEnter当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。
OnCollisionEnter2D当传入碰撞体与该对象的碰撞体接触时发送(仅限 2D 物理)。
OnCollisionExit当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。
OnCollisionExit2D当另一个对象上的碰撞体停止接触该对象的碰撞体时发送(仅限 2D 物理)。
OnCollisionStay对应正在接触刚体/碰撞体的每一个碰撞体/刚体,每帧调用一次 :ref::OnCollisionStay。
OnCollisionStay2D在另一个对象上的碰撞体正在接触该对象的碰撞体时发送每个帧(仅限 2D 物理)。
OnConnectedToServer成功连接到服务器后在客户端上调用。
OnControllerColliderHit当该控制器在执行 Move 时撞到碰撞体时调用 OnControllerColliderHit。
OnDestroyDestroying the attached Behaviour will result in the game or Scene receiving OnDestroy.
OnDisconnectedFromServer当连接丢失或与服务器断开连接时,在客户端上调用。
OnDrawGizmos如果您想绘制能够选择并且始终绘制的辅助图标,则可以实现 OnDrawGizmos。
OnDrawGizmosSelected如果选择了对象,则实现 OnDrawGizmosSelected 来绘制辅助图标。
OnEnable该函数在对象变为启用和激活状态时调用。
OnFailedToConnect出于某种原因连接尝试失败时,在客户端上调用。
OnFailedToConnectToMasterServer在连接到 MasterServer 时发生问题的情况下,在客户端或服务器上调用。
OnGUI系统调用 OnGUI 来渲染和处理 GUI 事件。
OnJointBreak在附加到相同游戏对象的关节断开时调用。
OnJointBreak2D在附加到相同游戏对象的 Joint2D 断开时调用。
OnMasterServerEvent在从 MasterServer 报告事件时,在客户端或服务器上调用。
OnMouseDown OnMouseDown is called when the user has pressed the mouse button while over the Collider.
OnMouseDragOnMouseDrag is called when the user has clicked on a Collider and is still holding down the mouse.
OnMouseEnterCalled when the mouse enters the Collider.
OnMouseExitCalled when the mouse is not any longer over the Collider.
OnMouseOverCalled every frame while the mouse is over the Collider.
OnMouseUp当用户松开鼠标按钮时,将调用 OnMouseUp。
OnMouseUpAsButtonOnMouseUpAsButton is only called when the mouse is released over the same Collider as it was pressed.
OnNetworkInstantiate在已通过 Network.Instantiate 进行网络实例化的对象上调用。
OnParticleCollision当粒子击中碰撞体时,将调用 OnParticleCollision。
OnParticleSystemStoppedOnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded.
OnParticleTriggerOnParticleTrigger is called when any particles in a Particle System meet the conditions in the trigger module.
OnParticleUpdateJobScheduledOnParticleUpdateJobScheduled is called when a Particle System's built-in update job has been scheduled.
OnPlayerConnected每当有新玩家成功连接,就在服务器上调用。
OnPlayerDisconnected每当有玩家与服务器断开连接,就在服务器上调用。
OnPostRenderOnPostRender is called after a camera finished rendering the Scene.
OnPreCullOnPreCull is called before a camera culls the Scene.
OnPreRenderOnPreRender is called before a camera starts rendering the Scene.
OnRenderImageOnRenderImage 在图像的所有渲染操作全部完成后调用。
OnRenderObjectOnRenderObject is called after camera has rendered the Scene.
OnSerializeNetworkView用于在网络视图监视的脚本中自定义变量同步。
OnServerInitialized每当调用 Network.InitializeServer 并且完成时,对该服务器调用该函数。
OnTransformChildrenChanged当 GameObject 的变换的子项列表发生更改时,将调用该函数。
OnTransformParentChanged当 GameObject 的变换的父属性发生更改时,将调用该函数。
OnTriggerEnter OnTriggerEnter is called when the GameObject collides with another GameObject.
OnTriggerEnter2D当另一个对象进入附加到该对象的触发碰撞体时发送(仅限 2D 物理)。
OnTriggerExit当 Collider other 已停止接触该触发器时调用 OnTriggerExit。
OnTriggerExit2D当另一个对象离开附加到该对象的触发碰撞体时发送(仅限 2D 物理)。
OnTriggerStay对于接触触发器的每一个 Collider /other/,每次物理更新调用一次 OnTriggerStay。
OnTriggerStay2D在另一个对象位于附加到该对象的触发碰撞体之内时发送每个帧(仅限 2D 物理)。
OnValidateThis function is called when the script is loaded or a value is changed in the Inspector (Called in the editor only).
OnWillRenderObject如果对象可见并且不是 UI 元素,则为每个摄像机调用 OnWillRenderObject。
Reset重置为默认值。
Start在首次调用任何 Update 方法之前启用脚本时,在帧上调用 Start。
Update如果启用了 MonoBehaviour,则每帧调用 Update。