extends VBoxContainer @onready var asset_type: Label = %AssetType @onready var license_type: Label = %LicenseType @onready var asset_name: Label = %AssetName @onready var author_name: Label = %AuthorName @onready var link_button: LinkButton = %LinkButton @export var asset_type_colors: Dictionary = { "MUSIC": Color("c9ca00"), "SFX": Color("3aae65"), "THREEDIMENSIONAL": Color("c8954c"), "TEXTURES": Color("aa77cc"), "FONTS": Color("5185b2"), "NOT_SPECIFIED": Color("aaaaaa") } @export var license_type_colors: Dictionary = { "CC0": Color("bc852e"), "CCBY": Color("3478f6"), "CCBYSA": Color("f69625"), "MIT": Color("2d8b57"), "GPL2": Color("d32f2f"), "GPL3": Color("c0392b"), "OFL": Color("8e44ad"), "NONE": Color("aaaaaa") } func populate(p_asset_info: AssetInfo) -> void: change_asset_type(p_asset_info.asset_type) change_asset_license(p_asset_info.license_type) asset_name.text = p_asset_info.asset_name author_name.text = "by " + p_asset_info.author_name link_button.text = p_asset_info.link link_button.uri = p_asset_info.link func change_asset_type(p_asset_type: AssetInfo.AssetType) -> void: var style_box: StyleBoxFlat = asset_type.get_parent().get("theme_override_styles/panel").duplicate() match p_asset_type: AssetInfo.AssetType.MUSIC: asset_type.text = "MUSIC" style_box.set("bg_color", asset_type_colors["MUSIC"]) AssetInfo.AssetType.SFX: asset_type.text = "SFX" style_box.set("bg_color", asset_type_colors["SFX"]) AssetInfo.AssetType.THREEDIMENSIONAL: asset_type.text = "3D" style_box.set("bg_color", asset_type_colors["THREEDIMENSIONAL"]) AssetInfo.AssetType.TEXTURES: asset_type.text = "TEXTURES" style_box.set("bg_color", asset_type_colors["TEXTURES"]) AssetInfo.AssetType.FONTS: asset_type.text = "FONTS" style_box.set("bg_color", asset_type_colors["FONTS"]) _: asset_type.text = "Not specified" style_box.set("bg_color", asset_type_colors["NOT_SPECIFIED"]) # Finally set the background color asset_type.get_parent().add_theme_stylebox_override("panel", style_box) func change_asset_license(p_license_type: AssetInfo.LicenseType) -> void: var style_box: StyleBoxFlat = license_type.get_parent().get("theme_override_styles/panel").duplicate() match p_license_type: AssetInfo.LicenseType.CC0: license_type.text = "CC0" style_box.set("bg_color", license_type_colors["CC0"]) AssetInfo.LicenseType.CCBY: license_type.text = "CC BY" style_box.set("bg_color", license_type_colors["CCBY"]) AssetInfo.LicenseType.CCBYSA: license_type.text = "CC BY-SA" style_box.set("bg_color", license_type_colors["CCBYSA"]) AssetInfo.LicenseType.MIT: license_type.text = "MIT" style_box.set("bg_color", license_type_colors["MIT"]) AssetInfo.LicenseType.GPL2: license_type.text = "GPL 2.0" style_box.set("bg_color", license_type_colors["GPL2"]) AssetInfo.LicenseType.GPL3: license_type.text = "GPL 3.0" style_box.set("bg_color", license_type_colors["GPL3"]) AssetInfo.LicenseType.OFL: license_type.text = "OFL" style_box.set("bg_color", license_type_colors["OFL"]) AssetInfo.LicenseType.NONE: license_type.text = "Not specified" style_box.set("bg_color", license_type_colors["NONE"]) _: license_type.text = "Unknown" style_box.set("bg_color", license_type_colors["NONE"]) # Finally set the background color license_type.get_parent().add_theme_stylebox_override("panel", style_box)