mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-27 22:41:56 +08:00
e53af2a163
- 新增OutGameStorage类存储最大初始数量配置 - 修改SelectInitialFeed面板逻辑以限制选择数量 - 优化FeedCardBase样式和布局 - 移除不必要的ScrollContainer简化UI结构
59 lines
1.6 KiB
GDScript
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()
|