50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
|
|
#if UNITY_EDITOR
|
|
using System;
|
|
using UnityEditor;
|
|
|
|
using UnityEngine;
|
|
|
|
[CustomEditor(typeof(CubeConfigData))]
|
|
[ExecuteInEditMode]
|
|
public class PropDataEditor : Editor
|
|
{
|
|
public override void OnInspectorGUI()
|
|
{
|
|
CubeConfigData gridData = (CubeConfigData)target;
|
|
|
|
DrawDefaultInspector();
|
|
|
|
if (GUILayout.Button("Initialize Grid"))
|
|
{
|
|
gridData.InitializePropGrid();
|
|
}
|
|
var arr = gridData.GetArray();
|
|
// 显示和编辑二维数组
|
|
if (gridData.PropArr != null)
|
|
{
|
|
for (int i = gridData.PropRows - 1; i >= 0; i--)
|
|
{
|
|
EditorGUILayout.BeginHorizontal();
|
|
for (int j = 0; j < gridData.PropColumns; j++)
|
|
{
|
|
// arr[i, j] = EditorGUILayout.IntField(i + "x" + j,arr[i, j]);
|
|
// Debug.Log(i + "x" + j);
|
|
arr[i, j] = EditorGUILayout.IntField(arr[i, j]);
|
|
}
|
|
|
|
EditorGUILayout.EndHorizontal();
|
|
}
|
|
}
|
|
|
|
if (GUILayout.Button("Save Grid"))
|
|
{
|
|
gridData.Serializable2DArray(arr);
|
|
// 修改数据后
|
|
EditorUtility.SetDirty(gridData);
|
|
AssetDatabase.SaveAssets();
|
|
}
|
|
}
|
|
}
|
|
#endif
|