IElementBuilderGroup Interface

Summary

[Editor-Only] A manager for a list of Weaver.Editor.Procedural.Scripting.ElementBuilders.
graph BT Type["IElementBuilderGroup"] class Type type-node Implementing0["SimpleScriptBuilder"]-.->Type click Implementing0 "/weaver/api/Weaver.Editor.Procedural/SimpleScriptBuilder" Implementing1["AnimationsScriptBuilder"]-.->Type click Implementing1 "/weaver/api/Weaver.Editor.Procedural/AnimationsScriptBuilder" Implementing2["NamespaceBuilder"]-.->Type click Implementing2 "/weaver/api/Weaver.Editor.Procedural.Scripting/NamespaceBuilder" Implementing3["ScenesScriptBuilder"]-.->Type click Implementing3 "/weaver/api/Weaver.Editor.Procedural/ScenesScriptBuilder" Implementing4["NavigationAreasScriptBuilder"]-.->Type click Implementing4 "/weaver/api/Weaver.Editor.Procedural/NavigationAreasScriptBuilder" Implementing5["ScriptBuilder"]-.->Type click Implementing5 "/weaver/api/Weaver.Editor.Procedural.Scripting/ScriptBuilder" Implementing6["TypeBuilder"]-.->Type click Implementing6 "/weaver/api/Weaver.Editor.Procedural.Scripting/TypeBuilder" Implementing7["ShadersScriptBuilder"]-.->Type click Implementing7 "/weaver/api/Weaver.Editor.Procedural/ShadersScriptBuilder" Implementing8["LayersScriptBuilder"]-.->Type click Implementing8 "/weaver/api/Weaver.Editor.Procedural/LayersScriptBuilder" Implementing9["TagsScriptBuilder"]-.->Type click Implementing9 "/weaver/api/Weaver.Editor.Procedural/TagsScriptBuilder" Implementing10["InjectorScriptBuilder"]-.->Type click Implementing10 "/weaver/api/Weaver.Editor.Procedural/InjectorScriptBuilder"

Syntax

public interface IElementBuilderGroup

Properties

Name Value Summary
CompilationSymbolIndex int
The index in Weaver.Editor.Procedural.Scripting.ScriptBuilder.CompilationSymbols of the symbol in which this element will be declared, I.E. #if SYMBOL.
Elements List<ElementBuilder>
The members to build in this type.
HasExistingMember bool
Returns true if this element is associated with an existing System.Reflection.MemberInfo.
Name string
The name of this member.
Namespace string
The full name of the Weaver.Editor.Procedural.Scripting.NamespaceBuilder containing this object (or null if there isn't one).
Parent IElementBuilderGroup
The builder of the type in which this element will be declared.
RegionIndex int
The index in Weaver.Editor.Procedural.Scripting.ScriptBuilder.Regions of the region in which this element will be declared, I.E. #region Region Name.
ScriptBuilder ScriptBuilder
The Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.ScriptBuilder used by this type and its members to determine Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.Names, as well as for #region names, #if symbols, and the messages used for obsolete members.

Methods

Name Value Summary
AppendFullName(StringBuilder) void
Appends the full name of this member, including its Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.Parent (and any types and namespaces it is nested inside).
GetDescription() string
Gets a description of this group and its elements.
ReleaseElementsToPool() void
Releases all elements currently in this group back to their respective pools.
ReleaseToPool() void
Resets this element and adds it to its object pool to be reused later.

Extension Methods

Name Value Summary
AppendElements(StringBuilder, int) void
Calls Weaver.Editor.Procedural.Scripting.ElementBuilder.AppendScript(System.Text.StringBuilder,System.Int32) on all Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.Elements.
MatchElementCompilationSymbol() void
If all members have the same Weaver.Editor.Procedural.Scripting.ElementBuilder.CompilationSymbolIndex, this type will be given the same value and this method returns true. This method is called on its nested groups as well.
MatchElementRegion() void
If all members have the same Weaver.Editor.Procedural.Scripting.ElementBuilder.RegionIndex, this type will be given the same value and this method returns true. This method is called on its nested groups as well.
PrepareMembersToBuild(bool, bool) void
Calls Weaver.Editor.Procedural.Scripting.ElementBuilder.PrepareToBuild(System.Boolean,System.Boolean@) on all Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.Elements.
ResolveMemberNamingConflicts() void
Calls Weaver.Editor.Procedural.Scripting.ElementBuilder.ResolveNamingConflicts(System.Collections.Generic.Dictionary{System.String,Weaver.Editor.Procedural.Scripting.ElementBuilder}) on all Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.Elements.
SortElements(Comparison<ElementBuilder>) void
Sorts the Weaver.Editor.Procedural.Scripting.IElementBuilderGroup.Elements list using the specified `comparison` and maintaining the order of any elements with an identical comparison (unlike the standard System.Collections.Generic.List`1.Sort(System.Comparison{`0}) method).

This method is also called recursively for any nested groups.