Button Click 触发过程
流程1. EventSystem的Update
protected virtual void Update()
{
if (current != this)
return;
TickModules(); //遍历并刷新所有的InputModules,更新Modules中的m_LastMousePosition、m_MousePosition
//..略..//
//执行当前InputModule的Process,由此开始判断事件
if (!changedModule && m_CurrentInputModule != null)
m_CurrentInputModule.Process();
}
流程2. InputModule先会进行对外设输入的检测(鼠标),来更新导航或是确定操作。
public override void Process()
{
if (!eventSystem.isFocused && ShouldIgnoreEventsOnNoFocus())
return;
//向当前选中的目标执行UpdateSelectedHandler,并返回是否执行了
bool usedEvent = SendUpdateEventToSelectedObject();
// case 1004066