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.

28 lines
645 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, blackboard)
func init(character: Character): pass
func run(character: Character, blackboard: Blackboard) -> int:
return FAILURE