newlon/scripts/gui/seedpacket/pickable_handler.gd
2025-08-03 02:09:11 +05:00

25 lines
654 B
GDScript

extends SeedpacketHandler
class_name PickableHandler
var chosen : bool
var locked : bool = false
var forbidden : bool = false
func _init(packet : Seedpacket) -> void:
super._init(packet)
LevelEventBus.hotbar_packets_update.connect(on_hotbar_changed)
func exit() -> void:
LevelEventBus.hotbar_packets_update.disconnect(on_hotbar_changed)
func is_avaiable() -> bool:
return not (chosen or locked or forbidden)
func on_hotbar_changed(to : Array[SeedpacketResource]):
chosen = to.has(seedpacket.held_resource)
seedpacket.update_contents()
func on_updated_contents():
seedpacket.forbidden.visible = forbidden
seedpacket.locked.visible = locked