Example #1
0
        //----------------------------------------------------------------------
        object[] GetParametersToInvoke(EditorDebugMethodData _methodData)
        {
            var _params = new object[_methodData.parameters.Length];

            //convert any parameters that should be arrays
            for (int i = 0; i < _methodData.parameters.Length; i++)
            {
                if (_methodData.parameterInfos[i].ParameterType.IsArray)
                {
                    var list          = _methodData.parameters[i];
                    var toArrayMethod = list.GetType().GetMethod("ToArray");
                    var array         = toArrayMethod.Invoke(list, null);

                    _params[i] = array;
                }
                else
                {
                    _params[i] = _methodData.parameters[i];
                }
            }

            return(_params);
        }
        //----------------------------------------------------------------------
        void OnInvokePress(EditorDebugMethodData _methodData)
        {
            var parametersToInvoke = GetParametersToInvoke(_methodData);

            _methodData.method.Invoke(m_this, parametersToInvoke);
        }