mirror of
https://codeberg.org/sunder/sunder.git
synced 2026-07-10 19:44:33 +00:00
37 lines
839 B
GDScript
37 lines
839 B
GDScript
@tool
|
|
class_name ItemStorage extends Resource
|
|
|
|
## An array of [Item]
|
|
var items: Array[Item] = []
|
|
|
|
@export var size:int = 3:
|
|
set = set_size
|
|
|
|
func set_size(new_size:int) -> void:
|
|
size = new_size
|
|
items.resize(size)
|
|
notify_property_list_changed()
|
|
|
|
func _get_property_list() -> Array:
|
|
var properties := []
|
|
for i in range(items.size()):
|
|
properties.append({
|
|
"name": "slot_%d" % i,
|
|
"type": TYPE_DICTIONARY,
|
|
#"hint": PROPERTY_HINT_DICTIONARY_TYPE,
|
|
"hint_string": "Item"
|
|
})
|
|
return properties
|
|
|
|
func _get(name:StringName) -> Item:
|
|
if name.begins_with("slot_"):
|
|
var index := name.get_slice("_", 1).to_int()
|
|
return items[index]
|
|
return null
|
|
|
|
func _set(name:StringName, value:Variant) -> bool:
|
|
if name.begins_with("slot_"):
|
|
var index := name.get_slice("_", 1).to_int()
|
|
items[index] = value
|
|
return true
|
|
return false
|