You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | ## The blackboard is an object that can be used to store and access data between | 
					
						
							|  |  |  | ## multiple nodes of the behavior tree. | 
					
						
							|  |  |  | @icon("icons/blackboard.svg") | 
					
						
							|  |  |  | class_name Blackboard extends Node | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var blackboard: Dictionary = {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func keys() -> Array[String]: | 
					
						
							|  |  |  |     var keys: Array[String] | 
					
						
							|  |  |  |     keys.assign(blackboard.keys().duplicate()) | 
					
						
							|  |  |  |     return keys | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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 |