99 lines
3.4 KiB
GDScript
99 lines
3.4 KiB
GDScript
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)
|