public static int SelectionList(int selected, string[] list, DoubleClickCallback callback, SingleClickCallback selCallback) { return(SelectionList(selected, list, getListItemStyle("List Item"), callback, selCallback)); }
public static int SelectionList(int selected, GUIContent[] list, GUIStyle elementStyle, DoubleClickCallback callback, SingleClickCallback selCallback) { for (int i = 0; i < list.Length; ++i) { Rect elementRect = GUILayoutUtility.GetRect(list[i], elementStyle); if (elementRect.width > maxListWidth) { elementRect.width = maxListWidth; } bool hover = elementRect.Contains(Event.current.mousePosition); if (hover && Event.current.type == EventType.MouseDown && Event.current.clickCount == 1) { selected = i; Event.current.Use(); if (selCallback != null) { selCallback(i); } } else if (hover && callback != null && Event.current.type == EventType.MouseDown && Event.current.clickCount == 2) { callback(i); Event.current.Use(); } else if (Event.current.type == EventType.Repaint) { elementStyle.Draw(elementRect, list[i], hover, false, i == selected, false); } } return(selected); }
public static int SelectionList(int selected, string[] list, GUIStyle elementStyle, DoubleClickCallback callback, SingleClickCallback selCallback) { GUIContent[] contentList = new GUIContent[list.Length]; for (int i = 0; i < list.Length; ++i) { contentList[i] = new GUIContent(list[i]); } return(SelectionList(selected, contentList, elementStyle, callback, selCallback)); }