@events.newton_finishedотменить нельзя1 методКогда Newton сам довёл дело до конца: дошёл, долетел, докопал, заполнил область.
Приходит только на удачное завершение. Отмена и срыв это newton_failed, так что перепутать их нельзя.
Здесь ставят следующую задачу и получают цепочку: обошёл точку, пошёл к следующей. Ставить новую задачу прямо в обработчике можно, Newton к этому моменту уже свободен.
POINTS = [[100, 64, 200], [140, 64, 210], [180, 70, 190]]
index = {"i": 0}
def go_next():
if index["i"] >= len(POINTS):
client.msg("Маршрут пройден")
return
newton.goto(POINTS[index["i"]], radius=1)
index["i"] += 1
@events.newton_finished
def on_done(event):
go_next()
go_next()Общий список всех событий и правила подписки лежат на странице События.