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

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);
        }
    }
}