Version: 2022.3
public bool MoveArrayElement (int srcIndex, int dstIndex);

描述

将数组元素从 srcIndex 移到 dstIndex。

using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class MoveArrayElementExample : ScriptableObject { public List<string> m_Data;

[MenuItem("Example/SerializedProperty/MoveArrayElementExample Example")] static void MenuCallback() { MoveArrayElementExample obj = ScriptableObject.CreateInstance<MoveArrayElementExample>(); obj.m_Data = new List<string>() { "cat", "The", "jumped.", "big" };

SerializedObject serializedObject = new SerializedObject(obj); SerializedProperty arrayProperty = serializedObject.FindProperty("m_Data");

arrayProperty.MoveArrayElement(0, 1); arrayProperty.MoveArrayElement(3, 1);

serializedObject.ApplyModifiedProperties();

// Outputs "The big cat jumped." Debug.Log("Final array contents: " + string.Join(" ", obj.m_Data)); } }