extends RPGH_DataManager # Just keeps a value that is stored over multiple # maps and sessions. var value setget _set_value, _get_value var _key = "" var _value = null var map_key = "" var event_key = "" var _initial_value = null var data func _init(key: String, initial_value = null, map = null, event = null): data = RPGH.get_node("DataManager").global_data _initial_value = initial_value if map != null: yield(map, "ready") map_key = map.name + "_" if event != null: event_key = event.name + "_" _key = map_key + event_key + key _value = initial_value if !data.has(_key): RPGH.get_node("DataManager").write_in_dictionary(_key, initial_value) return else: return func _set_value(new_value): _value = new_value if new_value == _initial_value: data.erase(_key) else: RPGH.get_node("DataManager").write_in_dictionary(_key, _value) func _get_value(): return _value