public static void OnLayerUsageFlagsChanged(ChiselBrushMaterial brushMaterial, LayerUsageFlags prevValue, LayerUsageFlags value) { if (!registeredLookup.Contains(brushMaterial) || (prevValue == value)) { return; } OnBrushMaterialChanged?.Invoke(brushMaterial); }
public static void OnSetDirty(ChiselBrushMaterial brushMaterial) { if (!registeredLookup.Contains(brushMaterial)) { return; } OnBrushMaterialChanged?.Invoke(brushMaterial); }
public static void OnPhysicsMaterialChanged(ChiselBrushMaterial brushMaterial, PhysicMaterial prevValue, PhysicMaterial value) { if (!registeredLookup.Contains(brushMaterial) || (prevValue == value)) { return; } DecRefCount(prevValue); IncRefCount(value); OnBrushMaterialChanged?.Invoke(brushMaterial); }
public static void NotifyContentsModified(ChiselBrushMaterial brushMaterial) { if (brushMaterial == null || !registeredLookup.Contains(brushMaterial)) { return; } RenderMaterialInstance renderMaterialInstance; if (brushMaterialToRenderMaterialLookup.TryGetValue(brushMaterial, out renderMaterialInstance)) { if ((renderMaterialInstance == null && brushMaterial.RenderMaterial) || (renderMaterialInstance != null && renderMaterialInstance.renderMaterial != brushMaterial.RenderMaterial)) { if (renderMaterialInstance != null) { DecRefCount(renderMaterialInstance.renderMaterial); } brushMaterialToRenderMaterialLookup[brushMaterial] = IncRefCount(brushMaterial.RenderMaterial); } } PhysicsMaterialInstance physicsMaterialInstance; if (brushMaterialToPhysicsMaterialLookup.TryGetValue(brushMaterial, out physicsMaterialInstance)) { if ((physicsMaterialInstance == null && brushMaterial.PhysicsMaterial) || (physicsMaterialInstance != null && physicsMaterialInstance.physicsMaterial != brushMaterial.PhysicsMaterial)) { if (physicsMaterialInstance != null) { DecRefCount(physicsMaterialInstance.physicsMaterial); } brushMaterialToPhysicsMaterialLookup[brushMaterial] = IncRefCount(brushMaterial.PhysicsMaterial); } } OnBrushMaterialChanged?.Invoke(brushMaterial); }