EditorResourceTooltipPlugin
Наследует: RefCounted < Object
Плагин, который расширяет подсказки для обрабатываемого типа ресурса.
Описание
Плагины подсказок ресурсов используются FileSystemDock для создания настраиваемых подсказок для определенных ресурсов. Например, подсказка для Texture2D отображает увеличенный предварительный просмотр и размеры текстуры.
Плагин должен быть сначала зарегистрирован с помощью FileSystemDock.add_resource_tooltip_plugin(). Когда пользователь наводит курсор на ресурс в доке файловой системы, который обрабатывается плагином, вызывается _make_tooltip_for_path() для создания подсказки. Он работает аналогично Control._make_custom_tooltip().
Методы
_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 и автоматически устанавливается, когда доступна.