介绍事件系统各个类的主要功能
- EventInterFace 定义所有事件的接口 点击 拖拽
- EventSystems 事件的主程序 有Update,Update中 是各个输入Module的 调用检测,每个Module中也是通过EventSystems的Update没帧进行点击(输入)检测、 射线检测调用EventSystems RaycastAll, 遍历各个模块的module(Canvas),( Canvas继承自GraphicRaycst)。调用module的racast方法GraphicRaycst对象中的 racast方法,这里也创建了一个射线ray是用于检测ui与2dui(2dsprite)3d物体(cube等)的检测筛选 ,然后得到遮挡的距离 (后期用于比较与 ui碰撞的距离),接下来调用Raycast方法 检测canvas下所有的子graphic物体,通过RectTransformUtility.RectangleContainsScreenPoint()方法判断点击的点是否在 物体的矩形框RectTransform内,然后调用每个 graphic物体自己的Raycast 方法 里面可能做一些自己的检测() 例如 点击不透明物体 alpha为0的地方不做检测)