utilizing System.Collections;
utilizing System.Collections.Generic;
utilizing UnityEditor;
utilizing UnityEditorInternal;
utilizing UnityEngine;
(CustomEditor(typeof(DialogueTrigger)))
public class DialogueTriggerEditor : Editor
{
non-public SerializedProperty _conversations;
non-public void OnEnable()
{
_conversations = serializedObject.FindProperty("conversations");
}
public override void OnInspectorGUI()
{
//base.OnInspectorGUI();
serializedObject.Replace();
_conversations.arraySize = EditorGUILayout.IntField("Conversations Measurement", _conversations.arraySize);
for (int x = 0; x < _conversations.arraySize; x++)
{
var dialog = _conversations.GetArrayElementAtIndex(x);
var conversationName = dialog.FindPropertyRelative("conversationName");
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(conversationName);
EditorGUI.indentLevel++;
var _dialogues = dialog.FindPropertyRelative("Dialogues");
_dialogues.arraySize = EditorGUILayout.IntField("Dialogues dimension", _dialogues.arraySize);
for (int i = 0; i < _dialogues.arraySize; i++)
{
var dialogue = _dialogues.GetArrayElementAtIndex(i);
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(dialogue, new GUIContent("Dialogue " + i), true);
EditorGUI.indentLevel--;
}
if (_dialogues.arraySize > 0)
{
if (GUILayout.Button("Save Dialog"))
{
}
}
EditorGUI.indentLevel--;
}
serializedObject.ApplyModifiedProperties();
}
}
Estou usando em alguns lugares o editorgui.indentlevel ++; Mas o resultado é o seguinte:

Mas eu quero que seja assim:
Conversations Measurement
Dialog Title
Dialogue dimension
Dialog Title
Dialogue dimension
Dialog Title
Dialogue dimension
Dialog Title
Dialogue dimension
É assim que deve ser no inspetor.
O problema está nesta parte:
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(conversationName);
EditorGUI.indentLevel++;
var _dialogues = dialog.FindPropertyRelative("Dialogues");
_dialogues.arraySize = EditorGUILayout.IntField("Dialogues dimension", _dialogues.arraySize);
Não posso fazer o nome da “conversa” dos “diálogos” e do “tamanho dos diálogos” da mesma forma que eu queria.
Os “diálogos” estão bem, mas os outros não estão.