21 lines
576 B
GDScript
21 lines
576 B
GDScript
extends BTCondition
|
|
class_name BTIsPathValid
|
|
func tick(tick: Tick) -> int:
|
|
var npc = tick.actor
|
|
if npc.has_meta("path"):
|
|
var path = npc.get_meta("path")
|
|
if path:
|
|
var valid = npc.get_meta("path_valid")
|
|
var delta = tick.blackboard.get("delta")
|
|
valid -= delta
|
|
if valid <= 0.0:
|
|
npc.remove_meta("path")
|
|
npc.remove_meta("path_valid")
|
|
return FAILED
|
|
npc.set_meta("path_valid", valid)
|
|
# print("path valid: ", valid, " path:", path)
|
|
return OK
|
|
npc.do_stop()
|
|
# print("invalid path: ", npc.name, ", action = ", npc.get_meta("action"))
|
|
return FAILED
|