OVERVIEW
With this snippet, you can avoid writing in-line anonymous classes for wait conditions. This makes code cleaner and speeds up development time.
Before, you would have to do this:
new ConditionalSleep(5000){
@ Override
public boolean condition() throws InterruptedException
{
return !myPlayer().isMoving();
}
}.sleep();
Now you can do this:
Timing.waitCondition(() -> !myPlayer().isMoving(), 5000);
Or, if you want to specify cycle time for che