public PrettyListViewer( SerializedObject serializedObject, SerializedProperty elements, HeaderCallbackDelegate onDrawHeader, ElementCallbackDelegate onDrawElement, ElementHeightCallbackDelegate elementHeightGetter, ReorderCallbackDelegate onReorder = null, AddCallbackDelegate onAdd = null, RemoveCallbackDelegate onRemove = null ) : base(serializedObject, elements) { drawHeaderCallback = onDrawHeader; drawElementCallback = onDrawElement; elementHeightCallback = elementHeightGetter; if (onReorder != null) { draggable = true; onReorderCallback = onReorder; } else { draggable = false; } if (onAdd != null) { displayAdd = true; onAddCallback = onAdd; } else { displayAdd = false; } if (onRemove != null) { displayRemove = true; onRemoveCallback = onRemove; } else { displayRemove = false; } }
public GenericReorderableList(SerializedObject serializedObject, SerializedProperty elements, bool draggable, bool displayHeader, bool displayAddButton, bool displayRemoveButton) : base(serializedObject, elements, draggable, displayHeader, displayAddButton, displayRemoveButton) { drawElementCallback = new ElementCallbackDelegate(DrawElement); drawHeaderCallback = new HeaderCallbackDelegate(DrawHeader); elementHeightCallback = new ElementHeightCallbackDelegate(ElementHeight); }
public GenericReorderableList(IList elements, Type elementType, bool draggable, bool displayHeader, bool displayAddButton, bool displayRemoveButton) : base(elements, elementType, draggable, displayHeader, displayAddButton, displayRemoveButton) { drawElementCallback = new ElementCallbackDelegate(DrawElement); drawHeaderCallback = new HeaderCallbackDelegate(DrawHeader); elementHeightCallback = new ElementHeightCallbackDelegate(ElementHeight); }
public GenericReorderableList(SerializedObject serializedObject, SerializedProperty elements) : base(serializedObject, elements) { drawElementCallback = new ElementCallbackDelegate(DrawElement); drawHeaderCallback = new HeaderCallbackDelegate(DrawHeader); elementHeightCallback = new ElementHeightCallbackDelegate(ElementHeight); }
public GenericReorderableList(IList elements, Type elementType) : base(elements, elementType) { drawElementCallback = new ElementCallbackDelegate(DrawElement); drawHeaderCallback = new HeaderCallbackDelegate(DrawHeader); elementHeightCallback = new ElementHeightCallbackDelegate(ElementHeight); }
public FoldableReordableList(List <T> list, bool draggable, bool displayHeader, bool displayAddButton, bool displayRemovebutton, string listTitle, float elementHeightFactor, ElementCallbackDelegate elementCallbackDelegate, ElementHeightCallbackDelegate elementHeightCallBack = null) : base(list, typeof(T), draggable, displayHeader, displayAddButton, displayRemovebutton) { this.drawHeaderCallback = (Rect rect) => { rect.x += 15; displayed = EditorGUI.Foldout(rect, displayed, listTitle, true, EditorStyles.foldout); if (displayed) { this.draggable = true; this.displayAdd = true; this.displayRemove = true; } else { this.draggable = false; this.displayAdd = false; this.displayRemove = false; } }; this.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { if (displayed) { rect.y += 2; rect.height -= 5; elementCallbackDelegate(rect, index, isActive, isFocused); } }; this.elementHeightCallback = elementHeightCallBack; if (elementHeightCallback == null) { this.elementHeightCallback = (int index) => { if (displayed) { return(elementHeight * elementHeightFactor); } else { return(0); } }; } }