44 lines
1.3 KiB
GDScript
44 lines
1.3 KiB
GDScript
extends ScrollContainer
|
|
|
|
var displayScene = preload("res://UI/AshBarrel/AshQuantityDisplay.tscn")
|
|
|
|
func add_ash(ashName):
|
|
var itemFound = false
|
|
|
|
var displays = %AshQuantityDisplays.get_children()
|
|
for display in displays:
|
|
var currentAshName = display.ashName
|
|
if currentAshName == ashName:
|
|
display.set_ash_count(display.ashCount + 1)
|
|
itemFound = true
|
|
break
|
|
|
|
if !itemFound:
|
|
var newDisplay = displayScene.instantiate()
|
|
%AshQuantityDisplays.add_child(newDisplay)
|
|
newDisplay.visible = true
|
|
newDisplay.set_ash_name(ashName)
|
|
newDisplay.set_ash_count(1)
|
|
|
|
func display_barrel_inventory():
|
|
var config = SaveManager.get_save_config()
|
|
var ashNames = config.get_section_keys("AshBarrel")
|
|
|
|
var displays = %AshQuantityDisplays.get_children()
|
|
for display in displays:
|
|
display.visible = false
|
|
|
|
for i in range(ashNames.size()):
|
|
var currentAshName = ashNames[i]
|
|
var currentAshCount = SaveManager.get_value_from_section("AshBarrel", currentAshName, 0)
|
|
if i >= displays.size():
|
|
var newDisplay = displayScene.instantiate()
|
|
%AshQuantityDisplays.add_child(newDisplay)
|
|
displays.append(newDisplay)
|
|
|
|
var currentDisplay = displays[i]
|
|
currentDisplay.visible = true
|
|
|
|
currentDisplay.set_ash_name(currentAshName)
|
|
currentDisplay.set_ash_count(currentAshCount)
|