예제 #1
0
        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);
            }
        }
예제 #2
0
        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();
                    }));
                });
            }
        }
예제 #3
0
        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);
        }