package nl.ru.ai.projects.parrot.transitions;
import nl.ru.ai.projects.parrot.dronecontrol.ParrotDroneInterface;
import nl.ru.ai.projects.parrot.dronecontrol.PolePositionPollInterface;
import nl.ru.ai.projects.parrot.fsm.State;
import nl.ru.ai.projects.parrot.fsm.Transition;
private long outOfSightCounter;
public OutOfSight(State connectedTo, ParrotDroneInterface pdi, PolePositionPollInterface pppi) {
super(connectedTo, pdi, pppi);
reset();
}
outOfSightCounter = 0;
}
@Override
Double[] poles = polesInterface.getPolePositions();
Double angle = null;
for ( int i=0; i<poles.length; i++ ) {
if ( poles[i] != null )
angle = poles[i];
}
if ( angle == null )
return verifyOutOfSight();
else
outOfSightCounter = ( outOfSightCounter <= 0 ) ? 0 : outOfSightCounter-1;
return false;
}
outOfSightCounter++;
if ( outOfSightCounter >= getDuration() ) {
this.reset();
return true;
}
return false;
}
}