Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

PopupWindow

class in UnityEditor

/

Наследует от:EditorWindow

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство

Описание

Class used to display popup windows that inherit from PopupWindowContent.

Popup Windows are borderless, and not draggable or resizable. They also will automatically close when they lose focus. They are intended to show short-lived information or options.

An example of a Popup window in the editor is the "Scene View Effects" options, in the Editor's Scene View toolbar:



Below is an example of a custom popup window which is displayed via a button in an editor window. The Popup has three toggle values, and will automatically close when it loses focus. The example is given as two scripts. The first defines an editor window that can be opened via a menu item. That editor window has a button which shows the popup. The second script defines the contents of the popup itself as a separate class.

First, this is the code for the simple editor window which launches the popup:


        
using UnityEngine;
using UnityEditor;

public class EditorWindowWithPopup : EditorWindow {

// Add menu item [MenuItem("Example/Popup Example")] static void Init() { EditorWindow window = EditorWindow.CreateInstance<EditorWindowWithPopup>(); window.Show(); }

Rect buttonRect; void OnGUI() { { GUILayout.Label("Editor window with Popup example",EditorStyles.boldLabel); if (GUILayout.Button("Popup Options",GUILayout.Width(200))) { PopupWindow.Show(buttonRect, new PopupExample()); } if (Event.current.type == EventType.Repaint) buttonRect = GUILayoutUtility.GetLastRect(); } } }

Next, this is the code for the popup itself:

no example available in JavaScript
using UnityEngine;
using UnityEditor;

public class PopupExample : PopupWindowContent { bool toggle1 = true; bool toggle2 = true; bool toggle3 = true;

public override Vector2 GetWindowSize() { return new Vector2(200,150); }

public override void OnGUI(Rect rect) { GUILayout.Label("Popup Options Example", EditorStyles.boldLabel); toggle1 = EditorGUILayout.Toggle("Toggle 1", toggle1); toggle2 = EditorGUILayout.Toggle("Toggle 2", toggle2); toggle3 = EditorGUILayout.Toggle("Toggle 3", toggle3); }

public override void OnOpen() { Debug.Log("Popup opened: " + this); }

public override void OnClose() { Debug.Log("Popup closed: " + this); } }

Each of these should be saved as separate files named after their class name. Neither are behaviours, so you do not need to place them on a gameobject. Once they are in your project, try it by going to the new "Example" menu and selecting Popup Example. Then click the button in the new editor window to reveal the popup options window.

.

Статические функции

ShowShow a popup with the given PopupWindowContent.

Унаследованные члены

Статические переменные

focusedWindowThe EditorWindow which currently has keyboard focus. (Read Only)
mouseOverWindowThe EditorWindow currently under the mouse cursor. (Read Only)

Переменные

autoRepaintOnSceneChangeDoes the window automatically repaint whenever the scene has changed?
maximizedIs this window maximized.
maxSizeThe maximum size of this window.
minSizeThe minimum size of this window.
positionThe position of the window in screen space.
titleContentThe GUIContent used for drawing the title of EditorWindows.
wantsMouseMoveDoes the GUI in this editor window want MouseMove events?
hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.

Открытые функции

BeginWindowsПомечает начальную область для всех всплывающих окон.
CloseЗакрывает окно редактора.
EndWindowsЗакрывает группу окон, начатую с помощью EditorWindow.BeginWindows.
FocusMoves keyboard focus to this EditorWindow.
RemoveNotificationStop showing notification message.
RepaintMake the window repaint.
SendEventSends an Event to a window.
ShowShow the EditorWindow.
ShowAsDropDownShows a window with dropdown behaviour and styling.
ShowAuxWindowShow the editor window in the auxiliary window.
ShowNotificationShow a notification message.
ShowPopupShows an Editor window using popup-style framing.
ShowUtilityShow the EditorWindow as a floating utility window.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the game object.

Статические функции

FocusWindowIfItsOpenFocuses the first found EditorWindow of specified type if it is open.
GetWindowReturns the first EditorWindow of type t which is currently on the screen.
GetWindowWithRectReturns the first EditorWindow of type t which is currently on the screen.
DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateReturns a copy of the object original.
CreateInstanceCreates an instance of a scriptable object.

Операторы

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.

Сообщения

OnDestroyOnDestroy is called when the EditorWindow is closed.
OnFocusCalled when the window gets keyboard focus.
OnGUIImplement your own editor GUI here.
OnHierarchyChangeCalled whenever the scene hierarchy has changed.
OnInspectorUpdateOnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update.
OnLostFocusCalled when the window loses keyboard focus.
OnProjectChangeCalled whenever the project has changed.
OnSelectionChangeCalled whenever the selection has changed.
UpdateCalled multiple times per second on all visible windows.
OnDestroyThis function is called when the scriptable object will be destroyed.
OnDisableThis function is called when the scriptable object goes out of scope.
OnEnableThis function is called when the object is loaded.