internal Builder(ShaderContainer container, string name, ShaderType returnType, ShaderFoundry.Block.Builder parentBlockBuilder) { this.container = container; this.name = name; this.returnType = returnType; functionHandle = container.CreateFunctionInternal(); this.parentBlockBuilder = parentBlockBuilder; }
// Construct a function with specified return type in the specified block scope public Builder(ShaderFoundry.Block.Builder blockBuilder, string name, ShaderType returnType) : this(blockBuilder.Container, name, returnType, blockBuilder) { }
// Construct a function with void return type in the specified block scope public Builder(ShaderFoundry.Block.Builder blockBuilder, string name) : this(blockBuilder.Container, name, blockBuilder.Container._void, blockBuilder) { }