Unity 6.3
0 онлайн 3 гостей 3 в системе
Вход

EditorGUI.EndChangeCheck

Declaration

public static bool EndChangeCheck();

Возвращаемое значение

логическое Возвращает true, если состояние GUI изменилось после вызова EditorGUI.BeginChangeCheck, в противном случае false.

Описание

Завершает блок кода и проверяет изменения GUI.

Используйте это в сочетании с EditorGUI.BeginChangeCheck чтобы создать блок кода, который проверяет, изменилось ли состояние GUI, только для элементов управления, входящих в блок.
То есть, в отличие от GUI.changed, который возвращает true для любых изменений состояния GUI, это позволяет ограничить проверку определённым набором элементов управления.

using UnityEditor;

public class ExampleWindow : EditorWindow { float sliderValue = 0; string labelText = "-";

[MenuItem("Window/Example Window")] static void Init() { var example = (ExampleWindow)EditorWindow.GetWindow(typeof(ExampleWindow)); example.Show(); }

void OnGUI() { EditorGUILayout.LabelField("New value", labelText);

// Start a code block to check for GUI changes EditorGUI.BeginChangeCheck();

sliderValue = EditorGUILayout.Slider(sliderValue, 0, 1);

// End the code block and update the label if a change occurred // Note: This indicates user interaction with the slider but does not guarantee that a SerializedProperty has changed. // To have the updated value, call serializedObject.ApplyModifiedProperties(). if (EditorGUI.EndChangeCheck()) { labelText = sliderValue.ToString(); } } }