@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 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()