@startuml plugin_movement

start

:Setzen der gewünschten Animation;
:Berechnung der Bewegungsparameter;
:Berechnung der Bewegungslänge;

if (Distanz zu Ziel) then (größer als 0.001m)
  ->;
  repeat
    :Drehen zum Bewegungsziel;
  repeat while (Zum Bewegungsziel ausgerichtet?) is (Nein)
  ->Ja;
  repeat
    :Bewegen zum Bewegungsziel;
  repeat while (Bewegungsziel erreicht?) is (Nein)
  ->Ja;
else (kleiner als 0.001m)
endif

if (Zielrotation gegeben) then (>0.001m)
  repeat
    :Drehen zum Bewegungsziel;
  repeat while (Zum Bewegungsziel ausgerichtet?) is (Nein)
  ->Ja;
  repeat
    :Bewegen zum Bewegungsziel;
  repeat while (Bewegungsziel erreicht?) is (Nein)
  ->Ja;
endif

:Status auf Idle setzen;

stop

@enduml