万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

SerializedPropertyでstring[]やint[]に変換する C#

intValueやstringValueがあるのに int配列

 public static int[] ToIntArrayValue(this UnityEditor.SerializedProperty aProperty)
    {
        int size = aProperty.arraySize;
        var arr = new int[size];

        for(int i=0;i<size;i++)
        {
            var item = aProperty.GetArrayElementAtIndex(i);
            arr[i] = item.intValue;
        }

        return arr;
    }

string配列

 public static string[] ToStringArrayValue(this UnityEditor.SerializedProperty aProperty)
    {
        int size = aProperty.arraySize;
        var arr = new string[size];

        for(int i=0;i<size;i++)
        {
            var item = aProperty.GetArrayElementAtIndex(i);
            arr[i] = item.stringValue;
        }

        return arr;
    }