public static void OnGUI() { GUILayout.BeginVertical("物品搜索", GUI.skin.window, GUILayout.Height(300), GUILayout.ExpandWidth(true)); #region 过滤及翻页 GUILayout.BeginHorizontal(GUI.skin.box); //种类 GUILayout.Label("种类", GUILayout.Width(30)); selectType = GUILayout.SelectionGrid(selectType, typeStrs, 18); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUI.skin.box); //品级 GUILayout.Label("品级", GUILayout.Width(30)); selectQuality = GUILayout.SelectionGrid(selectQuality, qualityStrs, 7, GUILayout.Width(350)); GUILayout.Space(20); //关键词 GUILayout.Label("关键词", GUILayout.Width(45)); searchStr = GUILayout.TextField(searchStr, GUILayout.Width(100)); GUILayout.Space(20); //页数 SearchItems(); maxPage = ItemList.Count / 30; if (ItemList.Count % 30 != 0) { maxPage++; } GUILayout.Label($" 第{nowPage + 1}页 共{maxPage}页", GUILayout.Width(100)); if (GUILayout.Button("上一页", GUILayout.Width(50))) { nowPage--; } if (GUILayout.Button("下一页", GUILayout.Width(50))) { nowPage++; } if (nowPage < 0) { nowPage = maxPage - 1; } if (nowPage >= maxPage) { nowPage = 0; } tmpPage = 0; tmpShow = 0; GUILayout.EndHorizontal(); #endregion //列表 svPos = GUILayout.BeginScrollView(svPos); foreach (var kv in ItemList) { if (tmpPage < nowPage * 30) { tmpPage++; continue; } tmpShow++; GUILayout.BeginHorizontal(GUI.skin.box); GUILayout.Label($"{nowPage * 30 + tmpShow}", GUILayout.Width(40)); GUI.contentColor = ModTool.GetItemQualityColor(kv.Value); if (GUILayout.Button(Tools.instance.Code64ToString(kv.Value["name"].str), GUILayout.Width(100))) { SelectItem = kv.Value; } GUI.contentColor = Color.white; GUILayout.Label($"{Tools.instance.Code64ToString(kv.Value["desc"].str)}"); GUILayout.EndHorizontal(); if (tmpShow >= 30) { break; } } GUILayout.EndScrollView(); GUILayout.EndVertical(); }