Files
2026-06-04 11:42:34 +02:00

4030 lines
113 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
// Token: 0x02000E5D RID: 3677
public class GameRoot : MonoBehaviour
{
// Token: 0x0601E51B RID: 124187 RVA: 0x00848618 File Offset: 0x00846818
private void OLMBIJHJGOI()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E51C RID: 124188 RVA: 0x00848628 File Offset: 0x00846828
public static void IFPBBAOJKFI(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E51D RID: 124189 RVA: 0x00848638 File Offset: 0x00846838
public static IEnumerator JBNNCJDALNP(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
GameRoot gameRoot = DNFPCCDFDCH[0];
GameRoot gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
Dictionary<Transform, Transform> dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
foreach (KeyValuePair<Transform, Transform> keyValuePair in dictionary)
{
keyValuePair.Key.SetParent(keyValuePair.Value);
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E51E RID: 124190 RVA: 0x00848654 File Offset: 0x00846854
public static void FHHJODIPCNO(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E51F RID: 124191 RVA: 0x00848664 File Offset: 0x00846864
private IEnumerator LKIBODHFMHA()
{
GameObject gameObject = base.gameObject;
gameObject.name = gameObject.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
List<DPIALJIPMPA> list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
List<GameObject> list2 = new List<GameObject>();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
foreach (DPIALJIPMPA dpialjipmpa in GameRoot.ExistingGameSingletons)
{
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
stringBuilder.AppendLine("Marking new objects for destroy:");
foreach (DPIALJIPMPA dpialjipmpa2 in list)
{
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
stringBuilder.AppendLine("Destroying:");
foreach (GameObject gameObject2 in list2)
{
stringBuilder.Append("\t").AppendLine(gameObject2.name);
global::UnityEngine.Object.Destroy(gameObject2);
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
GameObject gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E520 RID: 124192 RVA: 0x00848680 File Offset: 0x00846880
public static IEnumerator KHPBLEGGPOK(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E521 RID: 124193 RVA: 0x0084869C File Offset: 0x0084689C
private void OEHDEPBJFAB()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E522 RID: 124194 RVA: 0x008486AC File Offset: 0x008468AC
private void FNDBDPNMFIO()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E524 RID: 124196 RVA: 0x008486C4 File Offset: 0x008468C4
private void JLDJCNFJHMP()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E525 RID: 124197 RVA: 0x008486D4 File Offset: 0x008468D4
private void CENCJDEAFDL()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E526 RID: 124198 RVA: 0x008486E4 File Offset: 0x008468E4
private void KBIGFKLIPON()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E527 RID: 124199 RVA: 0x008486F4 File Offset: 0x008468F4
public static IEnumerator BMALOHDMCOM(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E528 RID: 124200 RVA: 0x00848710 File Offset: 0x00846910
private IEnumerator KCMHNMPNGCI()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E529 RID: 124201 RVA: 0x0084872C File Offset: 0x0084692C
private IEnumerator NICOCLOFMEF()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E52A RID: 124202 RVA: 0x00848748 File Offset: 0x00846948
private IEnumerator DJAGKCMBIEJ()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E52B RID: 124203 RVA: 0x00848764 File Offset: 0x00846964
public static void BFPMPFONHOG(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E52C RID: 124204 RVA: 0x00848774 File Offset: 0x00846974
private void GLBKBCBIOFJ()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E52D RID: 124205 RVA: 0x00848784 File Offset: 0x00846984
public static IEnumerator INMKOHAMNIP(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E52E RID: 124206 RVA: 0x008487A0 File Offset: 0x008469A0
public static void NMPAEFBAIFJ(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E52F RID: 124207 RVA: 0x008487B0 File Offset: 0x008469B0
private IEnumerator CADEDHJGPMM()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E530 RID: 124208 RVA: 0x008487CC File Offset: 0x008469CC
private IEnumerator PJIPGBLHFNL()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E531 RID: 124209 RVA: 0x008487E8 File Offset: 0x008469E8
public static IEnumerator DHMGNDJHMDB(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E532 RID: 124210 RVA: 0x00848804 File Offset: 0x00846A04
private IEnumerator ILOLPEPJAHA()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E533 RID: 124211 RVA: 0x00848820 File Offset: 0x00846A20
public static void CNLBFDNDCOC(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E534 RID: 124212 RVA: 0x00848830 File Offset: 0x00846A30
public static IEnumerator HNPFEJHKKCN(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E535 RID: 124213 RVA: 0x0084884C File Offset: 0x00846A4C
private void NHLJJOPDMIN()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E536 RID: 124214 RVA: 0x0084885C File Offset: 0x00846A5C
private void ELPAGAAOPFN()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E537 RID: 124215 RVA: 0x0084886C File Offset: 0x00846A6C
public static void PGLGKFFIFPG(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E538 RID: 124216 RVA: 0x0084887C File Offset: 0x00846A7C
private void OAGPPJEGOBC()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E539 RID: 124217 RVA: 0x0084888C File Offset: 0x00846A8C
public static void LJLNGOBPNCA(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E53A RID: 124218 RVA: 0x0084889C File Offset: 0x00846A9C
private void KMCJNIPIKBA()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E53B RID: 124219 RVA: 0x008488AC File Offset: 0x00846AAC
private void ELBDAIAMMGB()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E53C RID: 124220 RVA: 0x008488BC File Offset: 0x00846ABC
private void Awake()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E53D RID: 124221 RVA: 0x008488CC File Offset: 0x00846ACC
private void CMOJIGDGBAB()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E53E RID: 124222 RVA: 0x008488DC File Offset: 0x00846ADC
public static IEnumerator JEKDCFEJEPF(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E53F RID: 124223 RVA: 0x008488F8 File Offset: 0x00846AF8
private IEnumerator EGKGBDDMDDA()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E540 RID: 124224 RVA: 0x00848914 File Offset: 0x00846B14
public static void NNOCDIOFEOG(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E541 RID: 124225 RVA: 0x00848924 File Offset: 0x00846B24
public static IEnumerator AMFEFHPEIOD(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E542 RID: 124226 RVA: 0x00848940 File Offset: 0x00846B40
private IEnumerator FKIJGJJNLOK()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E543 RID: 124227 RVA: 0x0084895C File Offset: 0x00846B5C
public static IEnumerator JHGPKEGCMIJ(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E544 RID: 124228 RVA: 0x00848978 File Offset: 0x00846B78
public static void HMBLABGIIDM(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E545 RID: 124229 RVA: 0x00848988 File Offset: 0x00846B88
private void CGMNEFAINDI()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E546 RID: 124230 RVA: 0x00848998 File Offset: 0x00846B98
public static void JAAEHLMFFFH(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E547 RID: 124231 RVA: 0x008489A8 File Offset: 0x00846BA8
public static IEnumerator BFPFLPLFJKP(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E548 RID: 124232 RVA: 0x008489C4 File Offset: 0x00846BC4
private void NEJLPPFGJPF()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E549 RID: 124233 RVA: 0x008489D4 File Offset: 0x00846BD4
private void NEGJDIFIHOE()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E54A RID: 124234 RVA: 0x008489E4 File Offset: 0x00846BE4
private void HBMDBBNDOPM()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E54B RID: 124235 RVA: 0x008489F4 File Offset: 0x00846BF4
public static IEnumerator AJILMDGAJPO(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E54C RID: 124236 RVA: 0x00848A10 File Offset: 0x00846C10
private void GJGEACMGLKP()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E54D RID: 124237 RVA: 0x00848A20 File Offset: 0x00846C20
public static void AddExistingSingleton(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E54E RID: 124238 RVA: 0x00848A30 File Offset: 0x00846C30
public static IEnumerator OBNCDONFJPG(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E54F RID: 124239 RVA: 0x00848A4C File Offset: 0x00846C4C
public static IEnumerator MGODKFLJAGB(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E550 RID: 124240 RVA: 0x00848A68 File Offset: 0x00846C68
private void OnDestroy()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E551 RID: 124241 RVA: 0x00848A78 File Offset: 0x00846C78
private void DMPIIMLLCEB()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E552 RID: 124242 RVA: 0x00848A88 File Offset: 0x00846C88
private void GICHADGFOJK()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E553 RID: 124243 RVA: 0x00848A98 File Offset: 0x00846C98
private void EGJOBLEGKNP()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E554 RID: 124244 RVA: 0x00848AA8 File Offset: 0x00846CA8
private void OEHHNAFKDLN()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E555 RID: 124245 RVA: 0x00848AB8 File Offset: 0x00846CB8
private IEnumerator PLGEFANFPGN()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E556 RID: 124246 RVA: 0x00848AD4 File Offset: 0x00846CD4
public static IEnumerator FJEDPDNIKAK(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E557 RID: 124247 RVA: 0x00848AF0 File Offset: 0x00846CF0
private void ICPCJPFPLCD()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E558 RID: 124248 RVA: 0x00848B00 File Offset: 0x00846D00
private IEnumerator NOFGFHLAFBF()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E559 RID: 124249 RVA: 0x00848B1C File Offset: 0x00846D1C
public static IEnumerator EFHFNFMJKCD(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E55A RID: 124250 RVA: 0x00848B38 File Offset: 0x00846D38
public static void KMGPPBNHLHC(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E55B RID: 124251 RVA: 0x00848B48 File Offset: 0x00846D48
public static IEnumerator PMEBACKENPF(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E55C RID: 124252 RVA: 0x00848B64 File Offset: 0x00846D64
private void KNDCMAMOONE()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E55D RID: 124253 RVA: 0x00848B74 File Offset: 0x00846D74
public static IEnumerator GJGDNLKGOMI(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E55E RID: 124254 RVA: 0x00848B90 File Offset: 0x00846D90
private IEnumerator GDNJIMAFDEE()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E55F RID: 124255 RVA: 0x00848BAC File Offset: 0x00846DAC
public static void IELFFMDJKPL(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E560 RID: 124256 RVA: 0x00848BBC File Offset: 0x00846DBC
public static IEnumerator PPPAOIPHOIH(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E561 RID: 124257 RVA: 0x00848BD8 File Offset: 0x00846DD8
private IEnumerator JGEPDIBIJIE()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E562 RID: 124258 RVA: 0x00848BF4 File Offset: 0x00846DF4
public static void INKNCAEPCON(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E563 RID: 124259 RVA: 0x00848C04 File Offset: 0x00846E04
public static IEnumerator MergeRoots(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E564 RID: 124260 RVA: 0x00848C20 File Offset: 0x00846E20
private IEnumerator GMBFJHIHJFB()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E565 RID: 124261 RVA: 0x00848C3C File Offset: 0x00846E3C
public static void ENCNGINJOBC(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E566 RID: 124262 RVA: 0x00848C4C File Offset: 0x00846E4C
public static void CKBADJKIHDH(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E567 RID: 124263 RVA: 0x00848C5C File Offset: 0x00846E5C
public static void CFMHCFABOEP(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E568 RID: 124264 RVA: 0x00848C6C File Offset: 0x00846E6C
private void ADIOFMMMFNL()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E569 RID: 124265 RVA: 0x00848C7C File Offset: 0x00846E7C
private void FIDMEJHMGJI()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E56A RID: 124266 RVA: 0x00848C8C File Offset: 0x00846E8C
public static IEnumerator JLOEJGMMPDA(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E56B RID: 124267 RVA: 0x00848CA8 File Offset: 0x00846EA8
private IEnumerator Start()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E56C RID: 124268 RVA: 0x00848CC4 File Offset: 0x00846EC4
private void HNEFHCDMBKK()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E56D RID: 124269 RVA: 0x00848CD4 File Offset: 0x00846ED4
private IEnumerator OMKBNLGFNIL()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E56E RID: 124270 RVA: 0x00848CF0 File Offset: 0x00846EF0
private void FPMMBPEOBEE()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E56F RID: 124271 RVA: 0x00848D00 File Offset: 0x00846F00
public static IEnumerator PHJHFGJFCHD(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E570 RID: 124272 RVA: 0x00848D1C File Offset: 0x00846F1C
private IEnumerator CDHFBOIDMFA()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E571 RID: 124273 RVA: 0x00848D38 File Offset: 0x00846F38
private IEnumerator EBMACIPLEOE()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E573 RID: 124275 RVA: 0x00848D78 File Offset: 0x00846F78
private void FNNEJGDMBNI()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E574 RID: 124276 RVA: 0x00848D88 File Offset: 0x00846F88
private IEnumerator GNNNAOIDMFP()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E575 RID: 124277 RVA: 0x00848DA4 File Offset: 0x00846FA4
public static IEnumerator KCINAMFMFMC(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E576 RID: 124278 RVA: 0x00848DC0 File Offset: 0x00846FC0
public static void FNIIFMKLLGB(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E577 RID: 124279 RVA: 0x00848DD0 File Offset: 0x00846FD0
private IEnumerator ADIMNKKPECO()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E578 RID: 124280 RVA: 0x00848DEC File Offset: 0x00846FEC
private void KJMPKKMGCLA()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E579 RID: 124281 RVA: 0x00848DFC File Offset: 0x00846FFC
private IEnumerator LMMKLDIJLGJ()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E57A RID: 124282 RVA: 0x00848E18 File Offset: 0x00847018
public static void ODIBMFAPHIE(DPIALJIPMPA EJDAIKFLCCL)
{
GameRoot.ExistingGameSingletons.Add(EJDAIKFLCCL);
}
// Token: 0x0601E57B RID: 124283 RVA: 0x00848E28 File Offset: 0x00847028
private void NDHBFLHIAHM()
{
GameRoot.KDHJJOAFAEF.Remove(this);
}
// Token: 0x0601E57C RID: 124284 RVA: 0x00848E38 File Offset: 0x00847038
private IEnumerator POEDAMONBNL()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E57D RID: 124285 RVA: 0x00848E54 File Offset: 0x00847054
private void LELHNBCKIEG()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E57E RID: 124286 RVA: 0x00848E64 File Offset: 0x00847064
private IEnumerator OCEJENEOCJK()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E57F RID: 124287 RVA: 0x00848E80 File Offset: 0x00847080
private void JJEKHMENJFE()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E580 RID: 124288 RVA: 0x00848E90 File Offset: 0x00847090
public static IEnumerator LNKIGCOOJMD(List<GameRoot> DNFPCCDFDCH)
{
if (DNFPCCDFDCH.Count == 2)
{
gameRoot = DNFPCCDFDCH[0];
gameRoot2 = DNFPCCDFDCH[1];
Debug.Log(string.Concat(new object[] { "Merging :", gameRoot, " ", gameRoot2 }));
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.coreSystems.childCount,
" CoreSystems"
}));
dictionary = new Dictionary<Transform, Transform>();
for (int i = 0; i < gameRoot.coreSystems.childCount; i++)
{
Transform child = gameRoot.coreSystems.GetChild(i);
dictionary[child] = gameRoot2.coreSystems;
}
Debug.Log(string.Concat(new object[]
{
"GameRoot0 (",
gameRoot,
") has ",
gameRoot.UI.childCount,
" UI"
}));
for (int j = 0; j < gameRoot.UI.childCount; j++)
{
Transform child2 = gameRoot.UI.GetChild(j);
dictionary[child2] = gameRoot2.UI;
}
enumerator = dictionary.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
KeyValuePair<Transform, Transform> keyValuePair = enumerator.Current;
keyValuePair.Key.SetParent(keyValuePair.Value);
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
yield return null;
if (gameRoot.coreSystems.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.coreSystems.gameObject);
}
if (gameRoot.UI.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.UI.gameObject);
}
yield return null;
for (int k = 0; k < gameRoot.StartupObject.transform.childCount; k++)
{
Transform child3 = gameRoot.StartupObject.transform.GetChild(k);
Debug.LogError("found child" + child3);
}
if (gameRoot.StartupObject.transform.childCount == 0)
{
global::UnityEngine.Object.Destroy(gameRoot.gameObject);
}
GameRoot.Instance = gameRoot2;
yield break;
}
Debug.LogError("Must be exactly 2 GameRoots to merge. Something went wrong!");
yield break;
}
// Token: 0x0601E581 RID: 124289 RVA: 0x00848EAC File Offset: 0x008470AC
private IEnumerator DDOPHPEHNFA()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x0601E582 RID: 124290 RVA: 0x00848EC8 File Offset: 0x008470C8
private void AMNNBMEMJGB()
{
GameRoot.KDHJJOAFAEF.Add(this);
}
// Token: 0x0601E583 RID: 124291 RVA: 0x00848ED8 File Offset: 0x008470D8
private IEnumerator PPHFBMHEPDL()
{
GameObject gameObject4 = base.gameObject;
gameObject4.name = gameObject4.name + "_" + GameRoot.index++.ToString();
if (GameRoot.Instance == null)
{
GameRoot.Instance = this;
this.StartupObject.SetActive(true);
}
else
{
list = new List<DPIALJIPMPA>();
list.AddRange(base.GetComponentsInChildren<SingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<NetworkedSingletonMonoBehaviourBase>(true));
list.AddRange(base.GetComponentsInChildren<ManagedSingletonObject>(true));
Debug.Log(list.Count + " new singletons");
list2 = new List<GameObject>();
stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Marking old objects for destroy:");
enumerator = GameRoot.ExistingGameSingletons.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
DPIALJIPMPA dpialjipmpa = enumerator.Current;
if (dpialjipmpa.MPGPJCKNGEA == JFMDOPIFIOB.DestroyOld)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator).Dispose();
}
stringBuilder.AppendLine("Marking new objects for destroy:");
enumerator2 = list.GetEnumerator();
try
{
while (enumerator2.MoveNext())
{
DPIALJIPMPA dpialjipmpa2 = enumerator2.Current;
if (dpialjipmpa2.MPGPJCKNGEA == JFMDOPIFIOB.DestroyNew)
{
stringBuilder.Append("\t").AppendLine(dpialjipmpa2.JFCOFBFGGFL.name);
list2.Add(dpialjipmpa2.JFCOFBFGGFL);
}
}
}
finally
{
((IDisposable)enumerator2).Dispose();
}
stringBuilder.AppendLine("Destroying:");
enumerator3 = list2.GetEnumerator();
try
{
while (enumerator3.MoveNext())
{
GameObject gameObject5 = enumerator3.Current;
stringBuilder.Append("\t").AppendLine(gameObject5.name);
global::UnityEngine.Object.Destroy(gameObject5);
}
}
finally
{
((IDisposable)enumerator3).Dispose();
}
Debug.Log(stringBuilder.ToString());
yield return null;
yield return GameRoot.MergeRoots(GameRoot.KDHJJOAFAEF);
this.StartupObject.SetActive(true);
}
gameObject3 = new GameObject("BootSequence");
gameObject3.AddComponent<BootSequence>();
yield break;
}
// Token: 0x04004EE6 RID: 20198
[SerializeField]
private GameObject StartupObject;
// Token: 0x04004EE7 RID: 20199
[SerializeField]
private Transform coreSystems;
// Token: 0x04004EE8 RID: 20200
[SerializeField]
private Transform UI;
// Token: 0x04004EE9 RID: 20201
public static GameRoot Instance = null;
// Token: 0x04004EEA RID: 20202
public static int index = 0;
// Token: 0x04004EEB RID: 20203
public static HashSet<DPIALJIPMPA> ExistingGameSingletons = new HashSet<DPIALJIPMPA>();
// Token: 0x04004EEC RID: 20204
private static List<GameRoot> KDHJJOAFAEF = new List<GameRoot>();
}