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