protected override void DrawUnifiedElementInternal(Rect rect, T old_value) { T new_value = DrawValueInternal(field_rect, old_value); if (new_value.NotEqualsEX(old_value)) { GetProperty().SetContentValues(new_value); } if (GUI.Button(browse_rect, "Browse")) { ModalEditorWindow.OpenWindow("Browse", delegate(EditorGUIElement_Container_Auto container) { container.AddChildren( Project.GetExternalAssetInfos <T>() .Narrow(predicate) .Convert(a => CreateAssetInfoElement(a)) ); }); } if (GUI.Button(clear_rect, "X")) { GetProperty().SetContentValues(null); } }
protected override void UnwindInternal(int draw_id) { if (is_pressed) { ModalEditorWindow.OpenWindow(GetEditFunction().GetName().StyleEntityForDisplay(), delegate(EditorGUIElement_Container_Auto container) { container.AddChildren( GetEditFunction().GetParameters().Convert(p => p.CreateLabeledEditorGUIElement()) ); container.AddChild(new EditorGUIElement_Button("Execute", delegate() { GetEditFunction().Execute(); })); }); } }
static public void TextDisplay(Rect rect, string value) { string layout_value = GUI.skin.LayoutDefaultText(value, rect.width); if (layout_value.GetNumberLines() > 1) { Rect button_rect; rect.SplitByXRightOffset(32.0f, out rect, out button_rect); if (GUI.Button(button_rect, ". . .")) { ModalEditorWindow.OpenWindow("Text", delegate(EditorGUIElement_Container_Auto container) { container.AddChild(new EditorGUIElement_Text(value)); }); } } GUI.Box(rect, layout_value); }