package net.sf.openrocket.simulation.listeners.system; import net.sf.openrocket.simulation.FlightEvent; import net.sf.openrocket.simulation.SimulationStatus; import net.sf.openrocket.simulation.listeners.AbstractSimulationListener; /** * A simulation listeners that ends the simulation when apogee is reached. * * @author Sampo Niskanen <sampo.niskanen@iki.fi> */ public class ApogeeEndListener extends AbstractSimulationListener { public static final ApogeeEndListener INSTANCE = new ApogeeEndListener(); @Override public boolean handleFlightEvent(SimulationStatus status, FlightEvent event) { if (event.getType() == FlightEvent.Type.APOGEE) { status.getEventQueue().add(new FlightEvent(FlightEvent.Type.SIMULATION_END, status.getSimulationTime())); } return true; } @Override public boolean isSystemListener() { return true; } }