Button

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 

版权声明:本文为my183100521原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。