public void EditorSaveDungeonToTemplate( ) { if (!Manager.IsAwake <WorldItems> ()) { Manager.WakeUp <WorldItems> ("Frontiers_WorldItems"); } if (!Manager.IsAwake <Structures> ()) { Manager.WakeUp <Structures> ("Frontiers_Structures"); } if (!Manager.IsAwake <Mods> ()) { Manager.WakeUp <Mods> ("__MODS"); } Mods.Get.Editor.InitializeEditor(true); //make sure the dungeon is all set up CreateDungeonTransforms(); EditorFindDungeonPieces(); LinkOcclusionGroups(); DungeonTemplate newTemplate = new DungeonTemplate(); for (int i = 0; i < Modules.Count; i++) { DungeonModule module = Modules [i]; StructureTemplateGroup moduleInteriorGroup = new StructureTemplateGroup(); moduleInteriorGroup.GroupOffset = module.transform.localPosition; moduleInteriorGroup.GroupRotation = module.transform.localRotation.eulerAngles; module.EditorSaveModuleToTemplate(moduleInteriorGroup); newTemplate.Modules.InteriorVariants.Add(moduleInteriorGroup); } for (int i = 0; i < Transitions.Count; i++) { DungeonTransition transition = Transitions [i]; StructureTemplateGroup transitionInteriorGroup = new StructureTemplateGroup(); transitionInteriorGroup.GroupOffset = transition.transform.localPosition; transitionInteriorGroup.GroupRotation = transition.transform.localRotation.eulerAngles; StructureTemplate.AddStaticChildrenToStructureTemplate(transition.transform, transitionInteriorGroup.StaticStructureLayers); StructureTemplate.AddGenericDynamicToStructureTemplate(transition.TriggerParent, ref transitionInteriorGroup.GenericDynamic); newTemplate.Transitions.InteriorVariants.Add(transitionInteriorGroup); } Mods.Get.Editor.SaveMod <DungeonTemplate> (newTemplate, "Dungeon", GetTemplateName(gameObject.name)); }
public void EditorSaveModuleToTemplate(StructureTemplateGroup moduleInteriorGroup) { Transform normalFX = gameObject.FindOrCreateChild("__FX"); Transform normalCol = gameObject.FindOrCreateChild("__COLLIDERS"); Transform normalWIsGen = gameObject.FindOrCreateChild("__WORLDITEMS_GENERIC"); Transform normalWindowsGen = gameObject.FindOrCreateChild("__WINDOWS_GENERIC"); Transform normalDoorsGen = gameObject.FindOrCreateChild("__DOORS_GENERIC"); Transform normalWIsUnique = gameObject.FindOrCreateChild("__WORLDITEMS_UNIQUE"); Transform normalChrs = gameObject.FindOrCreateChild("__ACTION_NODES"); Transform normalDyn = gameObject.FindOrCreateChild("__DYNAMIC"); Transform normalStat = gameObject.FindOrCreateChild("__STATIC"); Transform normalSub = gameObject.FindOrCreateChild("__SUBSTRUCTURES"); Transform normalWindows = gameObject.FindOrCreateChild("__WINDOWS"); Transform normalTriggers = gameObject.FindOrCreateChild("__TRIGGERS"); StructureTemplate.AddStaticChildrenToStructureTemplate(normalStat, moduleInteriorGroup.StaticStructureLayers); StructureTemplate.AddGenericWorldItemsToStructureTemplate(normalWIsGen, ref moduleInteriorGroup.GenericWItems); StructureTemplate.AddUniqueWorldItemsToStructureTemplate(normalWIsUnique, moduleInteriorGroup.UniqueWorlditems); StructureTemplate.AddActionNodesToTemplate(normalChrs, moduleInteriorGroup.ActionNodes); StructureTemplate.AddTriggersToStructureTemplate(normalTriggers, moduleInteriorGroup.Triggers); }