一、簡介
maskablegraphic是乙個抽象類,繼承了graphic, iclippable, imaskable, imaterialmodifier介面,派生了rawimage,image和text
二、功能
1、 onenable()
protected override void onenable()
}
設定重新計算模板m_shouldrecalculatestencil為true,更新裁剪的父物件updateclipparent,設定material為dirty,setmaterialdirty。如果mesh元件不為空,呼叫maskutilities.notifystencilstatechanged重新計算mask。
2、ondisable()
protected override void ondisable()
}
設定重新計算模板m_shouldrecalculatestencil為true,更新裁剪的父物件updateclipparent,設定material為dirty,setmaterialdirty,stencilmaterial移除了m_maskmaterial,並設定m_maskmaterial為空。如果mesh元件不為空,呼叫maskutilities.notifystencilstatechanged重新計算mask。
3、updateclipparent()
private void updateclipparent()
// don't re-add it if the newparent is inactive
if (newparent != null && newparent.isactive())
newparent.addclippable(this);
m_parentmask = newparent;
}
4、stencilmaterial
1、是乙個靜態類,負責管理模板材質。它維護了乙個型別為matentry的list,外部可以呼叫add、remove和clearall方法來對這個list進行操作。
2、add方法,會建立乙個matentry,並將輸入的basemat以及其他引數賦值給matentry的變數,並建立乙個賦值basemat新的材質custommat。並將stencilid、operation等引數設定給custommat(實際上是shader的引數)。
UGUI原始碼解析 12 RawImage
一 簡介 如果你沒有或不想建立乙個圖集,你可以簡單地使用rawimage來繪製乙個紋理。請記住,每個rawimage都會建立乙個drawcall,因此最好只用於背景或臨時可見圖形。指令碼注釋 繼承maskablegraphic,是未經處理的。二 功能說明 1 setnativesize 重寫mask...
LK原始碼解析 9 總結
form little kernel做為android系統的bootloader,最早用google工程師實現,其後由高通,mtk等晶元廠商做了各自平台的適配。lk的主要功能 初始化硬體模組,如時鐘,中斷,uart,usb,lcd,pmic,emmc ufs等。更新cmdline。其中重要的是區分啟...
UGUI 原始碼之 IndexedSet
list 和 dictionary,是最常用的資料結構之二。先來看看list 和 dictionary的優缺點 1.遍歷,list可以 for 可以 foreach 還可以.foreach 而 dictionary只能foreach unity某些版本使用foreach會由於拆裝箱產生gc list...