package rabbitescape.engine.behaviours;
import static rabbitescape.engine.Token.Type.*;
import static rabbitescape.engine.ChangeDescription.State.*;
import rabbitescape.engine.*;
import rabbitescape.engine.ChangeDescription.State;
public class Exploding extends Behaviour
{
@Override
public void cancel()
{
}
@Override
public boolean checkTriggered( Rabbit rabbit, World world )
{
BehaviourTools t = new BehaviourTools( rabbit, world );
return t.pickUpToken( explode, true );
}
@Override
public State newState( BehaviourTools t, boolean triggered )
{
if ( triggered )
{
return RABBIT_EXPLODING;
}
return null;
}
@Override
public boolean behave( World world, Rabbit rabbit, State state )
{
if ( state == RABBIT_EXPLODING )
{
world.changes.killRabbit( rabbit );
return true;
}
return false;
}
}