public void BuildTransition(StructureTemplateGroup dungeonTransitionGroup, WIGroup dungeonGroup) { //then add the children for (int j = 0; j < dungeonTransitionGroup.StaticStructureLayers.Count; j++) { StructureTemplate.InstantiateStructureLayer(dungeonTransitionGroup.StaticStructureLayers [j], transform); } //create and find triggers StructureTemplate.InstantiateGenericDynamic(dungeonTransitionGroup.GenericDynamic, TriggerParent, dungeonGroup); }
protected IEnumerator InstanceMeshes( StructureTemplateGroup structureGroup, string childName, List <Renderer> renderers, List <Renderer> lodRenderers, float lodRatio) { renderers.Clear(); if (lodRenderers != null) { lodRenderers.Clear(); } StructurePiece = StructureBase.CreateChild(childName); StructurePiece.parent = null; if (Mode == BuilderMode.Minor) { //minor structures have to set their own offsets StructurePiece.position = MinorParent.Position; StructurePiece.rotation = Quaternion.Euler(MinorParent.Rotation); } else { StructurePiece.ResetLocal(); } StructurePiece.gameObject.layer = Globals.LayerNumSolidTerrain; //TODO this may be unnecessary for (int i = 0; i < structureGroup.StaticStructureLayers.Count; i++) { StructureTemplate.InstantiateStructureLayer(structureGroup.StaticStructureLayers [i], StructurePiece); } StructurePiece.parent = StructureBase.transform; if (Mode == BuilderMode.Minor) { StructurePiece.localPosition = MinorParent.Position; StructurePiece.localRotation = Quaternion.Euler(MinorParent.Rotation); } else { StructurePiece.ResetLocal(); } yield break; }