Add addons
This commit is contained in:
parent
2c862b2235
commit
3367bad24f
527 changed files with 36197 additions and 0 deletions
27
Sprout/addons/beehave/blackboard.gd
Normal file
27
Sprout/addons/beehave/blackboard.gd
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
## The blackboard is an object that can be used to store and access data between
|
||||
## multiple nodes of the behaviour tree.
|
||||
class_name Blackboard extends RefCounted
|
||||
|
||||
var blackboard: Dictionary = {}
|
||||
|
||||
|
||||
func set_value(key: Variant, value: Variant, blackboard_name: String = 'default') -> void:
|
||||
if not blackboard.has(blackboard_name):
|
||||
blackboard[blackboard_name] = {}
|
||||
|
||||
blackboard[blackboard_name][key] = value
|
||||
|
||||
|
||||
func get_value(key: Variant, default_value: Variant = null, blackboard_name: String = 'default') -> Variant:
|
||||
if has_value(key, blackboard_name):
|
||||
return blackboard[blackboard_name].get(key, default_value)
|
||||
return default_value
|
||||
|
||||
|
||||
func has_value(key: Variant, blackboard_name: String = 'default') -> bool:
|
||||
return blackboard.has(blackboard_name) and blackboard[blackboard_name].has(key) and blackboard[blackboard_name][key] != null
|
||||
|
||||
|
||||
func erase_value(key: Variant, blackboard_name: String = 'default') -> void:
|
||||
if blackboard.has(blackboard_name):
|
||||
blackboard[blackboard_name][key] = null
|
||||
Loading…
Add table
Add a link
Reference in a new issue