public void DisplayNodes(int index, ODODDQQO soi, GameObject sso_go)

    {
        so_go = sso_go;
        List <Vector2> tmpNodes = new List <Vector2>();

        if (soi != null)
        {
            tmpNodes.AddRange(soi.nodeList);
        }

        if (so_go != null && tmpNodes.Count == 0)
        {
            List <Vector2> arr = ODDDDCDOCC.ODDDCCCQQQ(2, so_go, OQDOOCCDDD.traceOffset);
            if (arr != null)
            {
                if (arr.Count > 1)
                {
                    tmpNodes = arr;
                }
            }
        }
        bool clamped = false;

        so         = soi;
        sideObject = index;
        if (so_editor == null)
        {
            try{
                so_editor = new ODDDDCDOCC(position, tmpNodes, clamped);
            }catch {
            }
        }



        if (so_editor.OODDDQCOCC.Count > 0)
        {
            if ((Vector2)so_editor.OODDDQCOCC[0] == (Vector2)so_editor.OODDDQCOCC[so_editor.OODDDQCOCC.Count - 1])
            {
                so_editor.closed = true;
                so_editor.OODDDQCOCC.RemoveAt(so_editor.OODDDQCOCC.Count - 1);
            }
        }
        if (tmpNodes.Count != 0)
        {
            Rect rect = new Rect(stageSelectionGridWidth, 0, Screen.width - stageSelectionGridWidth, Screen.height);
            so_editor.FrameSelected(rect);
        }
        OQDOOCCDDD.ODDODOCQCC(index, soi, sso_go, so_editor);
        return;
    }
    public void DisplayNodes(int index, ODODDQQO soi, GameObject sso_go)
    {
        so_go = sso_go;
        List<Vector2> tmpNodes = new List<Vector2>();
        if(soi != null) tmpNodes.AddRange(soi.nodeList);

        if(so_go != null && tmpNodes.Count == 0){

        List<Vector2> arr = ODDDDCDOCC.ODDDCCCQQQ(2, so_go, OQDOOCCDDD.traceOffset);
        if(arr != null){
        if(arr.Count > 1){
        tmpNodes = arr;
        }
        }
        }
        bool clamped = false;
        so = soi;
        sideObject = index;
        if (so_editor == null){
        try{
        so_editor = new ODDDDCDOCC(position, tmpNodes, clamped);
        }catch{
        }
        }

        if(so_editor.OODDDQCOCC.Count > 0){
        if((Vector2)so_editor.OODDDQCOCC[0] == (Vector2)so_editor.OODDDQCOCC[so_editor.OODDDQCOCC.Count - 1]){

        so_editor.closed = true;
        so_editor.OODDDQCOCC.RemoveAt(so_editor.OODDDQCOCC.Count - 1);
        }
        }
        if(tmpNodes.Count != 0){
        Rect rect = new Rect(stageSelectionGridWidth, 0, Screen.width - stageSelectionGridWidth, Screen.height);
        so_editor.FrameSelected(rect);
        }
        OQDOOCCDDD.ODDODOCQCC(index, soi, sso_go, so_editor);
        return;
    }