This commit is contained in:
sharlotte
2021-08-11 11:18:07 +09:00
parent ae2d000e8d
commit 6a0f817929
4 changed files with 59 additions and 62 deletions

View File

@@ -1,5 +1,6 @@
package UnitInfo.ui;
import UnitInfo.SUtils;
import arc.*;
import arc.func.*;
import arc.graphics.*;
@@ -8,16 +9,12 @@ import arc.math.*;
import arc.math.geom.*;
import arc.scene.*;
import arc.scene.style.*;
import arc.scene.ui.Label;
import arc.scene.ui.layout.*;
import arc.util.Align;
import arc.util.Strings;
import arc.util.pooling.*;
import mindustry.graphics.*;
import mindustry.ui.*;
import static UnitInfo.SVars.modUiScale;
import static mindustry.Vars.player;
public class SBar extends Element{
static final Rect scissor = new Rect();
@@ -48,21 +45,6 @@ public class SBar extends Element{
init();
}
public Drawable drawable(String name, int left, int right, int top, int bottom){
Drawable out;
TextureAtlas.AtlasRegion region = Core.atlas.find(name);
int[] splits = {left, right, top, bottom};
NinePatch patch = new NinePatch(region, splits[0], splits[1], splits[2], splits[3]);
int[] pads = region.pads;
if(pads != null) patch.setPadding(pads[0], pads[1], pads[2], pads[3]);
out = new ScaledNinePatchDrawable(patch, 1);
return out;
}
public void init(){
boolean ssim = Core.settings.getBool("ssim");
boolean shar = Core.settings.getBool("shar");
@@ -70,32 +52,32 @@ public class SBar extends Element{
boolean shar2 = Core.settings.getBool("shar2");
boolean shar3 = Core.settings.getBool("shar3");
bar = (NinePatchDrawable) drawable("unitinfo-barS", 10, 10, 9, 9);
top = (NinePatchDrawable) drawable("unitinfo-barS-top", 10, 10, 9, 9);
bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barS"), 10, 10, 9, 9);
top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barS-top"), 10, 10, 9, 9);
spriteWidth = Core.atlas.find("unitinfo-barS").width;
if(ssim){
bar = (NinePatchDrawable) drawable("unitinfo-barSS", 14, 14, 19, 19);
top = (NinePatchDrawable) drawable("unitinfo-barSS-top", 14, 14, 19, 19);
bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSS"), 14, 14, 19, 19);
top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSS-top"), 14, 14, 19, 19);
spriteWidth = Core.atlas.find("unitinfo-barSS").width;
}
else if(shar){
bar = (NinePatchDrawable) drawable("unitinfo-barSSS", 25, 25, 17, 17);
top = (NinePatchDrawable) drawable("unitinfo-barSSS-top", 25, 25, 17, 17);
bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSS"), 25, 25, 17, 17);
top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSS-top"), 25, 25, 17, 17);
spriteWidth = Core.atlas.find("unitinfo-barSSS").width;
}
else if(shar1){
bar = (NinePatchDrawable) drawable("unitinfo-barSSSS", 25, 25, 17, 17);
top = (NinePatchDrawable) drawable("unitinfo-barSSSS-top", 25, 25, 17, 17);
bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSS"), 25, 25, 17, 17);
top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSS-top"), 25, 25, 17, 17);
spriteWidth = Core.atlas.find("unitinfo-barSSSS").width;
}
else if(shar2){
bar = (NinePatchDrawable) drawable("unitinfo-barSSSSS", 27, 27, 16, 16);
top = (NinePatchDrawable) drawable("unitinfo-barSSSSS-top", 27, 27, 16, 16);
bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSS"), 27, 27, 16, 16);
top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSS-top"), 27, 27, 16, 16);
spriteWidth = Core.atlas.find("unitinfo-barSSSSS").width;
}
else if(shar3){
bar = (NinePatchDrawable) drawable("unitinfo-barSSSSSS", 32, 32, 16, 16);
top = (NinePatchDrawable) drawable("unitinfo-barSSSSSS-top", 32, 32, 16, 16);
bar = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSSS"), 32, 32, 16, 16);
top = (NinePatchDrawable) SUtils.getDrawable(Core.atlas.find("unitinfo-barSSSSSS-top"), 32, 32, 16, 16);
spriteWidth = Core.atlas.find("unitinfo-barSSSSSS").width;
}
}
@@ -103,6 +85,7 @@ public class SBar extends Element{
@Override
public void draw(){
if(fraction == null) return;
float computed;
try{
computed = Mathf.clamp(fraction.get());
@@ -128,7 +111,6 @@ public class SBar extends Element{
Draw.colorl(0.1f);
bar.draw(x, y, width, height);
Draw.color(color.cpy().mul(Pal.lightishGray), blinkColor, blink);
float topWidth = width * value;
if(topWidth > spriteWidth){
@@ -150,8 +132,6 @@ public class SBar extends Element{
ScissorStack.pop();
}
}
Draw.color();
Fonts.outline.draw(name, x + width / 2f, y + height * 0.75f, Color.white, Scl.scl(modUiScale < 1 ? modUiScale : 1), false, Align.center);
}
}