Таймер на булевое свойства объекта в цикле
Делаю муровейник.
у объекта есть свойство self._state_aggressive = False
И собственно есть цикл в котором объект пока что бегает между двумя координатами. И вот на него воздействует другой объект и меняет свойство _state_aggressive на True.
Не могу понять как в такой цикл
run = True
while run:
if obj.get_food() < 10 and not obj._state_enough_food:
if obj.get_pos() != hive1.get_pos():
obj.do_move_to_target(hive1)
else:
obj.top_up_food(1)
else:
obj._state_enough_food = True
if obj._state_enough_money and obj.wallet.get_money() > 0:
if obj.get_pos() != hive2.get_pos():
obj.do_move_to_target(hive2)
else:
obj.top_down_food(1)
else:
obj._state_enough_food = False
внести фрустрацию объекта допустим на 10 секунд. Чтобы когда _state_aggressive стал True и он пошел по другой ветви логики. и допустим убрал раздражителя то по истичению 10 секунд флажок _state_aggressive вернулся на False и соответственно объект вернулся к выполнению обычной задачи. В кратце как отследить временной отрезок в цикле, и по его завершению выполнить действие.