@tool extends Control class_name SublimateOptionHandler signal apply() @onready var nameLabel: Label = $%name @onready var applyBtn: Button = $%applyBtn @onready var costItemShow: ItemShow = $%costItem var use: SublimateOption; func _ready(): nameLabel.label_settings = nameLabel.label_settings.duplicate() applyBtn.pressed.connect( func(): if UIState.player.useItem({ItemStore.ItemType.DIAMOND: use.cost}): apply.emit() else: UIState.showTip("钻石数量不足!", TipBox.MessageType.ERROR) ) rebuildInfo() func rebuildInfo(): if is_instance_valid(use): nameLabel.label_settings.font_color = CategoryStore.qualityColorMap[use.quality] nameLabel.label_settings.outline_color = CategoryStore.qualityColorMap[use.quality] nameLabel.text = use.displayName applyBtn.text = use.description costItemShow.count = use.cost