// Token: 0x06000016 RID: 22 RVA: 0x00003624 File Offset: 0x00001824
        public static void Init()
        {
            bool initialized = OldShrineFactory.m_initialized;
            bool flag        = !initialized;

            if (flag)
            {
                DungeonHooks.OnFoyerAwake           += OldShrineFactory.PlaceBreachShrines;
                DungeonHooks.OnPreDungeonGeneration += delegate(LoopDungeonGenerator generator, Dungeon dungeon, DungeonFlow flow, int dungeonSeed)
                {
                    bool flag2 = flow.name != "Foyer Flow" && !GameManager.IsReturningToFoyerWithPlayer;
                    bool flag3 = flag2;
                    if (flag3)
                    {
                        foreach (OldShrineFactory.CustomShrineController customShrineController in UnityEngine.Object.FindObjectsOfType <OldShrineFactory.CustomShrineController>())
                        {
                            bool flag4 = !ShrineFakePrefab.IsFakePrefab(customShrineController);
                            bool flag5 = flag4;
                            if (flag5)
                            {
                                UnityEngine.Object.Destroy(customShrineController.gameObject);
                            }
                        }
                        OldShrineFactory.m_builtShrines = false;
                    }
                };
                OldShrineFactory.m_initialized = true;
            }
        }
Пример #2
0
        // Token: 0x06000064 RID: 100 RVA: 0x000061C8 File Offset: 0x000043C8
        public static GameObject Clone(GameObject obj)
        {
            bool flag       = ShrineFakePrefab.IsFakePrefab(obj);
            bool activeSelf = obj.activeSelf;
            bool flag2      = activeSelf;

            if (flag2)
            {
                obj.SetActive(false);
            }
            GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(obj);
            bool       flag3      = activeSelf;

            if (flag3)
            {
                obj.SetActive(true);
            }
            foreach (object obj2 in gameObject.GetComponentInChildren <Transform>())
            {
                UnityEngine.Object.DontDestroyOnLoad(gameObject);
            }
            ShrineFakePrefab.ExistingFakePrefabs.Add(gameObject);
            return(gameObject);
        }