《UGUI源码深度解析》第 22 篇 · 界面小组工作日志
基准:Unity 2022.3.62f2c1 / 本地 UGUI 1.0.0。
人物与项目情节为虚构;源码机制以本地实现为准。
一、鼠标离开了,按钮怎么还亮着?
阿澈已经把事件路由排查清楚,却发现按钮在鼠标移开后仍保持高亮色。我猜 PointerExit 没来,他提醒我:“也许它现在是 Selected,不是 Highlighted。”
我们翻到 Selectable.currentSelectionState,发现状态并非一条简单的 Normal→Hover→Pressed 动画流水线,而是根据若干标记按优先级计算。
二、五种状态有明确优先级
源码原样摘录:
if(!IsInteractable(