2021-05-19 16:22:05 +02:00
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 _initial_value = null
2021-05-20 15:59:04 +02:00
var _data
2021-05-19 16:22:05 +02:00
func _init ( key : String , initial_value = null , map = null , event = null ) :
2021-05-20 15:59:04 +02:00
_data = RPGH . get_node ( " DataManager " ) . global_data
2021-05-19 16:22:05 +02:00
_initial_value = initial_value
2021-05-20 15:59:04 +02:00
var map_key = " "
var event_key = " "
2021-05-19 16:22:05 +02:00
if map != null :
yield ( map , " ready " )
map_key = map . name + " _ "
if event != null :
event_key = event . name + " _ "
_key = map_key + event_key + key
func _set_value ( new_value ) :
if new_value == _initial_value :
2021-05-20 15:59:04 +02:00
_data . erase ( _key )
2021-05-19 16:22:05 +02:00
else :
2021-05-20 15:59:04 +02:00
RPGH . get_node ( " DataManager " ) . write_in_dictionary ( _key , new_value )
2021-05-19 16:22:05 +02:00
func _get_value ( ) :
2021-05-20 15:59:04 +02:00
if _key in _data :
return _data [ _key ]
else :
return _initial_value