This commit is contained in:
Sharlotte
2021-07-21 18:50:57 +09:00
parent cc1121bd47
commit a6cd44a26d
2 changed files with 71 additions and 74 deletions

View File

@@ -133,10 +133,10 @@ public class BarInfo {
if(target instanceof Turret.TurretBuild){ if(target instanceof Turret.TurretBuild){
Turret turret = (Turret)((Turret.TurretBuild)target).block; Turret turret = (Turret)((Turret.TurretBuild)target).block;
if(turret.chargeTime > 0f) { if(turret.chargeTime > 0f) {
float value = Mathf.clamp(Main.hud.heat2 / turret.chargeTime) * 100f; float value = Mathf.clamp(Main.hud.charge / turret.chargeTime) * 100f;
strings.set(3, Core.bundle.format("shar-stat.charge", Strings.fixed(value, (Math.abs((int)value - value) <= 0.001f ? 0 : Math.abs((int)(value * 10) - value * 10) <= 0.001f ? 1 : 2)))); strings.set(3, Core.bundle.format("shar-stat.charge", Strings.fixed(value, (Math.abs((int)value - value) <= 0.001f ? 0 : Math.abs((int)(value * 10) - value * 10) <= 0.001f ? 1 : 2))));
colors.set(3, Pal.surge.cpy().lerp(Pal.accent, Main.hud.heat2 / turret.chargeTime)); colors.set(3, Pal.surge.cpy().lerp(Pal.accent, Main.hud.charge / turret.chargeTime));
numbers.set(3, Main.hud.heat2 / turret.chargeTime); numbers.set(3, Main.hud.charge / turret.chargeTime);
} }
} }
else if(target instanceof Unit && ((Unit) target).type != null) { else if(target instanceof Unit && ((Unit) target).type != null) {

View File

@@ -44,19 +44,17 @@ public class HudUi {
float coreScrollPos; float coreScrollPos;
float tileScrollPos; float tileScrollPos;
@Nullable UnitType type;
Element image; Element image;
Color lastItemColor = Pal.items; Color lastItemColor = Pal.items;
Color lastAmmoColor = Pal.ammo; Color lastAmmoColor = Pal.ammo;
float heat; float charge;
float heat2;
float a; float a;
int uiIndex = 0; int uiIndex = 0;
//to update wave, core table //to update tables
int maxwave; int waveamount;
int coreamount; int coreamount;
int weaponamount;
BarInfo info = new BarInfo(); BarInfo info = new BarInfo();
Seq<String> strings = new Seq<>(new String[]{"","","","","",""}); Seq<String> strings = new Seq<>(new String[]{"","","","","",""});
@@ -381,8 +379,7 @@ public class HudUi {
public void addWeapon(){ public void addWeapon(){
weapon = new Table(tx -> { weapon = new Table(tx -> {
tx.left().defaults().minSize(Scl.scl(12 * 8f)); tx.left().defaults().minSize(Scl.scl(12 * 8f));
weaponamount = ((Unit)getUnit()).type.weapons.size;
if(getUnit() instanceof Unit && settings.getBool("weaponui") && ((Unit)getUnit()).type != null && ((Unit)getUnit()).type.weapons.size != 0)
tx.add(new Table(scene.getStyle(Button.ButtonStyle.class).up, tt -> { tx.add(new Table(scene.getStyle(Button.ButtonStyle.class).up, tt -> {
tt.left().top().defaults().width(Scl.scl(24/3f * 8f)).minHeight(Scl.scl(12/3f * 8f)); tt.left().top().defaults().width(Scl.scl(24/3f * 8f)).minHeight(Scl.scl(12/3f * 8f));
@@ -556,13 +553,13 @@ public class HudUi {
numbers = info.returnNumbers(getUnit()); numbers = info.returnNumbers(getUnit());
colors = info.returnColors(getUnit()); colors = info.returnColors(getUnit());
if(getUnit() instanceof Turret.TurretBuild){ if(getUnit() instanceof Turret.TurretBuild){
if(((Turret.TurretBuild)getUnit()).charging) heat2 += Time.delta; if(((Turret.TurretBuild)getUnit()).charging) charge += Time.delta;
else heat2 = 0f; else charge = 0f;
} }
heat += Time.delta; if (settings.getBool("weaponui")
if (heat >= 6) { && getUnit() instanceof Unit
heat = 0f; && ((Unit)getUnit()).type != null
if(getUnit() instanceof Unit) type = ((Unit)getUnit()).type(); && weaponamount != ((Unit)getUnit()).type.weapons.size) {
table.removeChild(weapon); table.removeChild(weapon);
addWeapon(); addWeapon();
table.row(); table.row();
@@ -577,8 +574,8 @@ public class HudUi {
public void setWave(Table table){ public void setWave(Table table){
int winWave = state.isCampaign() && state.rules.winWave > 0 ? state.rules.winWave : Integer.MAX_VALUE; int winWave = state.isCampaign() && state.rules.winWave > 0 ? state.rules.winWave : Integer.MAX_VALUE;
maxwave = settings.getInt("wavemax"); waveamount = settings.getInt("wavemax");
for(int i = settings.getBool("pastwave") ? 0 : state.wave - 1; i <= Math.min(state.wave + maxwave, winWave - 2); i++){ for(int i = settings.getBool("pastwave") ? 0 : state.wave - 1; i <= Math.min(state.wave + waveamount, winWave - 2); i++){
final int j = i; final int j = i;
if(!settings.getBool("emptywave") && state.rules.spawns.find(g -> g.getSpawned(j) > 0) == null) continue; if(!settings.getBool("emptywave") && state.rules.spawns.find(g -> g.getSpawned(j) > 0) == null) continue;
table.table(t -> { table.table(t -> {
@@ -725,7 +722,7 @@ public class HudUi {
} }
} }
waveScrollPos = wavePane.getScrollY(); waveScrollPos = wavePane.getScrollY();
if(maxwave != settings.getInt("wavemax")) if(waveamount != settings.getInt("wavemax"))
wavePane.setWidget(new Table(tx -> tx.table(this::setWave).left())); wavePane.setWidget(new Table(tx -> tx.table(this::setWave).left()));
}); });
wavePane.setOverscroll(false, false); wavePane.setOverscroll(false, false);