Таймер на булевое свойства объекта в цикле

Делаю муровейник. у объекта есть свойство 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 и соответственно объект вернулся к выполнению обычной задачи. В кратце как отследить временной отрезок в цикле, и по его завершению выполнить действие.


Ответы (0 шт):