private void DrawParameters(int method) { ParameterInfo[] mParameters = currentPreset.conversionMethods [currentPreset.chosenMethods [method]].GetParameters(); int paramLength = mParameters.Length; foreach (var item in mParameters) { if (item.ParameterType == typeof(UnityEngine.Vector2)) { paramLength++; } } if (paramLength != currentPreset.chosenMethodsParameters [method].Length) { TextureConverter.LoadMethodParameters(currentPreset, method); } int iOffset = 0; for (int i = 0; i < mParameters.Length; i++) { if (mParameters [i].ParameterType == typeof(UnityEngine.Vector2)) { // Undo.RecordObject (currentPreset, "TextureConvereter Preset Change"); currentPreset.chosenMethodsParameters [method] [i + iOffset] = TextureConverterDrawUtility.DrawParameterInput(typeof(PositionOrValue), currentPreset.chosenMethodsParameters [method] [i + iOffset]); if ((PositionOrValue)currentPreset.chosenMethodsParameters [method] [i + iOffset] == PositionOrValue.UseValue) { // Undo.RecordObject (currentPreset, "TextureConvereter Preset Change"); currentPreset.chosenMethodsParameters [method] [i + iOffset + 1] = TextureConverterDrawUtility.DrawParameterInput(mParameters [i].ParameterType, currentPreset.chosenMethodsParameters [method] [i + iOffset + 1]); } iOffset++; } else { // Undo.RecordObject (currentPreset, "TextureConvereter Preset Change"); currentPreset.chosenMethodsParameters [method] [i + iOffset] = TextureConverterDrawUtility.DrawParameterInput(mParameters [i].ParameterType, currentPreset.chosenMethodsParameters [method] [i + iOffset]); } } }