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.
		
		
		
		
		
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			647 B
		
	
	
	
		
			GDScript
		
	
			
		
		
	
	
			27 lines
		
	
	
		
			647 B
		
	
	
	
		
			GDScript
		
	
| extends ActionLeaf
 | |
| class_name Action
 | |
| 
 | |
| func get_character(actor: Node) -> Character:
 | |
|     if not actor is AI:
 | |
|         print("行为树结构错误")
 | |
|         return null
 | |
|     var ai: AI = actor as AI
 | |
|     return ai.character
 | |
| 
 | |
| 
 | |
| func before_run(actor: Node, blackboard: Blackboard) -> void:
 | |
|     init(get_character(actor))
 | |
| 
 | |
| 
 | |
| func tick(actor: Node, blackboard: Blackboard) -> int:
 | |
|     var character: Character = get_character(actor)
 | |
|     if character.get_status("is_stagger") or character.get_status("is_stun"):
 | |
|         return FAILURE
 | |
|     return run(character)
 | |
| 
 | |
| 
 | |
| func init(character: Character): pass
 | |
| 
 | |
| 
 | |
| func run(character: Character) -> int: return FAILURE
 |