1
0
mirror of https://github.com/Anuken/Mindustry.git synced 2024-09-23 06:18:00 +03:00

Display current ammo type in turret info

This commit is contained in:
Anuken 2019-08-01 11:03:20 -04:00
parent b812fcddf8
commit 69ee5257f2
7 changed files with 19 additions and 2 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 KiB

After

Width:  |  Height:  |  Size: 677 KiB

View File

@ -1577,7 +1577,7 @@ public class Blocks implements ContentList{
shootCone = 24f;
health = 155 * size * size;
consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, false);
consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 2f)).update(false).optional(true, true);
}};
meltdown = new LaserTurret("meltdown"){{

View File

@ -17,6 +17,13 @@ public class ItemImage extends Stack{
add(t);
}
public ItemImage(TextureRegion region){
Table t = new Table().left().bottom();
add(new Image(region));
add(t);
}
public ItemImage(ItemStack stack){
add(new Image(stack.item.icon(Icon.large)));

View File

@ -16,6 +16,8 @@ import io.anuke.mindustry.world.meta.values.*;
import java.io.*;
import static io.anuke.mindustry.Vars.*;
public class ItemTurret extends CooledTurret{
protected int maxAmmo = 30;
protected ObjectMap<Item, BulletType> ammo = new ObjectMap<>();
@ -37,6 +39,15 @@ public class ItemTurret extends CooledTurret{
stats.remove(BlockStat.itemCapacity);
stats.add(BlockStat.ammo, new AmmoListValue<>(ammo));
consumes.add(new ConsumeItemFilter(i -> ammo.containsKey(i)){
@Override
public void build(Tile tile, Table table){
MultiReqImage image = new MultiReqImage();
content.items().each(i -> filter.test(i) && (!world.isZone() || data.isUnlocked(i)), item -> image.add(new ReqImage(new ItemImage(item.icon(Item.Icon.large)),
() -> tile.entity != null && !((ItemTurretEntity)tile.entity).ammo.isEmpty() && ((ItemEntry)tile.<ItemTurretEntity>entity().ammo.peek()).item == item)));
table.add(image).size(8 * 4);
}
@Override
public boolean valid(TileEntity entity){
//valid when there's any ammo in the turret

View File

@ -7,7 +7,6 @@ import io.anuke.mindustry.entities.effect.*;
import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.type.*;
import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.blocks.defense.turrets.ItemTurret.*;
import io.anuke.mindustry.world.consumers.*;
import io.anuke.mindustry.world.meta.*;
import io.anuke.mindustry.world.meta.values.*;