void mywindowfunction(int windowid)
    {
        int  h       = ImgHeight;
        int  w       = ImgHeight * 2 + 1;
        Rect ImgRect = new Rect(10, 10, w, h);

        ImgX = (int)GUI.VerticalSlider(new Rect(10 + w, 100, 20, 200), ImgX, 0, 180);
        ImgY = (int)GUI.HorizontalSlider(new Rect(300, 10 + h, 200, 20), ImgY, 0, 180);
        if (isLookLocal)
        {
            GUI.Label(ImgRect, localImg.GetImg(ImgX, ImgY, GetFactory()));
        }
        else if (SelectData != null)
        {
            GUI.Label(ImgRect, SelectData.GetImg(ImgX, ImgY));
        }


        if (ImgX < 2 && ImgY < 2)
        {
            float by = ImgRect.y + ImgRect.height - 20;
            GUI.Label(new Rect(ImgRect.x, ImgRect.y + 3, 60, 20), ST.东 + ST.北 + ST.左, noStyle);
            GUI.Label(new Rect(ImgRect.x, by, 60, 20), ST.东 + ST.南 + ST.左, noStyle);
            GUI.Label(new Rect(ImgRect.x + ImgRect.width / 2 - 60, ImgRect.y + 3, 60, 20), ST.东 + ST.北 + ST.右, noStyle);
            GUI.Label(new Rect(ImgRect.x + ImgRect.width / 2 - 60, by, 60, 20), ST.东 + ST.南 + ST.右, noStyle);
            GUI.Label(new Rect(ImgRect.x + ImgRect.width / 2 + 1, ImgRect.y + 3, 60, 20), ST.西 + ST.北 + ST.右, noStyle);
            GUI.Label(new Rect(ImgRect.x + ImgRect.width / 2 + 1, by, 60, 20), ST.西 + ST.南 + ST.右, noStyle);
            GUI.Label(new Rect(ImgRect.x + ImgRect.width - 60, ImgRect.y + 3, 60, 20), ST.西 + ST.北 + ST.左, noStyle);
            GUI.Label(new Rect(ImgRect.x + ImgRect.width - 60, by, 60, 20), ST.西 + ST.南 + ST.左, noStyle);
        }
        if (GUI.Button(new Rect(ImgRect.x + ImgRect.width, ImgRect.y + 3, 20, 20), "X"))
        {
            isShowImg = false;
            ui.ChangeRecipe.SetActive(false);
            isLookLocal  = false;
            isAreaSelect = false;
        }

        if (GetFactory() != null && isLookLocal)
        {
            if (GUI.Button(new Rect(610, h + 80, 120, 40), $"{ST.移除}{ST.o}{ST.当前星球}\n{ST.全部}{ST.o}{ST.建筑}"))
            {
                RemoverAllBuilding();
            }
            if (GUI.Button(new Rect(735, h + 80, 120, 40), $"{ST.加满}{ST.o}{ST.物流站} {ST.飞船}{ST.和}{ST.翘曲}"))
            {
                AddShip();
            }
            if (GUI.Button(new Rect(860, h + 80, 120, 40), $"{ST.移除}{ST.o}{ST.noConnPaw}"))
            {
                ClearNotConnPaw();
            }
            if (GUI.Button(new Rect(860, h + 120, 120, 40), $"{ST.尝试连接断开传送带}"))
            {
                TryConnBelt();
            }
        }
        if (CheckData() && isLookLocal)
        {
            if (GUI.Button(new Rect(500, h + 80, 100, 40), isAreaSelect ?   "取消": ST.区域选择))
            {
                isAreaSelect = !isAreaSelect;
            }
        }
        if (isAreaSelect)
        {
            recty1 = (int)GUI.VerticalSlider(new Rect(35 + w, 10, 20, h), recty1, h, 0);
            recty2 = (int)GUI.VerticalSlider(new Rect(60 + w, 10, 20, h), recty2, h, 0);
            rectx1 = (int)GUI.HorizontalSlider(new Rect(10, h + 35, w, 20), rectx1, 0, w);
            rectx2 = (int)GUI.HorizontalSlider(new Rect(10, h + 60, w, 20), rectx2, 0, w);
            GUI.Label(new Rect(10, 10, w, h), rectImg.getRect(rectx1, rectx2, recty1, recty2));
            var fd = GetFactory();
            GUI.Label(new Rect(10, h + 80, 200, 500), $"{ rectx1},{rectx2},{recty1},{recty2}");
            if (GUI.Button(new Rect(500, h + 130, 100, 60), ST.制选定区域))
            {
                List <int> id = new List <int>();
                localImg.SelectBuild(fd, id, rectx1, rectx2, recty1, recty2);
                AreaTrue();
                FData.CopyData(fd, id);
                for (int i = 0; i < 30; i++)
                {
                    StartCoroutine(FData.Data.CheckBelt((float)(0.1 + 0.1 * i)));
                }
                SelectData = FData.Data;
                FData.Data.GetImg(ImgX, ImgY);
                info1 = ST.制 + ST.成功 + ":" + SelectData.AllData.Count;
                string temps;
                SelectData.CheckItem(null, out string ts1, out int i1, out temps, out int i2);
                info += temps;
            }
            if (GUI.Button(new Rect(610, h + 130, 120, 60), $"{ST.移除}{ST.o}{ST.选定}{ST.o}{ST.区域}{ST.o}{ST.建筑}"))
            {
                List <int> id = new List <int>();
                localImg.SelectBuild(fd, id, rectx1, rectx2, recty1, recty2);
                RemoveSelectBuild(id);
            }
        }
        if (SelectData != null && !isAreaSelect)
        {
            int buttonW = 160;
            int buttonH = 20;
            if (GUI.Button(new Rect(10, h + 30, buttonW, buttonH), ST.粘贴))
            {
                PasteData(SelectData, ERotationType.Null);
            }
            if (GUI.Button(new Rect(10, h + 50, buttonW, buttonH), ST.赤道 + "(Y)" + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.Y);
            }
            if (GUI.Button(new Rect(10, h + 70, buttonW, buttonH), ST.左右 + "(Z)" + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.Z);
            }
            if (GUI.Button(new Rect(10, h + 90, buttonW, buttonH), ST.东西 + "(X)" + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.X);
            }
            if (GUI.Button(new Rect(10, h + 110, buttonW, buttonH), "XY " + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.XY);
            }
            if (GUI.Button(new Rect(10, h + 130, buttonW, buttonH), "XZ " + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.XZ);
            }
            if (GUI.Button(new Rect(10, h + 150, buttonW, buttonH), "YZ " + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.YZ);
            }
            if (GUI.Button(new Rect(10, h + 170, buttonW, buttonH), "XYZ " + ST.镜像 + ST.粘贴))
            {
                PasteData(SelectData, ERotationType.XYZ);
            }

            int bc = 1;
            if (GUI.Button(new Rect(180, h + 10 + 20 * bc++, 100, 20), ST.北 + ST.半球))
            {
                AreaFalse();
                area[0] = true;
                area[1] = true;
                area[4] = true;
                area[5] = true;
            }
            if (GUI.Button(new Rect(180, h + 10 + 20 * bc++, 100, 20), ST.南 + ST.半球))
            {
                AreaFalse();
                area[2] = true;
                area[3] = true;
                area[6] = true;
                area[7] = true;
            }
            if (GUI.Button(new Rect(180, h + 10 + 20 * bc++, 100, 20), ST.东 + ST.半球))
            {
                AreaFalse();
                area[0] = true;
                area[1] = true;
                area[2] = true;
                area[3] = true;
            }
            if (GUI.Button(new Rect(180, h + 10 + 20 * bc++, 100, 20), ST.西 + ST.半球))
            {
                AreaFalse();
                area[4] = true;
                area[5] = true;
                area[6] = true;
                area[7] = true;
            }
            if (GUI.Button(new Rect(180, h + 10 + 20 * bc++, 100, 20), ST.左 + ST.半球))
            {
                AreaFalse();
                area[1] = true;
                area[3] = true;
                area[5] = true;
                area[7] = true;
            }
            if (GUI.Button(new Rect(180, h + 10 + 20 * bc++, 100, 20), ST.右 + ST.半球))
            {
                AreaFalse();
                area[0] = true;
                area[2] = true;
                area[4] = true;
                area[6] = true;
            }
            bc      = 1;
            area[0] = GUI.Toggle(new Rect(300, h + 20 + 20 * bc++, 100, 20), area[0], $"1:{ST.东},{ST.北},{ST.右}");
            area[1] = GUI.Toggle(new Rect(300, h + 20 + 20 * bc++, 100, 20), area[1], $"2:{ST.东},{ST.北},{ST.左}");
            area[2] = GUI.Toggle(new Rect(300, h + 20 + 20 * bc++, 100, 20), area[2], $"3:{ST.东},{ST.南},{ST.右}");
            area[3] = GUI.Toggle(new Rect(300, h + 20 + 20 * bc++, 100, 20), area[3], $"4:{ST.东},{ST.南},{ST.左}");
            bc      = 1;
            area[4] = GUI.Toggle(new Rect(400, h + 20 + 20 * bc++, 100, 20), area[4], $"5:{ST.西},{ST.北},{ST.右}");
            area[5] = GUI.Toggle(new Rect(400, h + 20 + 20 * bc++, 100, 20), area[5], $"6:{ST.西},{ST.北},{ST.左}");
            area[6] = GUI.Toggle(new Rect(400, h + 20 + 20 * bc++, 100, 20), area[6], $"7:{ST.西},{ST.南},{ST.右}");
            area[7] = GUI.Toggle(new Rect(400, h + 20 + 20 * bc++, 100, 20), area[7], $"8:{ST.西},{ST.南},{ST.左}");
            GUI.Label(new Rect(10, h + 10, 160, 20), "Data Version:" + SelectData.version);
            SelectData.tip  = GUI.TextArea(new Rect(505, h + 10, 300, 150), SelectData.tip.Length > 0?SelectData.tip:ST.DataTip);
            SelectData.Name = GUI.TextArea(new Rect(505, h + 167, 240, 150), SelectData.Name);
            if (GUI.Button(new Rect(740, h + 167, 60, 25), ST.保存))
            {
                SelectData.Name = SelectData.Name.Replace("\\", "").Replace("/", "").Replace("?", "").Replace("|", "").Replace("<", "").Replace(">", "").Replace(":", "").Replace("*", "").Replace("\"", "");
                SelectData.Export();
            }
            if (!isAreaSelect)
            {
                GUI.Label(new Rect(w + 40, 10, 250, haveItemCount * 16), haveItem, haveStyle);
                GUI.Label(new Rect(w + 40, 30 + haveItemCount * 16, 250, noItemCount * 16), noItem, noStyle);
            }
            //area[0] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[0], "1:+X,+Y,+Z");
            //area[1] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[1], "2:+X,+Y, -Z");
            //area[2] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[2], "3:+X, -Y,+Z");
            //area[3] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[3], "4:+X, -Y, -Z");
            //area[4] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[4], "5: -X,+Y,+Z");
            //area[5] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[5], "6: -X,+Y, -Z");
            //area[6] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[6], "7: -X, -Y,+Z");
            //area[7] = GUI.Toggle(new Rect(455, 20 * bc++, 100, 20), area[7], "8: -X, -Y, -Z");
        }

        if (GUI.Button(new Rect(60, 0, 20, 20), "+"))
        {
            ImgHeight   += 20;
            rect.height += 20;
            rect.width  += 40;
            RefreshImg();
        }
        if (GUI.Button(new Rect(80, 0, 20, 20), "-"))
        {
            if (ImgHeight > 400)
            {
                ImgHeight   -= 20;
                rect.height -= 20;
                rect.width  -= 40;
                RefreshImg();
            }
        }
        if (GUI.Button(new Rect(100, 0, 20, 20), "0"))
        {
            ImgHeight   = 400;
            rect.height = 600;
            rect.width  = 1000;
            RefreshImg();
        }
        GUI.DragWindow(new Rect(0, 0, 10000, 10000));
    }
 public Texture2D GetImg(int x, int y)
 {
     return(Img.GetImg(x, y, this));
 }