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
		
	
	
		
			793 B
		
	
	
	
		
			GDScript
		
	
			
		
		
	
	
			29 lines
		
	
	
		
			793 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
 |