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