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.

29 lines
797 B
GDScript

1 year ago
extends ActionBlackboard
class_name ActionBlackboardCheck
enum Operators {
1 year ago
EQUAL,
NOT_EQUAL,
GREATER,
LESS,
GREATER_EQUAL,
LESS_EQUAL,
1 year ago
}
@export var key: String
@export_enum("==", "!=", ">", "<", ">=", "<=") var operator: int = 0
@export var value: int
func execute(character: Character, blackboard: Blackboard) -> int:
1 year ago
var left: Variant = blackboard.get_value(key, 0)
var result: bool = false
match operator:
Operators.EQUAL: result = left == value
Operators.NOT_EQUAL: result = left != value
Operators.GREATER: result = left > value
Operators.LESS: result = left < value
Operators.GREATER_EQUAL: result = left >= value
Operators.LESS_EQUAL: result = left <= value
return SUCCESS if result else FAILURE