public CustomizationPoint Build() { var customizationPointInternal = new CustomizationPointInternal { m_NameHandle = container.AddString(name), }; customizationPointInternal.m_InputListHandle = FixedHandleListInternal.Build(container, inputs, (v) => (v.handle)); customizationPointInternal.m_OutputListHandle = FixedHandleListInternal.Build(container, outputs, (v) => (v.handle)); customizationPointInternal.m_PropertyListHandle = FixedHandleListInternal.Build(container, properties, (v) => (v.handle)); customizationPointInternal.m_DefaultBlockInstanceList = FixedHandleListInternal.Build(container, defaultBlockInstances, (v) => (v.handle)); var returnTypeHandle = container.AddCustomizationPointInternal(customizationPointInternal); return(new CustomizationPoint(container, returnTypeHandle)); }
// private internal CustomizationPoint(ShaderContainer container, FoundryHandle handle) { this.container = container; this.handle = handle; this.customizationPoint = container?.GetCustomizationPoint(handle) ?? CustomizationPointInternal.Invalid(); }
internal extern FoundryHandle AddCustomizationPointInternal(CustomizationPointInternal customizationPoint);