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 🔗
如果插件要处理给定的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异步创建,并在可用时自动设置。