public void AddElementArchetype <T>(HierarchyElementArchetypeV2 <BufferedHierarchyObjectElementV2> hierarchyElementArchetype) where T : BufferedHierarchyObjectElementV2
 {
     hierarchyElementArchetypeBuffer.Add(typeof(T), new HierarchyElementArchetypeBufferV2(this, hierarchyElementArchetype));
 }
 public HierarchyElementArchetypeBufferV2(HierarchyBaseElementV2 hierarchyBaseElement, HierarchyElementArchetypeV2 <BufferedHierarchyObjectElementV2> hierarchyElementArchetype)
 {
     this.hierarchyBaseElement       = hierarchyBaseElement;
     this.hierarchyElementArchetype  = hierarchyElementArchetype;
     bufferedHierarchyObjectElements = new BufferedArray <BufferedHierarchyObjectElementV2>(InstantiateBufferedObjectElement, BufferBufferedObjectElement);
 }
 public void SetTabElementArchetype(HierarchyElementArchetypeV2 <BufferedRectTransform> hierarchyElementArchetype)
 {
     tabHierarchyElementArchetype = hierarchyElementArchetype;
 }