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); } }
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(); } }