mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
7a0cf96d7d
实现武器升华功能,包括: - 新增SublimateOption类处理升华选项 - 添加SublimateOptionHandler UI组件 - 在武器卡片中集成升华界面 - 重构武器描述生成逻辑 - 新增钻石资源消耗机制 - 优化UI布局和样式 - 修复多处类型引用错误
61 lines
1.6 KiB
GDScript
61 lines
1.6 KiB
GDScript
@tool
|
|
extends FullscreenPanelBase
|
|
class_name SelectInitialFeedPanel
|
|
|
|
@onready var initialFeedSelection: HBoxContainer = $%initialFeedSelection
|
|
@onready var initialWeaponSelection: HBoxContainer = $%initialWeaponSelection
|
|
@onready var startBtn: Button = $%startBtn
|
|
@onready var title1: Label = $%title1
|
|
@onready var title2: Label = $%title2
|
|
|
|
func _ready():
|
|
startBtn.pressed.connect(
|
|
func():
|
|
startBtn.disabled = true
|
|
UIState.closeCurrentPanel()
|
|
StarterPanel.selectingFeed = false
|
|
)
|
|
|
|
func beforeOpen(_args: Array = []):
|
|
clearFeeds()
|
|
clearWeapons()
|
|
var feedCounted = 0
|
|
var weaponCounted = 0
|
|
ComponentManager.feeds.shuffle()
|
|
for feed in ComponentManager.feeds:
|
|
var card = feed.instantiate() as Feed
|
|
card.freeToBuy = true
|
|
if card.topic == CategoryStore.Topic.WEAPON:
|
|
if weaponCounted < OutGameStorage.maxInitialWeaponCount:
|
|
initialWeaponSelection.add_child(card)
|
|
card.selected.connect(
|
|
func(_x):
|
|
if WorldManager.isRelease():
|
|
clearWeapons()
|
|
title2.hide()
|
|
if !title1.visible:
|
|
startBtn.pressed.emit()
|
|
)
|
|
weaponCounted += 1
|
|
else:
|
|
if feedCounted < OutGameStorage.maxInitialFeedCount:
|
|
initialFeedSelection.add_child(card)
|
|
card.selected.connect(
|
|
func(_x):
|
|
if WorldManager.isRelease():
|
|
clearFeeds()
|
|
title1.hide()
|
|
if !title2.visible:
|
|
startBtn.pressed.emit()
|
|
)
|
|
feedCounted += 1
|
|
func afterOpen(_args: Array = []):
|
|
startBtn.disabled = false
|
|
|
|
func clearFeeds():
|
|
for feed in initialFeedSelection.get_children():
|
|
feed.queue_free()
|
|
func clearWeapons():
|
|
for weapon in initialWeaponSelection.get_children():
|
|
weapon.queue_free()
|