EditorWindow.ShowModalUtility
Declaration
public void ShowModalUtility();Описание
Показывает EditorWindow как плавающее модальное окно.
Вы не можете взаимодействовать с Редактором, пока открыто окно утилиты. Окно EditorWindow.ShowModalUtility никогда не скрывается Редактором. Вы не можете прикрепить окно утилиты к Редактору.
Окна утилиты всегда находятся перед обычными окнами Unity. Окно утилиты скрывается, когда пользователь переключается с Unity на другое приложение.
Примечание: Вам не нужно использовать EditorWindow.GetWindow, прежде чем использовать эту функцию для отображения окна.
// Simple script that randomizes the rotation of the selected GameObjects. using UnityEditor; using UnityEngine; using UnityEngine.UIElements; public class RandomizeInSelection : EditorWindow { System.Random random = new System.Random(); public float rotationAmount; public string selected = ""; [MenuItem("Examples/Randomize Objects")] static void Init() { RandomizeInSelection window = EditorWindow.GetWindow<RandomizeInSelection>(true, "Randomize Objects"); window.ShowModalUtility(); } void CreateGUI() { var label = new Label("Select an object and click the Randomize! button"); rootVisualElement.Add(label); var randomizeButton = new Button(); randomizeButton.text = "Randomize!"; randomizeButton.clicked += () => RandomizeSelected(); rootVisualElement.Add(randomizeButton); } void RandomizeSelected() { foreach (var transform in Selection.transforms) { Quaternion rotation = Random.rotation; rotationAmount = (float)random.NextDouble(); transform.localRotation = Quaternion.Slerp(transform.localRotation, rotation, rotationAmount); } } }