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
            }));
        }
Exemple #2
0
 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);
        }
Exemple #4
0
 public static object ConvertTo <T>(object paramater)
 {
     return(ConverterHelper.ConvertTo(typeof(T), paramater));
 }