package unsw.blackout; import java.util.Optional; import unsw.utils.Angle; public class StandardSatellite extends SatelliteBase { public StandardSatellite(String satelliteID, double height, Angle position) { super(satelliteID, height, position); } @ Override final public double getVelocity() { return 2_500.0; } @ Override final public double getRange() { return 150_000.0; } @ Override final protected boolean isSupportedDeviceType(String type) { if (type.equals(LaptopDevice.class.getSimpleName())) { return true; } else if (type.equals(HandheldDevice.class.getSimpleName())) { return true; } return false; } @ Override final protected Optional getFileStoreLimit() { return Optional.of(3); // Max of 3 files. } @ Override final protected Optional getByteStoreLimit() { return Optional.of(80); // Max of 80 bytes. } @ Override final protected Optional getByteDownloadSpeed() { return Optional.of(1); // 1 byte per minute. } @ Override final protected Optional getByteUploadSpeed() { return Optional.of(1); // 1 byte per minute. } }