From 15e67cfb63caf88c870a52f17bc59da94d7e1ac3 Mon Sep 17 00:00:00 2001 From: foulston Date: Fri, 30 Jun 2017 01:46:09 -0700 Subject: [PATCH] Fix for Unity 2017.1 --- .../List/Editor/ReorderableList.cs | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/Assets/ReorderableList/List/Editor/ReorderableList.cs b/Assets/ReorderableList/List/Editor/ReorderableList.cs index eaf7498..33990d1 100644 --- a/Assets/ReorderableList/List/Editor/ReorderableList.cs +++ b/Assets/ReorderableList/List/Editor/ReorderableList.cs @@ -1872,26 +1872,42 @@ static class Internals { static Internals() { dragDropValidation = System.Type.GetType("UnityEditor.EditorGUI, UnityEditor").GetMethod("ValidateObjectFieldAssignment", BindingFlags.NonPublic | BindingFlags.Static); - dragDropValidationParams = new object[3]; - appendDragDrop = typeof(SerializedProperty).GetMethod("AppendFoldoutPPtrValue", BindingFlags.NonPublic | BindingFlags.Instance); - appendDragDropParams = new object[1]; } internal static Object ValidateObjectDragAndDrop(Object[] references, SerializedProperty property) { +#if UNITY_2017_1_OR_NEWER + dragDropValidationParams = GetParams(ref dragDropValidationParams, 4); dragDropValidationParams[0] = references; dragDropValidationParams[1] = null; dragDropValidationParams[2] = property; - + dragDropValidationParams[3] = 0; +#else + dragDropValidationParams = GetParams(ref dragDropValidationParams, 3); + dragDropValidationParams[0] = references; + dragDropValidationParams[1] = null; + dragDropValidationParams[2] = property; +#endif return dragDropValidation.Invoke(null, dragDropValidationParams) as Object; } internal static void AppendDragAndDropValue(Object obj, SerializedProperty list) { + appendDragDropParams = GetParams(ref appendDragDropParams, 1); appendDragDropParams[0] = obj; appendDragDrop.Invoke(list, appendDragDropParams); } + + private static object[] GetParams(ref object[] parameters, int count) { + + if (parameters == null) { + + parameters = new object[count]; + } + + return parameters; + } } } }