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 🔗

如果插件要处理给定的Resourcetype,则返回true


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,请确保调用Item.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异步创建,并在可用时自动设置。