xiandie/manager/archive_manager/ground_archive.gd

32 lines
635 B
GDScript

class_name GroundArchive extends Resource
@export var scene_name := ""
# node_name -> dictionary
@export var _data := {}
func set_data(name: String, data: Dictionary) -> void:
_data[name] = data
func set_pair(name: String, key: String, val: Variant) -> void:
if _data.has(name):
_data[name][key] = val
else:
_data[name] = {key: val}
func get_data(name: String) -> Dictionary:
if _data.has(name):
return _data[name]
_data[name] = {}
return {}
func get_value(name: String, key: String, default = null) -> Variant:
if _data.has(name):
var data = _data[name]
if data.has(key):
return data[key]
return default