This commit is contained in:
Sharlotte
2021-07-24 17:43:19 +09:00
parent 03bbca16ba
commit 331291ba90
6 changed files with 47 additions and 41 deletions

View File

@@ -50,7 +50,6 @@ public class BarInfo {
}
if(target instanceof Healthc) {
strings.set(0, Core.bundle.format("shar-stat.health", Strings.fixed(((Healthc)target).health(), 1)));
colors.set(0, Pal.health);
@@ -58,7 +57,6 @@ public class BarInfo {
}
if(target instanceof Turret.TurretBuild){
float value = Mathf.clamp(((Turret.TurretBuild)target).reload / ((Turret)((Turret.TurretBuild)target).block).reloadTime) * 100f;
strings.set(1, Core.bundle.format("shar-stat.reload", Strings.fixed(value, (Math.abs((int)value - value) <= 0.001f ? 0 : Math.abs((int)(value * 10) - value * 10) <= 0.001f ? 1 : 2))));
@@ -129,8 +127,7 @@ public class BarInfo {
numbers.set(2, ((Unit)target).stack().amount / (((Unit)target).type().itemCapacity * 1f));
}
if(target instanceof Turret.TurretBuild){
Turret turret = (Turret)((Turret.TurretBuild)target).block;
if(turret.chargeTime > 0f) {
@@ -147,7 +144,6 @@ public class BarInfo {
}
if(target instanceof Unit && target instanceof Payloadc && ((Unit) target).type != null){
strings.set(4, Core.bundle.format("shar-stat.payloadCapacity", Mathf.round(Mathf.sqrt(((Payloadc)target).payloadUsed())), Mathf.round(Mathf.sqrt(((Unit)target).type().payloadCapacity))));
colors.set(4, Pal.items);
@@ -161,7 +157,6 @@ public class BarInfo {
}
if(target instanceof Unit && state.rules.unitAmmo && ((Unit) target).type != null){
strings.set(5, Core.bundle.format("shar-stat.ammos", ((Unit)target).ammo(), ((Unit)target).type().ammoCapacity));
colors.set(5, ((Unit)target).type().ammoType.color);

View File

@@ -96,6 +96,7 @@ public class HudUi {
});
Events.on(EventType.ResetEvent.class, e -> {
if(settings.getBool("allTeam")) coreItems.teams = Team.all;
else coreItems.teams = Team.baseTeams;
coreItems.resetUsed();
coreItems.tables.each(Group::clear);
});
@@ -193,14 +194,14 @@ public class HudUi {
return;
}
if(getTarget() instanceof Turret.TurretBuild){
Element imaget = new Element();
Element image = new Element();
if(getTarget() instanceof ItemTurret.ItemTurretBuild){
ItemTurret.ItemTurretBuild turretBuild = getTarget();
if(turretBuild.hasAmmo()) imaget = new Image(((ItemTurret)turretBuild.block).ammoTypes.findKey(turretBuild.peekAmmo(), true).uiIcon);
if(turretBuild.hasAmmo()) image = new Image(((ItemTurret)turretBuild.block).ammoTypes.findKey(turretBuild.peekAmmo(), true).uiIcon);
else {MultiReqImage itemReq = new MultiReqImage();
for(Item item : ((ItemTurret) turretBuild.block).ammoTypes.keys())
itemReq.add(new ReqImage(item.uiIcon, turretBuild::hasAmmo));
imaget = itemReq;
image = itemReq;
}
}
else if(getTarget() instanceof LiquidTurret.LiquidTurretBuild){
@@ -208,13 +209,13 @@ public class HudUi {
MultiReqImage liquidReq = new MultiReqImage();
for(Liquid liquid : ((LiquidTurret) ((LiquidTurret.LiquidTurretBuild) getTarget()).block).ammoTypes.keys())
liquidReq.add(new ReqImage(liquid.uiIcon, () -> ((LiquidTurret.LiquidTurretBuild) getTarget()).hasAmmo()));
imaget = liquidReq;
image = liquidReq;
if(((LiquidTurret.LiquidTurretBuild) getTarget()).hasAmmo())
imaget = new Image(entity.liquids.current().uiIcon).setScaling(Scaling.fit);
image = new Image(entity.liquids.current().uiIcon).setScaling(Scaling.fit);
}
else if(getTarget() instanceof PowerTurret.PowerTurretBuild){
imaget = new Image(Icon.power.getRegion()){
image = new Image(Icon.power.getRegion()){
@Override
public void draw(){
Building entity = getTarget();
@@ -234,7 +235,7 @@ public class HudUi {
}
clearChildren();
add(imaget).size(iconSmall).padBottom(2 * 8f).padRight(3 * 8f);
add(image).size(iconSmall).padBottom(2 * 8f).padRight(3 * 8f);
}
});
pack();

View File

@@ -110,16 +110,18 @@ public class Main extends Mod {
Draw.reset();
});
if(settings.getBool("rangeNearby")) Groups.all.each(entityc ->
(entityc instanceof BaseTurret.BaseTurretBuild || entityc instanceof Unit)
&& player != null && player.team() != ((Ranged) entityc).team() && ((Ranged) entityc).team() != Team.derelict, entityc -> {
if(entityc instanceof Turret.TurretBuild
&& !(player.unit().isFlying() && ((Turret)((Turret.TurretBuild) entityc).block).targetAir || !(player.unit().isFlying()) && ((Turret)((Turret.TurretBuild) entityc).block).targetGround)) return;
float range = ((Ranged) entityc).range();
float margin = settings.getInt("rangeRadius") * tilesize;
if(Vars.player.dst((Position) entityc) <= range + margin)
Drawf.dashCircle(((Ranged) entityc).x(), ((Ranged) entityc).y(), range, ((Ranged) entityc).team().color);
});
if(settings.getBool("rangeNearby")) {
Groups.all.each(entityc ->
(entityc instanceof BaseTurret.BaseTurretBuild || entityc instanceof Unit) && player != null
&& (settings.getBool("allTeamRange") || (player.team() != ((Ranged) entityc).team() && ((Ranged) entityc).team() != Team.derelict)), entityc -> {
if(entityc instanceof Turret.TurretBuild
&& (settings.getBool("allTargetRange") || !(player.unit().isFlying() && ((Turret)((Turret.TurretBuild) entityc).block).targetAir || !(player.unit().isFlying()) && ((Turret)((Turret.TurretBuild) entityc).block).targetGround))) return;
float range = ((Ranged) entityc).range();
float margin = settings.getInt("rangeRadius") * tilesize;
if(Vars.player.dst((Position) entityc) <= range + margin)
Drawf.dashCircle(((Ranged) entityc).x(), ((Ranged) entityc).y(), range, ((Ranged) entityc).team().color);
});
}
});
}
@@ -127,6 +129,4 @@ public class Main extends Mod {
public void loadContent(){
}
}

View File

@@ -273,9 +273,11 @@ public class Setting {
Seq<SettingsMenuDialog.SettingsTable.Setting> scanSeq = new Seq<>();
addGraphicCheckSetting("scan", false, scanSeq);
addGraphicCheckSetting("rangeNearby", false, scanSeq);
addGraphicSlideSetting("rangeRadius", 5, 0, 20, 1, s -> s + "tiles", scanSeq);
addGraphicTypeSetting("rangemax", 10, "@editrange","@invalid", 100, scanSeq);
addGraphicCheckSetting("rangeNearby", true, scanSeq);
addGraphicCheckSetting("allTeamRange", false, scanSeq);
addGraphicCheckSetting("allTargetRange", false, scanSeq);
addGraphicSlideSetting("rangeRadius", 5, 0, 20, 1, s -> s + "tiles", scanSeq);
addGraphicDialogSetting("wavesetting", scanSeq, scanTable);
Seq<SettingsMenuDialog.SettingsTable.Setting> opacitySeq = new Seq<>();