EditorInterface

Успадковує: Object

Інтерфейс редактора Godot.

Опис

EditorInterface надає вам контроль над вікном редактора Godot. Він дозволяє налаштовувати вікно, зберігати та (повторно) завантажувати сцени, відтворювати попередній перегляд сітки, перевіряти та редагувати ресурси та об’єкти, а також надає доступ до EditorSettings, EditorFileSystem, EditorResourcePreview, ScriptEditor, вікна перегляду редактора та інформації про сцени.

Примітка: Цей клас не слід створювати безпосередньо. Натомість зверніться до синглтона безпосередньо за його іменем.

var editor_settings = EditorInterface.get_editor_settings()

Властивості

bool

distraction_free_mode

bool

movie_maker_enabled

Методи

Error

close_scene()

void

edit_node(node: Node)

void

edit_resource(resource: Resource)

void

edit_script(script: Script, line: int = -1, column: int = 0, grab_focus: bool = true)

Control

get_base_control() const

EditorCommandPalette

get_command_palette() const

String

get_current_directory() const

String

get_current_feature_profile() const

String

get_current_path() const

Node

get_edited_scene_root() const

VBoxContainer

get_editor_main_screen() const

EditorPaths

get_editor_paths() const

float

get_editor_scale() const

EditorSettings

get_editor_settings() const

Theme

get_editor_theme() const

EditorToaster

get_editor_toaster() const

EditorUndoRedoManager

get_editor_undo_redo() const

SubViewport

get_editor_viewport_2d() const

SubViewport

get_editor_viewport_3d(idx: int = 0) const

FileSystemDock

get_file_system_dock() const

EditorInspector

get_inspector() const

Array[Node]

get_open_scene_roots() const

PackedStringArray

get_open_scenes() const

String

get_playing_scene() const

EditorFileSystem

get_resource_filesystem() const

EditorResourcePreview

get_resource_previewer() const

ScriptEditor

get_script_editor() const

PackedStringArray

get_selected_paths() const

EditorSelection

get_selection() const

void

inspect_object(object: Object, for_property: String = "", inspector_only: bool = false)

bool

is_multi_window_enabled() const

bool

is_playing_scene() const

bool

is_plugin_enabled(plugin: String) const

Array[Texture2D]

make_mesh_previews(meshes: Array[Mesh], preview_size: int)

void

mark_scene_as_unsaved()

void

open_scene_from_path(scene_filepath: String, set_inherited: bool = false)

void

play_current_scene()

void

play_custom_scene(scene_filepath: String)

void

play_main_scene()

void

popup_create_dialog(callback: Callable, base_type: StringName = "", current_type: String = "", dialog_title: String = "", type_blocklist: Array[StringName] = [])

void

popup_dialog(dialog: Window, rect: Rect2i = Rect2i(0, 0, 0, 0))

void

popup_dialog_centered(dialog: Window, minsize: Vector2i = Vector2i(0, 0))

void

popup_dialog_centered_clamped(dialog: Window, minsize: Vector2i = Vector2i(0, 0), fallback_ratio: float = 0.75)

void

popup_dialog_centered_ratio(dialog: Window, ratio: float = 0.8)

void

popup_method_selector(object: Object, callback: Callable, current_value: String = "")

void

popup_node_selector(callback: Callable, valid_types: Array[StringName] = [], current_value: Node = null)

void

popup_property_selector(object: Object, callback: Callable, type_filter: PackedInt32Array = PackedInt32Array(), current_value: String = "")

void

popup_quick_open(callback: Callable, base_types: Array[StringName] = [])

void

reload_scene_from_path(scene_filepath: String)

void

restart_editor(save: bool = true)

void

save_all_scenes()

Error

save_scene()

void

save_scene_as(path: String, with_preview: bool = true)

void

select_file(file: String)

void

set_current_feature_profile(profile_name: String)

void

set_main_screen_editor(name: String)

void

set_plugin_enabled(plugin: String, enabled: bool)

void

stop_playing_scene()


Описи властивостей

bool distraction_free_mode 🔗

  • void set_distraction_free_mode(value: bool)

  • bool is_distraction_free_mode_enabled()

Якщо true, дозволяє відволікати режим, який приховує бокові шкарпетки для збільшення простору, доступний для основного вигляду.


bool movie_maker_enabled 🔗

  • void set_movie_maker_enabled(value: bool)

  • bool is_movie_maker_enabled()

Якщо true, режим Movie Maker включений в редактор. Детальніше MovieWriter.


Описи методів

Error close_scene() 🔗

Закриває поточну активну сцену, відкидаючи будь-які зміни, що очікують на виконання в процесі. Повертає @GlobalScope.OK у разі успіху або @GlobalScope.ERR_DOES_NOT_EXIST, якщо сцени для закриття немає.


void edit_node(node: Node) 🔗

Редагує заданий Node. Вузол також буде вибрано, якщо він знаходиться всередині дерева сцени.


void edit_resource(resource: Resource) 🔗

Редагує заданий Resource. Якщо ресурс є Script, ви також можете редагувати його за допомогою методу edit_script(), щоб вказати позицію рядка та стовпця.


void edit_script(script: Script, line: int = -1, column: int = 0, grab_focus: bool = true) 🔗

Редагування даної Script. Лінія та стовпець, на які можна відкрити скрипт. Скрипт буде відкрито з редактором користувача для мови скрипта, яка може бути зовнішнім редактором.


Control get_base_control() const 🔗

Повернення головної ємності вікна редактора Godot. Наприклад, ви можете використовувати його для отримання розміру контейнера і розміщення вашого контролю відповідно.

Попередження: Видалення та звільняння цього вузла буде рендером без використання та може призвести до аварійного завершення.


EditorCommandPalette get_command_palette() const 🔗

Повернення редактора РедакторCommandPalette екземпляр.

Налаштування: Видалення та звільняння цього вузла буде надавати частину редактора без використання і може викликати аварійний збій.


String get_current_directory() const 🔗

Повертає поточний каталог, який переглядається в FileSystemDock. Якщо вибрано файл, його базовий каталог буде повернено за допомогою String.get_base_dir().


String get_current_feature_profile() const 🔗

Повертає ім'я поточного активованого профілю функції. Якщо профіль за замовчуванням в даний час активний, то повернуто порожній рядок.

Для того, щоб отримати посилання на EditorFeatureProfile, необхідно завантажити профіль функції за допомогою EditorFeatureProfile.load_from_file().

Примітка: Функціональні профілі, створені за допомогою інтерфейсу користувача, завантажені з каталогу feature_profiles, як файл з .profile. Теки конфігурації редактора можна знайти за допомогою EditorPaths.get_config_dir().


String get_current_path() const 🔗

Повертає поточний шлях, який переглядається в FileSystemDock.


Node get_edited_scene_root() const 🔗

Повертає корінь відредагованої (поточної) сцени Node.


VBoxContainer get_editor_main_screen() const 🔗

Повертає елемент керування редактора, що відповідає за плагіни та інструменти головного екрана. Використовуйте його з плагінами, які реалізують EditorPlugin._has_main_screen().

Примітка: Цей вузол є VBoxContainer, що означає, що якщо ви додаєте до нього дочірній елемент Control, вам потрібно встановити для нього Control.size_flags_vertical у Control.SIZE_EXPAND_FILL, щоб він використовував весь доступний простір.

Попередження: Видалення або звільнення цього вузла зробить частину редактора некорисною і може призвести до аварійного завершення роботи.


EditorPaths get_editor_paths() const 🔗

Повертає синглтон EditorPaths.


float get_editor_scale() const 🔗

Повертає фактичний масштаб інтерфейсу редактора (1.0 – це масштаб 100%). Це можна використовувати для налаштування положення та розмірів інтерфейсу, доданого плагінами.

Примітка: Це значення встановлюється за допомогою налаштувань EditorSettings.interface/editor/display_scale та EditorSettings.interface/editor/custom_display_scale. Редактор необхідно перезапустити, щоб зміни були застосовані належним чином.


EditorSettings get_editor_settings() const 🔗

Повернутися до екземпляра редактора.


Theme get_editor_theme() const 🔗

Повернення редактора Theme.

Примітка: При створенні користувальницького редактора UI, віддайте перевагу доступу до тематичних елементів безпосередньо з ваших вузлів GUI за допомогою методів get_theme_*.


EditorToaster get_editor_toaster() const 🔗

Повертає EditorToaster редактора.


EditorUndoRedoManager get_editor_undo_redo() const 🔗

Повертає EditorUndoRedoManager редактора.


SubViewport get_editor_viewport_2d() const 🔗

Повертає 2D-редактор SubViewport. Він не має камери. Натомість, перетворення вигляду виконуються безпосередньо та доступні за допомогою Viewport.global_canvas_transform.


SubViewport get_editor_viewport_3d(idx: int = 0) const 🔗

Повертає зазначений редактор 3D SubViewport, з 0 до 3. Перегляд можна використовувати для доступу до активних камер редактора за допомогою method.get_camera_3d.


FileSystemDock get_file_system_dock() const 🔗

Повертає екземпляр редактора FileSystemDock.

Примітка: Видалення і звільняння цього вузла буде надавати частину редактора без використання і може викликати аварійний збій.


EditorInspector get_inspector() const 🔗

Повернутися до екземпляра редактора

Примітка: Видалення і звільняння цього вузла буде надавати частину редактора без використання і може викликати аварійний збій.


Array[Node] get_open_scene_roots() const 🔗

Повертає масив із посиланнями на кореневі вузли поточних відкритих сцен.


PackedStringArray get_open_scenes() const 🔗

Повертає масив зі шляхами до файлів поточних відкритих сцен.


String get_playing_scene() const 🔗

Повертає назву сцени, яка грає. Якщо не грає сцена, повертає порожній рядок.


EditorFileSystem get_resource_filesystem() const 🔗

Повернутися до екземпляра редактора EditorFileSystem.


EditorResourcePreview get_resource_previewer() const 🔗

Повернутися до екземпляра редактора.


ScriptEditor get_script_editor() const 🔗

Повертає екземпляр редактора.

Примітка: Видалення і звільняння цього вузла буде надавати частину редактора без використання і може викликати аварійний збій.


PackedStringArray get_selected_paths() const 🔗

Повертає масив, що містить шляхи обраних файлів (і каталоги) в FileSystemDock.


EditorSelection get_selection() const 🔗

Повертає екземпляр редактора.


void inspect_object(object: Object, for_property: String = "", inspector_only: bool = false) 🔗

Показати даній власності на даній пам'ятній об'єкт в редакторі Inspector dock. Якщо inspector_only є true, плагіни не намагаються редагувати об'єкт.


bool is_multi_window_enabled() const 🔗

Повертає true, якщо в редакторі ввімкнено декілька вікон. У разі, якщо all цих звітів:

true.

false. Це примусово true на платформах, які не підтримують декілька вікон, таких як Веб-сайт, або коли --single-window command рядок аргумент використовується.


bool is_playing_scene() const 🔗

true, якщо сцена зараз грається, false інакше. Заборонені сцени розглядаються як грають.


bool is_plugin_enabled(plugin: String) const 🔗

Повернення true, якщо вказаний плагін включений. Ім'я плагіна є тим самим, як його ім'я каталогу.


Array[Texture2D] make_mesh_previews(meshes: Array[Mesh], preview_size: int) 🔗

Повернення сітчастих переглядів, що надходять на заданий розмір, як Array Texture2Ds.


void mark_scene_as_unsaved() 🔗

Відзначає поточний вкладок сцени як незбережений.


void open_scene_from_path(scene_filepath: String, set_inherited: bool = false) 🔗

Відкриває сцену на заданому шляху. Якщо set_inherited має значення true, створює нову успадковану сцену.


void play_current_scene() 🔗

Грає в даний час активний сцена.


void play_custom_scene(scene_filepath: String) 🔗

Відтворює сцену, вказану її файлопатією.


void play_main_scene() 🔗

Грає на головній сцені.


void popup_create_dialog(callback: Callable, base_type: StringName = "", current_type: String = "", dialog_title: String = "", type_blocklist: Array[StringName] = []) 🔗

Експериментальний: Цей метод може бути змінений або усунутий у наступних версіях.

Відкриває діалоговий вікно редактора для створення об’єкта.

callback має приймати один аргумент типу StringName, який міститиме назву типу вибраного об’єкта або бути порожнім, якщо жоден елемент не вибрано.

base_type визначає базовий тип об’єктів для відображення. Наприклад, якщо встановити значення «Ресурс», у діалоговому вікні створення відображатимуться всі типи, отримані від Ресурс.

Параметр current_type буде передано в поле пошуку діалогового вікна створення, і зазначений тип можна буде вибрати одразу, коли з’явиться діалогове вікно. Якщо current_type не є похідним від base_type, у діалоговому вікні не буде результату типу.

Параметр dialog_title дозволяє вам визначити настроюваний заголовок для діалогового вікна. Це корисно, якщо ви хочете точно натякнути на використання діалогового вікна. Якщо dialog_title є порожнім рядком, діалогове вікно використовуватиме «Створити новий 'базовий тип'» як назву за умовчанням.

type_blocklist містить список імен типів, і типи в списку блокувань будуть приховані в діалоговому вікні створення.

Примітка: Спроба вказати базовий тип у type_blocklist приховає всі типи, похідні від базового типу, у діалоговому вікні створення.


void popup_dialog(dialog: Window, rect: Rect2i = Rect2i(0, 0, 0, 0)) 🔗

Відкриває dialog в інтерфейсі редактора за допомогою Window.popup_exclusive(). Діалог не повинен мати поточного батьківського елемента, інакше метод завершиться невдачею.

Див. також Window.set_unparent_when_invisible().


void popup_dialog_centered(dialog: Window, minsize: Vector2i = Vector2i(0, 0)) 🔗

Поповнення dialog в редакторі UI з Window.popup_exclusive_centered(). У діалоговому вікні не потрібно мати поточного батька, інакше метод не виходить.

Дивись також Window.set_unparent_when_invisible().


void popup_dialog_centered_clamped(dialog: Window, minsize: Vector2i = Vector2i(0, 0), fallback_ratio: float = 0.75) 🔗

Поповнення dialog в редакторі UI з Window.popup_exclusive_centered_clamped(). У діалоговому вікні не потрібно мати поточного батька, інакше метод не виходить.

Дивись також Window.set_unparent_when_invisible().


void popup_dialog_centered_ratio(dialog: Window, ratio: float = 0.8) 🔗

Поповнення dialog в редакторі UI з Window.popup_exclusive_centered_ratio(). У діалоговому вікні не потрібно мати поточного батька, інакше метод не виходить.

Дивись також Window.set_unparent_when_invisible().


void popup_method_selector(object: Object, callback: Callable, current_value: String = "") 🔗

Відкриває діалогове вікно редактора для вибору методу з object. callback має приймати один аргумент типу String, який міститиме назву вибраного методу або бути порожнім, якщо діалогове вікно скасовано. Якщо вказано current_value, метод буде вибрано автоматично у списку методів, якщо він існує.


void popup_node_selector(callback: Callable, valid_types: Array[StringName] = [], current_value: Node = null) 🔗

Відкриває діалогове вікно редактора для вибору Node з редагованої сцени. callback має приймати один аргумент типу NodePath. Він викликається на вибраному NodePath або порожньому шляху ^"", якщо діалогове вікно скасовано. Якщо вказано valid_types, у діалоговому вікні відображатимуться лише вузли, які відповідають одному з перелічених типів вузлів. Якщо вказано current_value, вузол буде автоматично вибрано в дереві, якщо воно існує.

Приклад: Відобразити діалогове вікно вибору вузла, щойно цей вузол буде додано до дерева вперше:

func _ready():
if Engine.is_editor_hint():
EditorInterface.popup_node_selector(_on_node_selected, ["Bottom"])

func _on_node_selected(node_path):
if node_path.is_empty():
print("вибір вузла скасовано")
else:
print("вибрано", node_path)

void popup_property_selector(object: Object, callback: Callable, type_filter: PackedInt32Array = PackedInt32Array(), current_value: String = "") 🔗

Відкриває діалогове вікно редактора для вибору властивостей із object. callback має приймати один аргумент типу NodePath. Він викликається за вибраним шляхом властивості (див. NodePath.get_as_property_path()) або порожнім шляхом ^"", якщо діалогове вікно скасовано. Якщо надано type_filter, діалогове вікно відображатиме лише властивості, які відповідають одному з перелічених значень Variant.Type. Якщо вказано current_value, властивість буде автоматично вибрано у списку властивостей, якщо він існує.

func _ready():
if Engine.is_editor_hint():
EditorInterface.popup_property_selector(this, _on_property_selected, [TYPE_INT])

func _on_property_selected(property_path):
if property_path.is_empty():
print("вибір властивостей скасовано")
else:
print("вибрано", шлях_властивості)

void popup_quick_open(callback: Callable, base_types: Array[StringName] = []) 🔗

Відкриває діалогове вікно редактора для швидкого вибору файлу ресурсу. callback має приймати один аргумент типу String, який міститиме шлях до вибраного ресурсу або бути порожнім, якщо діалогове вікно скасовано. Якщо вказано base_types, діалогове вікно відображатиме лише ресурси, які відповідають цим типам. Підтримуються лише типи, похідні від Resource.


void reload_scene_from_path(scene_filepath: String) 🔗

Завантажує сцену на даній доріжці.


void restart_editor(save: bool = true) 🔗

Відновлює редактор. Це закриває редактор, а потім відкриває той самий проект. true, проект буде збережений до перезавантаження.


void save_all_scenes() 🔗

Заощаджує всі відкриті сцени в редакторі.


Error save_scene() 🔗

Заощаджує в даний час активну сторінку. Повернутися до @GlobalScope.OK або @GlobalScope.ERR_CANT_CREATE.


void save_scene_as(path: String, with_preview: bool = true) 🔗

Зберігає поточну активну сцену як файл за адресою path.


void select_file(file: String) 🔗

Виберіть файл, за допомогою пункту файл, в FileSystem dock.


void set_current_feature_profile(profile_name: String) 🔗

Вибирає та активує вказаний профіль функції з вказаною profile_name. Встановіть profile_name на порожній рядок, щоб скидати на профіль функції за замовчуванням.

Профіль функції може бути створений за допомогою класа EditorFeatureProfile.

Примітка: Профіль функції, який активується, повинен бути розташований в каталозі feature_profiles, як файл з .profile. Якщо профіль не знайдено, виникає помилка. Теки конфігурації редактора можна знайти за допомогою редакторPaths.get_config_dir().


void set_main_screen_editor(name: String) 🔗

Встановлює поточний головний екран редактора таким, що вказаний у name. name має точно відповідати назві відповідної вкладки (наприклад, 2D, 3D, Script, Game або AssetLib для вкладок за замовчуванням).


void set_plugin_enabled(plugin: String, enabled: bool) 🔗

Встановлює ввімкнений статус плагіна. Ім'я плагіна є тим самим, як його ім'я каталогу.


void stop_playing_scene() 🔗

Стопи сцени, які зараз грають.