public static void ShowSet <T>(this ProtoSet <T> protoSet) where T : Proto { if (protoSet.dataArray.Length > 100) { GUILayout.BeginHorizontal(GUI.skin.box); GUILayout.Label($"Page {selectPages[protoSet.GetType()] + 1} / {protoSet.dataArray.Length / 100 + 1}", GUILayout.Width(80)); if (GUILayout.Button("-", GUILayout.Width(20))) { selectPages[protoSet.GetType()]--; } if (GUILayout.Button("+", GUILayout.Width(20))) { selectPages[protoSet.GetType()]++; } if (selectPages[protoSet.GetType()] < 0) { selectPages[protoSet.GetType()] = protoSet.dataArray.Length / 100; } else if (selectPages[protoSet.GetType()] > protoSet.dataArray.Length / 100) { selectPages[protoSet.GetType()] = 0; } GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal(GUI.skin.box); GUILayout.Label($"index", GUILayout.Width(40)); GUILayout.Label($"ID", GUILayout.Width(40)); GUILayout.Label($"Name"); GUILayout.Label($"TranslateName"); if (SupportsHelper.SupportsRuntimeUnityEditor) { GUILayout.Label($"Show Data", GUILayout.Width(100)); } GUILayout.EndHorizontal(); sv = GUILayout.BeginScrollView(sv, GUI.skin.box); for (int i = selectPages[protoSet.GetType()] * 100; i < Mathf.Min(selectPages[protoSet.GetType()] * 100 + 100, protoSet.dataArray.Length); i++) { GUILayout.BeginHorizontal(); GUILayout.Label($"{i}", GUILayout.Width(40)); if (protoSet.dataArray[i] != null) { GUILayout.Label($"{protoSet.dataArray[i].ID}", GUILayout.Width(40)); GUILayout.Label($"{protoSet.dataArray[i].Name}"); GUILayout.Label($"{protoSet.dataArray[i].name.Translate()}"); if (SupportsHelper.SupportsRuntimeUnityEditor) { if (GUILayout.Button($"Show Data", GUILayout.Width(100))) { ShowItem item = new ShowItem(protoSet.dataArray[i], $"{protoSet.dataArray[i].GetType().Name} {protoSet.dataArray[i].name.Translate()}"); RUEHelper.ShowData(item); } } } else { GUILayout.Label("null"); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); }
public static void ShowSet <T>(this ProtoSet <T> protoSet) where T : Proto { if (ProtoDataUI.Skin != null) { GUI.skin = ProtoDataUI.Skin.GetSkin(); } GUILayout.BeginHorizontal(GUI.skin.box); Search = GUILayout.TextField(Search, GUILayout.Width(200)); if (needSearch) { SearchLDB(protoSet); } GUILayout.Label($"Page {selectPages[protoSet.GetType()] + 1} / {searchResultList.Count / 100 + 1}", GUILayout.Width(80)); if (GUILayout.Button("-", GUILayout.Width(20))) { selectPages[protoSet.GetType()]--; } if (GUILayout.Button("+", GUILayout.Width(20))) { selectPages[protoSet.GetType()]++; } if (selectPages[protoSet.GetType()] < 0) { selectPages[protoSet.GetType()] = searchResultList.Count / 100; } else if (selectPages[protoSet.GetType()] > searchResultList.Count / 100) { selectPages[protoSet.GetType()] = 0; } GUILayout.EndHorizontal(); GUILayout.BeginVertical(GUI.skin.box); GUILayout.BeginHorizontal(); GUILayout.Label($"index", GUILayout.Width(40)); GUILayout.Label($"ID", GUILayout.Width(40)); GUILayout.Label($"Name"); GUILayout.Label($"TranslateName"); if (SupportsHelper.SupportsRuntimeUnityEditor) { GUILayout.Label($"Show Data", GUILayout.Width(100)); } GUILayout.EndHorizontal(); sv = GUILayout.BeginScrollView(sv); for (int i = selectPages[protoSet.GetType()] * 100; i < Mathf.Min(selectPages[protoSet.GetType()] * 100 + 100, searchResultList.Count); i++) { GUILayout.BeginHorizontal(); GUILayout.Label($"{i}", GUILayout.Width(40)); if (searchResultList[i] != null) { GUILayout.Label($"{searchResultList[i].ID}", GUILayout.Width(40)); GUILayout.Label($"{searchResultList[i].Name}"); GUILayout.Label($"{searchResultList[i].name.Translate()}"); if (SupportsHelper.SupportsRuntimeUnityEditor) { if (GUILayout.Button($"Show Data", GUILayout.Width(100))) { ShowItem item = new ShowItem(searchResultList[i], $"{searchResultList[i].GetType().Name} {searchResultList[i].Name.Translate()}"); RUEHelper.ShowData(item); } } } else { GUILayout.Label("null"); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); GUILayout.EndVertical(); }