public MethodSignature( string name, string paramName, MethodParameterType type, Type parameterType = null ) { this.name = name; this.paramName = paramName; this.type = type; this.parameterType = parameterType; }
public object GetParameterValue(MethodParameterType type) { switch (type) { case MethodParameterType.Bool: return(boolParam); case MethodParameterType.Int: return(intParam); case MethodParameterType.Float: return(floatParam); case MethodParameterType.String: return(stringParam); case MethodParameterType.Enum: return(enumParam.enumObject); case MethodParameterType.UnityObject: return(objectParam); case MethodParameterType.Color: return(colorParam); default: return(null); } }
public static MethodParameters GetMethodParamaters(List <string> inputIds, MethodParameterType type) { MethodParameters paramCollection = new MethodParameters(); if (inputIds.Count == 0) { return(paramCollection); } foreach (var param in inputIds) { paramCollection.Create(CreateParameter(param, SoType.Text, false, type)); } return(paramCollection); }
public MethodParameter(UrlPart urlPart, MethodParameterType type, Term term) { UrlPart = urlPart; Type = type; Term = term; }
public MethodParameterInfo([NotNull] Type parameterType, string name, MethodParameterType methodParameterType) : base(parameterType, name) { MethodParameterType = methodParameterType; }
public static MethodParameter CreateParameter(string name, SoType soType, bool isRequired, MethodParameterType type) { MethodParameter methodParam = new MethodParameter { Name = name, IsRequired = isRequired, MetaData = new MetaData { Description = type.ToString(), DisplayName = name }, SoType = soType, Type = MapHelper.GetTypeBySoType(soType) }; return(methodParam); }
public void InitializeFromMethodInfo( MethodInfo method ) { ParameterInfo[] parameters = method.GetParameters(); if( parameters.Length == 0 ) { methodName = method.Name; type = MethodParameterType.None; } else if( parameters.Length == 1 ){ switch( parameters[0].ParameterType.Name ) { case "String": methodName = method.Name; type = MethodParameterType.String; break; case "Int32": methodName = method.Name; type = MethodParameterType.Int; break; case "Boolean": methodName = method.Name; type = MethodParameterType.Boolean; break; case "Single": methodName = method.Name; type = MethodParameterType.Float; break; } if( parameters[0].ParameterType.IsSubclassOf( typeof(Component) ) || parameters[0].ParameterType.IsSubclassOf( typeof(GameObject) )) { methodName = method.Name; type = MethodParameterType.Object; fullyQualifiedTypeName = parameters[0].ParameterType.AssemblyQualifiedName; } } }
public static void DrawMethodParameterPassing(Rect rect, SerializedProperty property, GUIContent label, System.Type parameterType) { float switchButtonWidth = rect.height; Rect rectContent = new Rect(rect.x, rect.y, rect.width - switchButtonWidth, rect.height); Rect rectButton = new Rect(rect.x + rectContent.width, rect.y, switchButtonWidth, rect.height); SerializedProperty passingNameProperty = property.FindPropertyRelative("passingName"); if (property.isExpanded) { passingNameProperty.stringValue = null; const float typeWidth = 60.0f; rectContent.width -= typeWidth; Rect rectType = new Rect(rectContent.x + rectContent.width - typeWidth * 0.5f, rectContent.y, typeWidth + typeWidth * 0.5f, rectContent.height); SerializedProperty parameterTypeProperty = property.FindPropertyRelative("parameterType"); MethodParameterType parameterEnumType = (MethodParameterType)parameterTypeProperty.enumValueIndex; SerializedProperty parameterProperty = property.FindPropertyRelative("parameter"); if (parameterEnumType == MethodParameterType.Bool && parameterType.IsAssignableFrom(MethodParameter.BoolType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("boolParam"); EditorGUI.PropertyField(rectContent, paramChildProperty, label); } else if (parameterEnumType == MethodParameterType.Int && parameterType.IsAssignableFrom(MethodParameter.IntType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("intParam"); EditorGUI.PropertyField(rectContent, paramChildProperty, label); } else if (parameterEnumType == MethodParameterType.Float && parameterType.IsAssignableFrom(MethodParameter.FloatType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("floatParam"); EditorGUI.PropertyField(rectContent, paramChildProperty, label); } else if (parameterEnumType == MethodParameterType.String && parameterType.IsAssignableFrom(MethodParameter.StringType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("stringParam"); EditorGUI.PropertyField(rectContent, paramChildProperty, label); } else if (parameterEnumType == MethodParameterType.Enum && parameterType.IsAssignableFrom(MethodParameter.EnumType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("enumParam"); EditorGUI.PropertyField(rectContent, paramChildProperty, label); } else if (parameterEnumType == MethodParameterType.UnityObject && MethodParameter.UnityObjectType.IsAssignableFrom(parameterType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("objectParam"); EditorGUI.ObjectField(rectContent, paramChildProperty, parameterType, label); } else if (parameterEnumType == MethodParameterType.Color && parameterType.IsAssignableFrom(MethodParameter.ColorType)) { SerializedProperty paramChildProperty = parameterProperty.FindPropertyRelative("colorParam"); EditorGUI.PropertyField(rectContent, paramChildProperty, label); } else { rectContent = EditorGUI.PrefixLabel(rectContent, label); EditorGUI.HelpBox(rectContent, "Unkonwn Parameter Type", MessageType.Warning); } EditorGUI.PropertyField(rectType, parameterTypeProperty, GUIContent.none); } else { DrawPropertyBindingName(rectContent, passingNameProperty, label, parameterType); } property.isExpanded = EditorGUI.Toggle(rectButton, property.isExpanded, EditorStyles.radioButton); }