add beehave
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
@tool
|
||||
class_name BlackboardSetAction extends ActionLeaf
|
||||
|
||||
## Sets the specified key to the specified value.
|
||||
## Returns [code]FAILURE[/code] if expression execution fails, otherwise [code]SUCCESS[/code].
|
||||
|
||||
## Expression representing a blackboard key.
|
||||
@export_placeholder(EXPRESSION_PLACEHOLDER) var key: String = ""
|
||||
## Expression representing a blackboard value to assign to the specified key.
|
||||
@export_placeholder(EXPRESSION_PLACEHOLDER) var value: String = ""
|
||||
|
||||
@onready var _key_expression: Expression = _parse_expression(key)
|
||||
@onready var _value_expression: Expression = _parse_expression(value)
|
||||
|
||||
|
||||
func tick(actor: Node, blackboard: Blackboard) -> int:
|
||||
var key_value: Variant = _key_expression.execute([], blackboard)
|
||||
|
||||
if _key_expression.has_execute_failed():
|
||||
return FAILURE
|
||||
|
||||
var value_value: Variant = _value_expression.execute([], blackboard)
|
||||
|
||||
if _value_expression.has_execute_failed():
|
||||
return FAILURE
|
||||
|
||||
blackboard.set_value(key_value, value_value)
|
||||
|
||||
return SUCCESS
|
||||
|
||||
|
||||
func _get_expression_sources() -> Array[String]:
|
||||
return [key, value]
|
||||
Reference in New Issue
Block a user