在unity里使用EditorGUILayout创建一个list<transform>数组
时间: 2024-02-28 15:53:38 浏览: 289
数组和list相互转换
可以使用以下代码在Unity Editor中创建一个List<Transform>数组:
```csharp
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
public class ExampleWindow : EditorWindow
{
private List<Transform> transformList = new List<Transform>();
[MenuItem("Window/Example")]
static void Init()
{
ExampleWindow window = (ExampleWindow)EditorWindow.GetWindow(typeof(ExampleWindow));
window.Show();
}
void OnGUI()
{
EditorGUILayout.LabelField("Transform List", EditorStyles.boldLabel);
// Display the list
for (int i = 0; i < transformList.Count; i++)
{
transformList[i] = (Transform)EditorGUILayout.ObjectField("Element " + i, transformList[i], typeof(Transform), true);
}
// Add a new element to the list
if (GUILayout.Button("Add Element"))
{
transformList.Add(null);
}
}
}
```
该代码创建一个编辑器窗口,并在其中使用EditorGUILayout创建一个List<Transform>数组。在该窗口中,您可以添加、删除和编辑List中的元素。请注意,此代码仅在Unity Editor中运行,不能在游戏中使用。
阅读全文