public void InitilizeAll(GameObject realcutter)
    {
        if (cutter != null)
        {
            try
            {
                control1         = cutter.transform.GetChild(0).gameObject.GetComponent <CutterControler>();
                control1.enabled = false;
            }
            catch { }
            try
            {
                control2         = cutter.transform.GetChild(1).gameObject.GetComponent <CutterControler>();
                control2.enabled = false;
            }
            catch { }
        }
        if (SOManager.singleton.currSceneName == "ZNCM_G")
        {
            Visible(true);
        }

        //gameObject.SetActive(true);
        realCutter = realcutter;
        InitilizeFather(true);
        InitilizeRect();
        InitilizeTracks();
        InitilizeRealTracks();
    }
    void DescendingRefresh()
    {
        int step     = startDescedingIndex < currentDescedingIndex ? 1 : -1;
        int temstart = startDescedingIndex;

        if (stepdistance < 1)
        {
            stepdistance = 1;
        }
        int hideladder = 0;

        while (temstart != currentDescedingIndex)
        {
            List <GameObject> result = mineGroup[temstart];

            if (hideladder > maxdepth)
            {
                SetDescending(false);
                return;
            }

            for (int i = 0; i < hideladder; i++)
            {
                CutterControler.HideGame(result[result.Count - 1 - i]);
            }

            if ((startDescedingIndex - temstart) % stepdistance == 0)
            {
                hideladder++;
            }

            temstart = temstart + step;
        }
    }