public T AddAtleastChild <T>(float weight, float minimum, T child) where T : EditorGUIElement { return(AddChild(EditorGUIElementDimension.Atleast(weight, minimum), child)); }
public T AddWeightedChild <T>(float weight, T child) where T : EditorGUIElement { return(AddChild(EditorGUIElementDimension.Weighted(weight), child)); }
public T AddFixedChild <T>(float width, T child) where T : EditorGUIElement { return(AddChild(EditorGUIElementDimension.Fixed(width), child)); }
public T AddChild <T>(EditorGUIElementDimension d, T child) where T : EditorGUIElement { AddChild(new EditorGUIFlowElement(child, d)); return(child); }
public EditorGUIFlowElement(EditorGUIElement e, EditorGUIElementDimension d) { element = e; dimension = d; }
protected override EditorGUIElement PushState() { int number_elements; EditProperty_Array property = GetEditPropertyArray(); EditorGUIElement_Container_Auto container = new EditorGUIElement_Container_Auto_Simple_VerticalStrip(); Type array_type = property.GetPropertyType().GetIEnumerableType(); if (property.TryGetNumberElements(out number_elements)) { EditorGUIElement_Container_Flow_Line length_strip = container.AddChild(new EditorGUIElement_Container_Flow_Line()) .LabelWithGUIContent("Length"); length_strip.AddWeightedChild(0.6f, new EditorGUIElement_EditPropertyArray_ArraySize(property)); length_strip.AddWeightedChild(0.4f, new EditorGUIElement_Button("+", delegate() { property.InsertElement(0); })); if (number_elements <= 0) { if (array_type.CanBeTreatedAs <UnityEngine.Object>()) { length_strip.AddWeightedChild(0.6f, new EditorGUIElement_DropZone("Drag + Drop", array_type, l => property.ForceContentValues(l) )); } } else { for (int i = 0; i < number_elements; i++) { EditProperty sub_property = property.GetElement(i); EditorGUIElement control = sub_property.CreateEditorGUIElement(); EditorGUIElement_Container_Auto_Simple_HorizontalStrip buttons = new EditorGUIElement_Container_Auto_Simple_HorizontalStrip(); buttons.AddChild(new EditorGUIElement_Button("+v", delegate() { property.InsertElementAfter(sub_property); })); buttons.AddChild(new EditorGUIElement_Button("+^", delegate() { property.InsertElementBefore(sub_property); })); buttons.AddChild(new EditorGUIElement_Button("-", delegate() { property.RemoveElement(sub_property); })); container.AddChild(new EditorGUIElement_Sideboard( new EditorGUIFlowElement(control, EditorGUIElementDimension.Weighted(1.0f)), new EditorGUIFlowElement(buttons, EditorGUIElementDimension.Fixed(100.0f)) )).LabelWithIndex(property, i, () => ForceRecreation()); } } } else { container.AddChild(new EditorGUIElement_Text("--Disabled(Array lengths are not unified)--")); } return(container); }