public TemplateInstance Build() { var templateInstanceInternal = new TemplateInstanceInternal(); templateInstanceInternal.m_TemplateHandle = template.handle; templateInstanceInternal.m_CustomizationPointListHandle = FixedHandleListInternal.Build(container, customizationPointInstances, (o) => (o.handle)); templateInstanceInternal.m_TagDescriptorListHandle = FixedHandleListInternal.Build(container, tagDescriptors, (o) => (o.handle)); var returnTypeHandle = container.AddTemplateInstanceInternal(templateInstanceInternal); return(new TemplateInstance(container, returnTypeHandle)); }
// private internal TemplateInstance(ShaderContainer container, FoundryHandle handle) { this.container = container; this.handle = handle; this.templateInstance = container?.GetTemplateInstance(handle) ?? TemplateInstanceInternal.Invalid(); }
internal extern FoundryHandle AddTemplateInstanceInternal(TemplateInstanceInternal templateInstance);