UGUI源码解析——MaskUtilities

Posted Hello Bug.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UGUI源码解析——MaskUtilities相关的知识,希望对你有一定的参考价值。

一:前言

遮罩相关工具类


二:源码解析——RectMask2D相关

——Notify2DMaskStateChanged

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


——GetRectMaskForClippable

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


——GetRectMasksForClip

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


——IsDescendantOrSelf

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


三:源码解析——Mask相关

——NotifyStencilStateChanged

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


——GetStencilDepth

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


——FindRootSortOverrideCanvas

查找对象的根画布

以上是关于UGUI源码解析——MaskUtilities的主要内容,如果未能解决你的问题,请参考以下文章

UGUI源码解析——IMaskable

UGUI源码解析——ILayoutIgnorer

UGUI源码解析——ILayoutIgnorer

UGUI源码解析——总览

UGUI源码解析——ICanvasElement

UGUI源码解析——IMeshModifier