// 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; } }
// 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); }