private static void LoadRecursionTwice(GameObject parentGo, BinaryNode domNode, GameObject go) { if (domNode == domNode.OwnerDocument.Root) { GameSerializer.LoadComponets(domNode, go); int num = -1; for (int i = 0; i < domNode.GetChildNum(); i++) { BinaryNode child = domNode.GetChild(i); if (child.GetName() == "CHD") { num++; GameObject gameObject = go.transform.GetChild(num).gameObject; if (!(gameObject == null)) { GameSerializer.LoadRecursionTwice(null, child, gameObject); } } } } else { BinaryNode parentNode = domNode.ParentNode; for (int j = 0; j < parentNode.GetChildNum(); j++) { BinaryNode child2 = parentNode.GetChild(j); if (!(child2.GetName() != "CHD")) { string attribute = GameSerializer.GetAttribute(child2, "ON"); if (!(attribute != go.name)) { GameSerializer.LoadComponets(child2, go); if (child2.GetChildNum() > 0 && go.transform.childCount > 0) { BinaryNode child3 = child2.GetChild(0); for (int k = 0; k < go.transform.childCount; k++) { GameObject gameObject2 = go.transform.GetChild(k).gameObject; GameSerializer.LoadRecursionTwice(null, child3, gameObject2); } } domNode = child2; } } } } string nodeAttr = GameSerializer.GetNodeAttr(domNode, "DIS"); if (nodeAttr != null) { go.SetActive(false); } else { go.SetActive(true); } }