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
		
	
	
		
			727 B
		
	
	
	
		
			GDScript
		
	
			
		
		
	
	
			29 lines
		
	
	
		
			727 B
		
	
	
	
		
			GDScript
		
	
| extends ActionBlackboard
 | |
| class_name ActionBlackboardCheck
 | |
| 
 | |
| enum Operators {
 | |
| 	EQUAL,
 | |
| 	NOT_EQUAL,
 | |
| 	GREATER,
 | |
| 	LESS,
 | |
| 	GREATER_EQUAL,
 | |
| 	LESS_EQUAL,
 | |
| }
 | |
| @export var key: String
 | |
| 
 | |
| @export_enum("==", "!=", ">", "<", ">=", "<=") var operator: int = 0
 | |
| @export var value: int
 | |
| 
 | |
| 
 | |
| func run(character: Character, blackboard: Blackboard) -> int:
 | |
| 	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
 |