25 lines
654 B
GDScript
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
|