Files
back_cantanBuilding/Assets/Scripts/SandDigEditorScript/Scriptable/PropDataEditor.cs
2026-05-26 16:15:54 +08:00

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