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();
 }
示例#3
0
 internal extern FoundryHandle AddTemplateInstanceInternal(TemplateInstanceInternal templateInstance);