EditorResourceTooltipPlugin

Наследует: RefCounted < Object

Плагин, который расширяет подсказки для обрабатываемого типа ресурса.

Описание

Плагины подсказок ресурсов используются FileSystemDock для создания настраиваемых подсказок для определенных ресурсов. Например, подсказка для Texture2D отображает увеличенный предварительный просмотр и размеры текстуры.

Плагин должен быть сначала зарегистрирован с помощью FileSystemDock.add_resource_tooltip_plugin(). Когда пользователь наводит курсор на ресурс в доке файловой системы, который обрабатывается плагином, вызывается _make_tooltip_for_path() для создания подсказки. Он работает аналогично Control._make_custom_tooltip().

Методы

bool

_handles(type: String) virtual const

Control

_make_tooltip_for_path(path: String, metadata: Dictionary, base: Control) virtual const

void

request_thumbnail(path: String, control: TextureRect) const


Описания метода

bool _handles(type: String) virtual const 🔗

Верните true, если плагин будет обрабатывать заданный Resource type.


Control _make_tooltip_for_path(path: String, metadata: Dictionary, base: Control) virtual const 🔗

Создайте и верните подсказку, которая будет отображаться, когда пользователь наводит курсор на ресурс под указанным path в доке файловой системы.

Словарь metadata предоставляется генератором предварительного просмотра (см. EditorResourcePreviewGenerator._generate()).

base — это базовая подсказка по умолчанию, которая представляет собой VBoxContainer с метками имени файла, типа и размера. Если другой плагин обработал тот же тип файла, base будет выведено из предыдущего плагина. Для достижения наилучшего результата убедитесь, что базовая подсказка является частью возвращаемого Control.

Примечание: Не рекомендуется использовать ResourceLoader.load(), особенно с тяжелыми ресурсами, такими как модели или текстуры, поскольку это приведет к тому, что редактор перестанет реагировать при создании подсказки. Вы можете использовать request_thumbnail(), если хотите отобразить предварительный просмотр в подсказке.

Примечание: Если вы решили отказаться от base, обязательно вызовите Node.queue_free(), поскольку он не освобождается автоматически.

func _make_tooltip_for_path(path, metadata, base):
    var t_rect = TextureRect.new()
    request_thumbnail(path, t_rect)
    base.add_child(t_rect) # TextureRect появится в нижней части подсказки.
    return base

void request_thumbnail(path: String, control: TextureRect) const 🔗

Запрашивает миниатюру для указанного TextureRect. Миниатюра создается асинхронно EditorResourcePreview и автоматически устанавливается, когда доступна.