Объявление
public void ShowUtility();Описание
Показать EditorWindow как плавающее окно утилиты.
Когда окно утилиты теряет фокус, оно остается поверх нового активного окна. Это означает, что окно EditorWindow.ShowUtility никогда не скрывается редактором Unity. Однако его нельзя закрепить в редакторе.
Окна утилит всегда будут находиться перед обычными окнами Unity. Оно будет скрыто, когда пользователь переключится с Unity на другое приложение.
Примечание. Вам не нужно использовать EditorWindow.GetWindow перед использованием этой функции для отображения окна.

using UnityEditor;
using UnityEngine;
using System.Collections;
// Простой скрипт, который рандомизирует вращение выбранных игровых объектов.
// Он также показывает, какие объекты выбраны в данный момент.
public class RandomizeInSelection : EditorWindow
{
public float rotationAmount = 0.33f;
public string selected = "";
[MenuItem("Example/Randomize Children In Selection")]
static void RandomizeWindow()
{
RandomizeInSelection window = ScriptableObject.CreateInstance(typeof(RandomizeInSelection)) as RandomizeInSelection;
window.ShowUtility();
}
void RandomizeSelected()
{
foreach (var transform in Selection.transforms)
{
Quaternion rotation = Random.rotation;
transform.localRotation = Quaternion.Slerp(transform.localRotation, rotation, rotationAmount);
}
}
void OnGUI()
{
foreach (var t in Selection.transforms)
{
selected += t.name + " ";
}
EditorGUILayout.LabelField("Selected Object:", selected);
selected = "";
if (GUILayout.Button("Randomize!"))
RandomizeSelected();
if (GUILayout.Button("Close"))
Close();
}
void OnInspectorUpdate()
{
Repaint();
}
}