Added default liquid turret liquid display

This commit is contained in:
Anuken
2019-12-25 14:38:43 -05:00
parent fad94cb56e
commit 8ac0949ddf
2 changed files with 17 additions and 9 deletions

View File

@ -1388,15 +1388,6 @@ public class Blocks implements ContentList{
range = 110f;
health = 250 * size * size;
shootSound = Sounds.splash;
drawer = (tile, entity) -> {
Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.color(entity.liquids.current().color);
Draw.alpha(entity.liquids.total() / liquidCapacity);
Draw.rect(name + "-liquid", tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.color();
};
}};
lancer = new ChargeTurret("lancer"){{

View File

@ -1,5 +1,7 @@
package mindustry.world.blocks.defense.turrets;
import arc.*;
import arc.graphics.g2d.*;
import arc.struct.*;
import mindustry.entities.*;
import mindustry.entities.bullet.*;
@ -16,11 +18,13 @@ import static mindustry.Vars.*;
public class LiquidTurret extends Turret{
public ObjectMap<Liquid, BulletType> ammo = new ObjectMap<>();
public int liquidRegion;
public LiquidTurret(String name){
super(name);
hasLiquids = true;
activeSound = Sounds.spray;
liquidRegion = reg("-liquid");
}
/** Initializes accepted ammo map. Format: [liquid1, bullet1, liquid2, bullet2...] */
@ -28,6 +32,19 @@ public class LiquidTurret extends Turret{
ammo = OrderedMap.of(objects);
}
@Override
public void drawLayer(Tile tile){
super.drawLayer(tile);
TurretEntity entity = tile.ent();
if(Core.atlas.isFound(reg(liquidRegion))){
Draw.color(entity.liquids.current().color);
Draw.alpha(entity.liquids.total() / liquidCapacity);
Draw.rect(reg(liquidRegion), tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.color();
}
}
@Override
public void setStats(){
super.setStats();