Crear comportamiento MoveBehaviour
INTERVAL_TO_MOVE
Comportamiento periódico. Periodo - Comprobar si ya está destino (si ya está acaba la iteración)
- IF si ya está en destino:
- saca de la cola de próximos destinos el siguiente punto.
- calcula la nueva orientación con
calculate_new_orientation
con el destino recién sacado de la cola.
- ELSE Si no lo hay acaba la iteración.
- IF si ya está en destino:
- mover un dt.
dt = current_time - self.agent.last_time_move
->move(dt)
- si no ha podido moverse (
MV_CANNOT_GET_POSITION
) recalcula congenerate_path
, lo cual vacía la cola de destinos y la llena con el nuevo punto degenerate_path
.
- si no ha podido moverse (
Renombrar generate_path
por generate_intermediate_point
goto
acción - vaciar la cola de destinos
- actualizar
self.agent.movement.destination
con las nuevas coordenadas. - calcula la nueva orientación con
calculate_new_orientation