public void EditorFindDungeonPieces() { Modules.Clear(); Transitions.Clear(); int moduleNumber = 0; foreach (Transform module in ModuleParent) { DungeonModule dungeonModule = module.gameObject.GetOrAdd <DungeonModule> (); dungeonModule.ModuleNumber = moduleNumber; dungeonModule.ParentDungeon = this; dungeonModule.OcclusionGroup = dungeonModule.gameObject.GetOrAdd <CullingGroup_Manual> (); dungeonModule.Initialize(); Modules.Add(dungeonModule); moduleNumber++; } int transitionNumber = 0; foreach (Transform transition in TransitionParent) { DungeonTransition dungeonTransition = transition.gameObject.GetOrAdd <DungeonTransition> (); dungeonTransition.ParentDungeon = this; dungeonTransition.TransitionNumber = transitionNumber; dungeonTransition.OcclusionGroup = dungeonTransition.gameObject.GetOrAdd <CullingGroup_Manual> (); dungeonTransition.Initialize(); dungeonTransition.FindTriggers(); Transitions.Add(dungeonTransition); transitionNumber++; } }
protected DungeonTransition CreateDungeonTransition(int transitionNum) { //first create the object Transform transitionTransform = TransitionParent.gameObject.FindOrCreateChild(TransitionName(name, transitionNum)); DungeonTransition dungeonTransition = transitionTransform.gameObject.AddComponent <DungeonTransition> (); dungeonTransition.ParentDungeon = this; dungeonTransition.TransitionNumber = transitionNum; dungeonTransition.OcclusionGroup = dungeonTransition.gameObject.AddComponent <CullingGroup_Manual> (); dungeonTransition.Initialize(); Transitions.Add(dungeonTransition); return(dungeonTransition); }