У меня есть простое окно, в котором я хочу напечатать в консоли значение, которое пользователь пишет в текстовом поле указанного окна при нажатии кнопки. Текст, выводимый на консоль, всегда является текстом по умолчанию (abcd), даже если я его изменяю. Еще одна вещь, которую я обнаружил, заключается в том, что когда я изменяю текст в текстовом поле и нажимаю кнопку возврата, он снова возвращается к значению по умолчанию.
Почему значение inputText
всегда является значением по умолчанию? Как я могу заставить это работать правильно?
using UnityEditor;
using UnityEngine;
using System.Collections;
public class PhraseAccept : EditorWindow
{
public string editorWindowText = "Write your text here: ";
string newProjectName = "abcd";
int projectNumber = 1;
void OnGUI()
{
string inputText = "";
inputText = EditorGUILayout.TextField(editorWindowText, newProjectName);
this.Repaint();
if (GUILayout.Button("OK"))
Debug.Log(inputText);
if (GUILayout.Button("Abort"))
Close();
}
[MenuItem("Tools/PhraseAccept2")]
public static void main()
{
EditorWindow window = GetWindow(typeof(PhraseAccept));
window.Show();
}
}