Объявление
public void EndWindows();Описание
Закрыть группу окон, начинающуюся с EditorWindow.BeginWindows.

// Создаем окно редактора с подвижным окном Layout.
// Здесь есть кнопка, которую можно щелкнуть и переместить.
using UnityEditor;
using UnityEngine;
using System.Collections;
public class Example : EditorWindow
{
Rect windowRect = new Rect(10, 10, 110, 50);
[MenuItem("Example/EndWindows test")]
static void InitWindow()
{
GetWindowWithRect(typeof(Example), new Rect(0, 0, 200, 100));
}
void OnGUI()
{
BeginWindows();
// All GUI.Window or GUILayout.Window must come inside here
windowRect = GUILayout.Window(1, windowRect, DoWindow, "Hi There");
EndWindows();
}
void DoWindow(int windowID)
{
GUILayout.Button("Hi");
GUI.DragWindow();
}
}
Размещение пары BeginWindows / EndWindows определяет, где будут появляться всплывающие окна; все окна обрезаются до области отсечения, определенной GUI.BeginGroup или GUI.BeginScrollView. Небольшой пример этого:

// Размер окна можно изменить с помощью полос прокрутки X и Y.
using UnityEditor;
using UnityEngine;
using System.Collections;
public class Example : EditorWindow
{
// Положение окна
Rect windowRect = new Rect(10, 10, 210, 100);
// Позиция прокрутки
Vector2 scrollPos = Vector2.zero;
[MenuItem("Example/EndWindows example")]
static void InitWindow()
{
Example window = (Example)GetWindow(typeof(Example));
window.Show();
}
void OnGUI()
{
// Настройка просмотра прокрутки
scrollPos = GUI.BeginScrollView(
new Rect(0, 0, position.width, position.height),
scrollPos,
new Rect(0, 0, 1000, 1000)
);
// Тот же код, что и раньше — создаем окно. Только теперь это ВНУТРИ прокрутки
BeginWindows();
windowRect = GUILayout.Window(1, windowRect, DoWindow, "Hi There");
EndWindows();
// Закрыть вид прокрутки
GUI.EndScrollView();
}
void DoWindow(int windowID)
{
GUILayout.Button("Hi");
GUI.DragWindow();
}
}