1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Panels/SelectIntialFeed.gd
T
fallingshrimp e53af2a163 feat(初始选择): 添加初始增益和武器数量限制
- 新增OutGameStorage类存储最大初始数量配置
- 修改SelectInitialFeed面板逻辑以限制选择数量
- 优化FeedCardBase样式和布局
- 移除不必要的ScrollContainer简化UI结构
2026-05-04 07:03:18 +08:00

59 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 == FeedName.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 clearFeeds():
for feed in initialFeedSelection.get_children():
feed.queue_free()
func clearWeapons():
for weapon in initialWeaponSelection.get_children():
weapon.queue_free()