版本: Unity 6 (6000.0)
语言英语
  • C#

SerializedProperty.MoveArrayElement

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每一项更改建议,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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)); } }