Unity 6.3
0 онлайн 34 гостей 3 в системе
Вход

SerializedProperty.DuplicateCommand

Declaration

public bool DuplicateCommand();

Описание

Дублирует элемент массива, на который ссылается SerializedProperty.

Используется для вставки другого элемента в массив, инициализованного с тем же содержимым, что и SerializedProperty. Дополнительные ресурсы: InsertArrayElementAtIndex

using UnityEditor;
using UnityEngine;

public class SerializedPropertyDuplicateCommandExample : ScriptableObject { public string[] m_Data;

[MenuItem("Example/SerializedProperty/DuplicateCommand Example")] static void MenuCallback() { SerializedPropertyDuplicateCommandExample obj = ScriptableObject.CreateInstance<SerializedPropertyDuplicateCommandExample>(); obj.m_Data = new string[] { "A", "B", "C" };

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

SerializedProperty element1 = arrayProperty.GetArrayElementAtIndex(1); element1.DuplicateCommand(); element1.DuplicateCommand();

// Last entry has been shifted from index 2 to index 4 SerializedProperty lastElement = arrayProperty.GetArrayElementAtIndex(4); lastElement.DuplicateCommand();

serializedObject.ApplyModifiedProperties();

// Outputs "A B B B C C" Debug.Log("Final array contents: " + string.Join(" ", obj.m_Data)); } }