Kaynağa Gözat

Add priority to material extensions

master
Palash Bansal 2 yıl önce
ebeveyn
işleme
f474d55d4b
No account linked to committer's email address

+ 1
- 0
src/materials/MaterialExtender.ts Dosyayı Görüntüle

} }


material.materialExtensions = [...material.materialExtensions || [], ...exts] material.materialExtensions = [...material.materialExtensions || [], ...exts]
.sort((a, b)=>(b.priority || 0) - (a.priority || 0))


if (!(material as any).__ext_beforeRenderListen) { if (!(material as any).__ext_beforeRenderListen) {
(material as any).__ext_beforeRenderListen = true (material as any).__ext_beforeRenderListen = true

+ 5
- 0
src/materials/MaterialExtension.ts Dosyayı Görüntüle

*/ */
getUiConfig?: (material: IMaterial, refreshUi: UiObjectConfig['uiRefresh']) => UiObjectConfig | undefined getUiConfig?: (material: IMaterial, refreshUi: UiObjectConfig['uiRefresh']) => UiObjectConfig | undefined


/**
* Higher priority extensions are applied first.
*/
priority?: number // default 0

updateVersion?: number updateVersion?: number
// eslint-disable-next-line @typescript-eslint/naming-convention // eslint-disable-next-line @typescript-eslint/naming-convention
__setDirty?: () => void // set by MaterialExtender, this increments updateVersion, which ends up calling needsUpdate on all the materials with this extension __setDirty?: () => void // set by MaterialExtender, this increments updateVersion, which ends up calling needsUpdate on all the materials with this extension

Loading…
İptal
Kaydet