1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00
Files
Dog-Lynx-And-HCN/scripts/Contents/Panels/SelectIntialFeed.gd
T
fallingshrimp bc89c93feb feat(UI): 添加教程开关按钮并优化面板控制逻辑
- 在Starter面板中添加新手教程开关按钮
- 为MakeFeed和SelectInitialFeed面板添加class_name
- 重构UIState中的输入处理逻辑,修复面板切换问题
2026-05-03 16:43:27 +08:00

53 lines
1.3 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()
ComponentManager.feeds.shuffle()
for feed in ComponentManager.feeds:
var card = feed.instantiate() as Feed
card.freeToBuy = true
if card.topic == FeedName.Topic.WEAPON:
initialWeaponSelection.add_child(card)
card.selected.connect(
func(_x):
if WorldManager.isRelease():
clearWeapons()
title2.hide()
if !title1.visible:
startBtn.pressed.emit()
)
else:
initialFeedSelection.add_child(card)
card.selected.connect(
func(_x):
if WorldManager.isRelease():
clearFeeds()
title1.hide()
if !title2.visible:
startBtn.pressed.emit()
)
func clearFeeds():
for feed in initialFeedSelection.get_children():
feed.queue_free()
func clearWeapons():
for weapon in initialWeaponSelection.get_children():
weapon.queue_free()