在数组的指定索引处插入一个新元素。
插入元素的值未定义,应在此函数调用后显式设置。
其他资源:isArray、arraySize、GetArrayElementAtIndex。
using UnityEditor; using UnityEngine;
public class InsertArrayElementAtIndexExample : ScriptableObject { public string[] m_Data;
[MenuItem("Example/SerializedProperty/InsertArrayElementAtIndex Example")] static void MenuCallback() { InsertArrayElementAtIndexExample obj = ScriptableObject.CreateInstance<InsertArrayElementAtIndexExample>(); obj.m_Data = new string[] { "The", "cat" };
SerializedObject serializedObject = new SerializedObject(obj); SerializedProperty arrayProperty = serializedObject.FindProperty("m_Data");
arrayProperty.InsertArrayElementAtIndex(1); arrayProperty.GetArrayElementAtIndex(1).stringValue = "big";
arrayProperty.InsertArrayElementAtIndex(arrayProperty.arraySize); arrayProperty.GetArrayElementAtIndex(arrayProperty.arraySize - 1).stringValue = "jumped.";
serializedObject.ApplyModifiedProperties();
// Outputs "The big cat jumped." Debug.Log("Final array contents: " + string.Join(" ", obj.m_Data)); } }