mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-27 22:41:56 +08:00
7a0cf96d7d
实现武器升华功能,包括: - 新增SublimateOption类处理升华选项 - 添加SublimateOptionHandler UI组件 - 在武器卡片中集成升华界面 - 重构武器描述生成逻辑 - 新增钻石资源消耗机制 - 优化UI布局和样式 - 修复多处类型引用错误
31 lines
853 B
GDScript
31 lines
853 B
GDScript
@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
|