Starting item and inventory tools, sketched spear animation templates.
This commit is contained in:
@@ -15,9 +15,19 @@ var data : Adventurer
|
||||
@onready var faiLabel :Label = %FAILabel
|
||||
@onready var lukLabel :Label = %LUKLabel
|
||||
|
||||
var item_slots : Array[ItemSlot]
|
||||
|
||||
func setup(adv : Adventurer) -> void:
|
||||
data = adv
|
||||
data.changed.connect(_on_data_changed)
|
||||
update_stats()
|
||||
item_slots = []
|
||||
for child : ItemSlot in %InventoryGrid.get_children():
|
||||
item_slots.append(child)
|
||||
#TODO: Show equipment
|
||||
update_items()
|
||||
|
||||
func update_stats() -> void:
|
||||
nameLabel.text = data.full_name()
|
||||
if data.job:
|
||||
jobLabel.text = data.job.name
|
||||
@@ -33,8 +43,21 @@ func setup(adv : Adventurer) -> void:
|
||||
chaLabel.text = str(data.stats.CHA)
|
||||
faiLabel.text = str(data.stats.FAI)
|
||||
lukLabel.text = str(data.stats.LUK)
|
||||
#TODO: Show equipment
|
||||
populate_items()
|
||||
|
||||
func populate_items() -> void:
|
||||
pass
|
||||
func update_items() -> void:
|
||||
var isize = data.inventory_size.x * data.inventory_size.y
|
||||
var islots = len(item_slots)
|
||||
%InventoryGrid.columns = data.inventory_size.x
|
||||
for crd in data.inventory.keys():
|
||||
var idx = crd.y * data.inventory_size.x + crd.x
|
||||
var item = data.inventory[crd]
|
||||
item_slots[idx].update(item)
|
||||
item_slots[idx].visible = true
|
||||
|
||||
for idx in range(isize, islots):
|
||||
item_slots[idx].visible = false
|
||||
|
||||
|
||||
func _on_data_changed() -> void:
|
||||
update_stats()
|
||||
update_items()
|
||||
|
||||
Reference in New Issue
Block a user