Beispiel #1
0
        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++;
            }
        }
Beispiel #2
0
        public void CreateDungeonTransitions()
        {
            if (Template == null)
            {
                Debug.Log("TEMPLATE WAS NULL");
                return;
            }

            for (int i = 0; i < Template.Transitions.InteriorVariants.Count; i++)
            {
                //first create the object
                StructureTemplateGroup dungeonTransitionGroup = Template.Transitions.InteriorVariants [i];
                DungeonTransition      dungeonTransition      = CreateDungeonTransition(i);
                dungeonTransition.BuildTransition(dungeonTransitionGroup, DungeonGroup);
                dungeonTransition.FindTriggers();
                //move the group into position
                dungeonTransition.OuterTrigger.OnEnter   += OnEnterDungeon;
                dungeonTransition.OuterTrigger.OnExit    += OnExitDungeon;
                dungeonTransition.InnerTrigger.OnExit    += OnExitTransition;
                dungeonTransition.InnerTrigger.OnEnter   += OnEnterTransition;
                dungeonTransition.transform.localPosition = dungeonTransitionGroup.GroupOffset;
                dungeonTransition.transform.localRotation = Quaternion.Euler(dungeonTransitionGroup.GroupRotation);
            }
        }