46 lines
1.1 KiB
Java
46 lines
1.1 KiB
Java
package logistics;
|
|
|
|
import logistics.material.BulletBelts;
|
|
import logistics.material.LiterDiesel;
|
|
import logistics.quantities.NeedCollector;
|
|
import logistics.storage.FloatStorage;
|
|
import logistics.storage.IntStorage;
|
|
|
|
public class Truck extends Vehicle {
|
|
private final FloatStorage tank;
|
|
private final IntStorage bullets;
|
|
|
|
public Truck(String name, float diesel, int bullets) {
|
|
super(name);
|
|
this.tank = new FloatStorage(diesel, LiterDiesel.INSTANCE, 180);
|
|
this.bullets = new IntStorage(bullets, BulletBelts.INSTANCE, 3);
|
|
}
|
|
|
|
@Override
|
|
public void consumeAll(int intensity) {
|
|
oil.consume(1);
|
|
grease.consume(1);
|
|
tank.consume(intensity * 25);
|
|
bullets.consume(intensity * 2);
|
|
}
|
|
|
|
|
|
@Override
|
|
public void reportNeeds(NeedCollector collector) {
|
|
oil.reportNeed(collector);
|
|
grease.reportNeed(collector);
|
|
tank.reportNeed(collector);
|
|
bullets.reportNeed(collector);
|
|
}
|
|
|
|
|
|
@Override
|
|
public void fillUpAll() {
|
|
oil.fillUp();
|
|
grease.fillUp();
|
|
tank.fillUp();
|
|
bullets.fillUp();
|
|
}
|
|
|
|
}
|