using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditorInternal;
using UnityEngine;
[CustomEditor(typeof(DialogueTrigger))]
public class DialogueTriggerEditor : Editor
{
private SerializedProperty _conversations;
private void OnEnable()
{
_conversations = serializedObject.FindProperty("conversations");
}
public override void OnInspectorGUI()
{
//base.OnInspectorGUI();
serializedObject.Update();
_conversations.arraySize = EditorGUILayout.IntField("Conversations Size", _conversations.arraySize);
for (int x = 0; x < _conversations.arraySize; x++)
{
var conversation = _conversations.GetArrayElementAtIndex(x);
var conversationName = conversation.FindPropertyRelative("conversationName");
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(conversationName);
EditorGUI.indentLevel++;
var _dialogues = conversation.FindPropertyRelative("Dialogues");
_dialogues.arraySize = EditorGUILayout.IntField("Dialogues size", _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 Conversation"))
{
}
}
EditorGUI.indentLevel--;
EditorGUI.indentLevel--;
}
serializedObject.ApplyModifiedProperties();
}
}
Кажется, что serializedObject содержит старые 3 диалоговых окна с текстовыми именами и предложениями, даже если я установил размер беседы равным 0, а все диалоговые окна также установили в инспекторе значение 0, но при использовании точки останова на строке:
serializedObject.Update();
Я вижу на serializedObject, что он содержит старые диалоги. Либо при запуске игры, либо в редакторе я вижу старые диалоги. И затем при запуске игры он использует эти диалоги.
Но я хочу, чтобы, если я установил размер разговоров на 0 или размер диалогов на 0, чтобы удалить все предложения диалогов, имена всех текстов.
Вот скриншот, показывающий, как использовать точку останова перед запуском игры: есть 3 имени и предложения в диалогах:

А это скриншот редактора: все пусто, размер разговора установлен на 0. Но все же при запуске игры он берет / получает старые диалоги из serializedObject.
Я пока не уверен, где хранятся или хранятся эти старые 3 диалога.
Я пытался убрать предметы для разговоров. Может быть, я должен очистить или сделать что-то новое.
Я даже искал в реестре текст.

А это скриншот при запуске игры. Он продолжает отображаться либо до запуска игры и использования точки останова, либо после запуска игры:
