public override void AddChild(EditorGUIElement child) { if (child != null) { elements.Add(child); Invalidate(); child.SetParent(this); } }
public override bool RemoveChild(EditorGUIElement child) { if (flow_elements.RemoveFirst(e => e.GetElement() == child)) { Invalidate(); return(true); } return(false); }
public override bool RemoveChild(EditorGUIElement child) { if (elements.Remove(child)) { Invalidate(); return(true); } return(false); }
protected override void InitializeInternal() { if (element == null) { element = CreateElement(); element.SetParent(this); element.AddAttachments(GetAttachments()); } element.Initialize(); }
protected override void InitializeInternal() { if (NeedRecreation()) { element = Recreate(); if (element != null) { element.SetParent(this); element.AddAttachments(GetAttachments()); } } element.IfNotNull(e => e.Initialize()); }
public override bool PrepareElementForAttachment(EditorGUIElement element) { element.RemoveAttachments(delegate(EditorGUIElementAttachment attachment) { EditorGUIElementAttachment_Singular cast; if (attachment.Convert <EditorGUIElementAttachment_Singular>(out cast)) { if (cast.singular_id == singular_id) { return(true); } } return(false); }); return(true); }
public void SetParent(EditorGUIElement p) { parent = p; }
public override bool RemoveChild(EditorGUIElement child) { return(row.Remove(child)); }
static public EditorGUIElement InitilizeAndGet(this EditorGUIElement item) { item.Initialize(); return(item); }
public abstract bool RemoveChild(EditorGUIElement child);
public EditorGUIFlowElement(EditorGUIElement e, EditorGUIElementDimension d) { element = e; dimension = d; }
public void SetParent(EditorGUIElement p) { element.SetParent(p); }
public bool Remove(EditorGUIElement element) { return(elements.RemoveFirst(e => e.GetElement() == element)); }
public abstract void AddChild(EditorGUIElement child);
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); }
public virtual bool PrepareElementForAttachment(EditorGUIElement element) { return(true); }
public EditorGUIView(EditorGUIElement e) { element = e; next_draw_id = 1; }
static public T GetAttachment <T>(this EditorGUIElement item) { return(item.GetAttachments <T>().GetFirst()); }
static public IEnumerable <T> GetAttachments <T>(this EditorGUIElement item) { return(item.GetAttachments().Convert <EditorGUIElementAttachment, T>()); }