public object GetValue(string memberName, object paramater) { MethodInfo method = this._myType.GetMethod(memberName); if (method == null) { return(null); } if (paramater == null) { return(method.Invoke(this._instance, null)); } ParameterInfo parameterInfo = Enumerable.FirstOrDefault <ParameterInfo>(method.GetParameters()); if (parameterInfo == null) { return(this.GetValue(memberName)); } object obj = ConverterHelper.ConvertTo(parameterInfo.GetType(), paramater); return(method.Invoke(this._instance, new object[] { obj })); }
public static object ConvertTo(Type desiredType, float paramater) { if (desiredType == typeof(int)) { return((int)paramater); } return(ConverterHelper.ConvertTo(desiredType, paramater)); }
public void Command(string memberName, object paramater) { MemberInfo memberInfo = Enumerable.FirstOrDefault <MemberInfo>(this._myType.GetMember(memberName)); if (memberInfo == null) { Debuger.Error(string.Concat(new object[] { "Member not found ! ", memberName, " ", this._myType }), new object[0]); return; } object obj = ConverterHelper.ConvertTo(memberInfo.GetParamaterType(), paramater); if (memberInfo is MethodInfo) { MethodInfo methodInfo = memberInfo as MethodInfo; if (methodInfo.get_ReturnType() == typeof(IEnumerator)) { if (this._insanceBehaviour) { if (!this._insanceBehaviour.get_gameObject().get_activeSelf()) { Debuger.Error("Behaviour is inactive !", new object[0]); } if (obj == null) { this._insanceBehaviour.StartCoroutine(methodInfo.get_Name()); } else { this._insanceBehaviour.StartCoroutine(methodInfo.get_Name(), obj); } } else { MethodBase arg_107_0 = methodInfo; object arg_107_1 = this._instance; object arg_107_2; if (obj == null) { arg_107_2 = null; } else { (arg_107_2 = new object[1])[0] = obj; } object obj2 = arg_107_0.Invoke(arg_107_1, arg_107_2); TaskManager.StartRoutine((IEnumerator)obj2); } return; } } memberInfo.SetMemberValue(this._instance, obj); }
public static object ConvertTo <T>(object paramater) { return(ConverterHelper.ConvertTo(typeof(T), paramater)); }