0
点赞
收藏
分享

微信扫一扫

UGUI源码解析——MaskUtilities


一:前言

遮罩相关工具类

二:源码解析——RectMask2D相关

——Notify2DMaskStateChanged

UGUI源码解析——MaskUtilities_2d


遍历子对象中挂载了实现IClippable接口的对象(待裁剪对象),调用每个待裁剪对象的RecalculateClipping方法,将待裁剪对象添加到相对应RectMask2D的待裁剪序列中 ——GetRectMaskForClippable

UGUI源码解析——MaskUtilities_2d_02


找到父对象身上的第一个满足条件的RectMask2D组件 ——GetRectMasksForClip

UGUI源码解析——MaskUtilities_unity_03


找到父对象身上所有满足条件的RectMask2D组件,包含自身 ——IsDescendantOrSelf

UGUI源码解析——MaskUtilities_ide_04


判断child对象是否为father对象的子对象或与father对象相同

三:源码解析——Mask相关

——NotifyStencilStateChanged

UGUI源码解析——MaskUtilities_ide_05


遍历子对象中挂载了实现IMaskable接口的对象(可以被自己Mask的对象),调用RecalculateMasking方法,重新计算遮罩 ——GetStencilDepth

UGUI源码解析——MaskUtilities_unity_06


计算自身到根画布之间Mask的个数 ——FindRootSortOverrideCanvas

UGUI源码解析——MaskUtilities_ide_07


查找对象的根画布

举报

相关推荐

0 条评论