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