citylimits/addons/beehave/blackboard.gd

25 lines
692 B
GDScript3
Raw Normal View History

2023-01-21 04:04:13 -05:00
extends Reference
var blackboard = {}
func set(key, value, blackboard_name = 'default'):
if not blackboard.has(blackboard_name):
blackboard[blackboard_name] = {}
blackboard[blackboard_name][key] = value
func get(key, default_value = null, blackboard_name = 'default'):
if has(key, blackboard_name):
return blackboard[blackboard_name].get(key, default_value)
return default_value
func has(key, blackboard_name = 'default'):
return blackboard.has(blackboard_name) and blackboard[blackboard_name].has(key) and blackboard[blackboard_name][key] != null
func erase(key, blackboard_name = 'default'):
if blackboard.has(blackboard_name):
blackboard[blackboard_name][key] = null