Files
aarpg/gui/pause/inventory/scripts/inventory_slot_ui.gd
Andriy Yednarovych e877c5f058 init
2026-02-22 19:26:26 +01:00

39 lines
968 B
GDScript

class_name InventorySlotUi extends Button
var slot_data: SlotData :
set = set_slot_data
@onready var texture_rect: TextureRect = $TextureRect
@onready var label: Label = $Label
func _ready() -> void:
texture_rect.texture = null
label.text = ""
focus_entered.connect(on_item_focus)
focus_exited.connect(on_item_unfocus)
pressed.connect(item_pressed)
func set_slot_data(value: SlotData) -> void:
slot_data = value
if slot_data == null:
return
texture_rect.texture = slot_data.item_data.texture
label.text = str(slot_data.quantity)
func on_item_focus() -> void:
if slot_data == null or slot_data.item_data == null:
return
PauseMenu.update_item_description(slot_data.item_data.description)
func on_item_unfocus() -> void:
PauseMenu.update_item_description("")
pass
func item_pressed() -> void:
if !slot_data or !slot_data.item_data:
return
if !slot_data.item_data.use():
return
slot_data.quantity -= 1
label.text = str(slot_data.quantity)