Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
EditorInterface
Успадковує: Object
Інтерфейс редактора Godot.
Опис
EditorInterface надає вам контроль над вікном редактора Godot. Він дозволяє налаштовувати вікно, зберігати та (повторно) завантажувати сцени, відтворювати попередній перегляд сітки, перевіряти та редагувати ресурси та об’єкти, а також надає доступ до EditorSettings, EditorFileSystem, EditorResourcePreview, ScriptEditor, вікна перегляду редактора та інформації про сцени.
Примітка: Цей клас не слід створювати безпосередньо. Натомість зверніться до синглтона безпосередньо за його іменем.
var editor_settings = EditorInterface.get_editor_settings()
// У C# ви можете отримати до нього доступ через статичну властивість Singleton.
EditorSettings = settings EditorInterface.Singleton.GetEditorSettings();
Властивості
Методи
void |
add_root_node(node: Node) |
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) |
get_base_control() const |
|
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 |
String |
get_editor_language() const |
VBoxContainer |
get_editor_main_screen() const |
get_editor_paths() const |
|
get_editor_scale() const |
|
get_editor_settings() const |
|
Theme |
get_editor_theme() const |
get_editor_toaster() const |
|
get_editor_undo_redo() const |
|
SubViewport |
get_editor_viewport_2d() const |
SubViewport |
get_editor_viewport_3d(idx: int = 0) const |
get_file_system_dock() const |
|
get_inspector() const |
|
get_node_3d_rotate_snap() const |
|
get_node_3d_scale_snap() const |
|
get_node_3d_translate_snap() const |
|
Array[Node] |
get_open_scene_roots() const |
PackedStringArray |
get_open_scenes() const |
String |
get_playing_scene() const |
get_resource_filesystem() const |
|
get_resource_previewer() const |
|
ScriptEditor |
get_script_editor() const |
PackedStringArray |
get_selected_paths() const |
get_selection() const |
|
PackedStringArray |
get_unsaved_scenes() const |
void |
inspect_object(object: Object, for_property: String = "", inspector_only: bool = false) |
is_multi_window_enabled() const |
|
is_node_3d_snap_enabled() const |
|
is_object_edited(object: Object) const |
|
is_playing_scene() const |
|
is_plugin_enabled(plugin: String) const |
|
Array[Texture2D] |
make_mesh_previews(meshes: Array[Mesh], preview_size: int) |
void |
|
void |
open_scene_from_path(scene_filepath: String, set_inherited: bool = false) |
void |
|
void |
play_custom_scene(scene_filepath: String) |
void |
|
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 |
|
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_object_edited(object: Object, edited: bool) |
void |
set_plugin_enabled(plugin: String, enabled: bool) |
void |
Описи властивостей
Якщо true, дозволяє відволікати режим, який приховує бокові шкарпетки для збільшення простору, доступний для основного вигляду.
Якщо true, режим Movie Maker включений в редактор. Детальніше MovieWriter.
Описи методів
void add_root_node(node: Node) 🔗
Зробіть node корінь в даний час відкритої сцени. Тільки роботи, якщо сцена порожній. Якщо node є екземпляром сцени, буде створена спадкова сцена.
Закриває поточну активну сцену, відкидаючи будь-які зміни, що очікують на виконання в процесі. Повертає @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.
String get_editor_language() const 🔗
Повертає мову, яка наразі використовується для інтерфейсу редактора.
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 🔗
Returns the actual scale of the editor UI (1.0 being 100% scale). This can be used to adjust position and dimensions of the UI added by plugins.
Note: This value is set via the EditorSettings.interface/editor/appearance/display_scale and EditorSettings.interface/editor/appearance/custom_display_scale settings. The editor must be restarted for changes to be properly applied.
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 🔗
Повернутися до екземпляра редактора
Примітка: Видалення і звільняння цього вузла буде надавати частину редактора без використання і може викликати аварійний збій.
float get_node_3d_rotate_snap() const 🔗
Повертає кількість градусів, на яку встановлено обертальне прив'язування 3D-редактора.
float get_node_3d_scale_snap() const 🔗
Повертає кількість одиниць вимірювання, на яку встановлено масштабне прив'язування 3D-редактора.
float get_node_3d_translate_snap() const 🔗
Повертає кількість одиниць, на яку встановлено прив'язку переміщення 3D-редактора.
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 🔗
Повертає екземпляр редактора.
PackedStringArray get_unsaved_scenes() const 🔗
Returns an array of file paths of currently unsaved scenes.
void inspect_object(object: Object, for_property: String = "", inspector_only: bool = false) 🔗
Показати даній власності на даній пам'ятній об'єкт в редакторі Inspector dock. Якщо inspector_only є true, плагіни не намагаються редагувати об'єкт.
bool is_multi_window_enabled() const 🔗
Returns true if multiple window support is enabled in the editor. Multiple window support is enabled if all of these statements are true:
EditorSettings.interface/editor/display/single_window_mode is
false.Viewport.gui_embed_subwindows is
false. This is forced totrueon platforms that don't support multiple windows such as Web, or when the--single-windowcommand line argument is used.
bool is_node_3d_snap_enabled() const 🔗
Повертає true, якщо в 3D-редакторі наразі ввімкнено режим прив’язки, та false в іншому випадку.
bool is_object_edited(object: Object) const 🔗
Повертає true, якщо об'єкт було позначено як відредагований через set_object_edited().
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 повинен приймати один аргумент типу String, який міститиме назву типу вибраного об'єкта (або шлях до скрипта типу, якщо тип створено зі скрипта), або бути порожнім рядком, якщо елемент не вибрано.
base_type визначає базовий тип об'єктів для відображення. Наприклад, якщо встановити значення "Resource", усі типи, похідні від Resource, відображатимуться в діалоговому вікні створення.
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) 🔗
Reloads the scene at the given path. Fails if the scene is not open.
void restart_editor(save: bool = true) 🔗
Відновлює редактор. Це закриває редактор, а потім відкриває той самий проект. true, проект буде збережений до перезавантаження.
void save_all_scenes() 🔗
Заощаджує всі відкриті сцени в редакторі.
Заощаджує в даний час активну сторінку. Повернутися до @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) 🔗
Sets the editor's current main screen to the one specified in name. name must match the title of the tab in question exactly (e.g. 2D, 3D, Script, Game, or Asset Store for default tabs).
void set_object_edited(object: Object, edited: bool) 🔗
Якщо edited має значення true, об'єкт позначається як відредагований.
Примітка: Це в основному використовується редактором для об'єктів на основі Resource для відстеження їхнього зміненого стану. Наприклад, будь-які зміни у відкритій сцені, ресурсі в інспекторі або відредагованому скрипті призведуть до виклику цього методу з true. Збереження сцени, скрипта або ресурсу скидає відредагований стан шляхом виклику цього методу з false.
Примітка: Кожен виклик цього методу збільшує відредаговану версію об'єкта. Це використовується для відстеження змін у редакторі та для запуску, коли мініатюри повинні бути перегенеровані для ресурсів.
void set_plugin_enabled(plugin: String, enabled: bool) 🔗
Встановлює ввімкнений статус плагіна. Ім'я плагіна є тим самим, як його ім'я каталогу.
void stop_playing_scene() 🔗
Стопи сцени, які зараз грають.