private static string IntPopup(Condition condition, List<IItem> list, string label, int width, bool reloadList) { int fieldValue = 0; if (!string.IsNullOrEmpty(condition.ItemToHave)) { fieldValue = Convert.ToInt32(condition.ItemToHave); } if (condition.FirstLoad || reloadList) { condition.FirstLoad = false; condition.displayedItems = list; } string[] names = new string[condition.displayedItems.Count]; int[] ID = new int[condition.displayedItems.Count]; int index = 0; foreach(IItem s in condition.displayedItems) { names[index] = s.Name; ID[index] = s.ID; index++; } string temp = condition.SearchString; temp = EditorUtils.TextField(temp, "Search", 60, FieldTypeEnum.Middle); EditorGUILayout.PrefixLabel(label); fieldValue = EditorGUILayout.IntPopup(fieldValue, names, ID ,GUILayout.Width(width)); condition.PrepareSearch(temp, list); return fieldValue.ToString(); }