private void GenericParameterAdd(Rect buttonrect, ReorderableList list)
        {
            var generic_list = list.ListUnsafe.GetAs <List <GenericParameter> >();

            if (generic_list == null)
            {
                Debug.LogError("Unable to get GenericList!");
            }
            else
            {
                KnownTypeUtils.ShowAddParameterMenu((t) => { AddNewParam(t, generic_list); });
            }
        }
        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
        {
            var    target  = property.GetAs <SerializedType>();
            string content = target.ToString();

            position.height = base.GetPropertyHeight(property, label);
            position        = EditorGUI.PrefixLabel(position, label);

            if (GUI.Button(position, content, EditorStyles.objectField))
            {
                KnownTypeUtils.ShowAddParameterMenu(type =>
                {
                    target.Type     = type?.Type;
                    target.Metadata = type?.Metadata;
                }, true);
            }
        }
Exemple #3
0
        protected override void DrawContent()
        {
            ProxyList.Resize(Node.Inputs.Count);

            drawRect.x     += 2;
            drawRect.width -= 4;

            EditorGUI.BeginChangeCheck();
            {
                var old_rect = drawRect;

                drawRect.y    += 2;
                drawRect.width = drawRect.width - 20;

                //drawRect.y += 20;
                drawRect.height = VariantUtils.FieldHeight;
                string content = Node.InputType.ToString();
                if (GUI.Button(drawRect, content, EditorStyles.objectField))
                {
                    KnownTypeUtils.ShowAddParameterMenu(OnTypeChanged);
                }

                drawRect.x     = old_rect.x;
                drawRect.width = old_rect.width;

                drawRect.y     += VariantUtils.FieldHeight + 4;
                drawRect.height = old_rect.height - drawRect.y;

                var base_y = drawRect.y - old_rect.y + BOTTOM_MARGIN;
                if (DrawerList != null)
                {
                    DrawerList.DoList(drawRect);
                    Size = new Vector2(Size.x, base_y + DrawerList.GetHeight() + 8);
                }
            }
            if (EditorGUI.EndChangeCheck())
            {
                AssetDatabase.SaveAssets();
            }
        }