removed command info ui, added unit item info.

This commit is contained in:
Sharlotte
2021-07-16 09:14:51 +09:00
parent fe851d3d95
commit 0bc8f17594
9 changed files with 49 additions and 2066 deletions

View File

@@ -496,87 +496,6 @@ public class HudUi {
weapon = new Table(tx -> {
tx.left().defaults().minSize(Scl.scl(12 * 8f));
if(settings.getBool("commandedunitui") && Groups.unit.count(u -> u.controller() instanceof FormationAI && ((FormationAI)u.controller()).leader == getUnit()) != 0)
tx.add(new Table(scene.getStyle(Button.ButtonStyle.class).up, t1 -> t1.table(tt -> {
tt.left().top().defaults().width(Scl.scl(24/3f * 8f)).minHeight(Scl.scl(12/3f * 8f));
int amount = 0;
if(type != null) amount = Groups.unit.count(u -> u.controller() instanceof FormationAI && ((FormationAI)u.controller()).leader == getUnit());
Seq<Unit> units = new Seq<>();
units = Groups.unit.copy(units).filter(u -> u.controller() instanceof FormationAI && ((FormationAI)u.controller()).leader == getUnit());
for(int r = 0; r < amount; r++){
Unit unit = units.get(r);
TextureRegion region = unit.type.uiIcon;
if(type.weapons.size > 1 && r % 3 == 0) tt.row();
else if(r % 3 == 0) tt.row();
tt.table(unittable -> {
unittable.left();
unittable.add(new Stack(){{
add(new Table(o -> {
o.left();
o.image(region).size(Scl.scl(30)).scaling(Scaling.fit);
}));
add(new Table(h -> {
h.add(new Stack(){{
add(new Table(e -> {
e.left().defaults().growX().height(Scl.scl(9)).width(Scl.scl(42f)).padRight(Scl.scl(2*8)).padTop(Scl.scl(8*2f));
Bar healthBar = new Bar(
() -> "",
() -> Pal.health,
unit::healthf);
e.add(healthBar).left();
e.pack();
}));
add(new Table(e -> {
e.add(new Stack(){{
add(new Table(t -> {
t.left().defaults().growX().height(Scl.scl(9)).width(Scl.scl(42f)).padRight(Scl.scl(2*8)).padTop(Scl.scl(8*5f));
t.add(new Bar(
() -> "",
() -> unit.stack.item == null || unit.stack.amount <= 0 ? Pal.items : unit.stack.item.color.cpy().lerp(Color.white, 0.15f),
() -> Mathf.clamp(unit.stack.amount / (unit.type.itemCapacity * 1f))
)).growX().left();
}));
add(new Table(t -> {
t.left();
t.add(new Stack(){{
add(new Table(tt ->
tt.add(new Image(){{
update(() -> {
if(!Core.settings.getBool("weaponui")) return;
setDrawable(unit.stack.item == null || unit.stack.amount <= 0 ? Core.atlas.find("clear") : unit.stack.item.uiIcon);
});
}}.setScaling(Scaling.fit)).size(Scl.scl(2.5f * 8f)).scaling(Scaling.fit).padBottom(Scl.scl(4 * 8f)).padLeft(Scl.scl(2 * 8f))
));
add(new Table(tt -> {
Label label = new Label(() -> unit.stack.item == null || unit.stack.amount <= 0 ? "" : unit.stack.amount + "");
label.setFontScale(Scl.scl());
tt.add(label).padBottom(Scl.scl(1 * 8f)).padLeft(Scl.scl(2 * 8f));
tt.pack();
}));
}});
t.pack();
}));
}});
}));
}}).padTop(Scl.scl(2*8)).padRight(Scl.scl(2*8));
h.pack();
}));
}}).left();
}).left();
tt.center();
}
})){
@Override
protected void drawBackground(float x, float y) {
if(getBackground() == null) return;
Color color = this.color;
Draw.color(color.r, color.g, color.b, (settings.getInt("uiopacity") / 100f) * this.parentAlpha);
getBackground().draw(x, y, width, height);
}
}).padRight(Scl.scl(24 * 8f));
tx.row();
if(settings.getBool("weaponui") && type != null && type.weapons.size != 0) tx.add(new Table(scene.getStyle(Button.ButtonStyle.class).up, tt -> {
tt.defaults().width(Scl.scl(24/3f * 8f));

View File

@@ -6,7 +6,10 @@ import arc.Events;
import arc.graphics.Color;
import arc.graphics.g2d.Draw;
import arc.graphics.g2d.Lines;
import arc.math.Angles;
import arc.math.Mathf;
import arc.scene.ui.layout.Scl;
import arc.util.Align;
import arc.util.Time;
import arc.util.Tmp;
import mindustry.Vars;
@@ -16,6 +19,7 @@ import mindustry.game.Team;
import mindustry.gen.Groups;
import mindustry.graphics.Pal;
import mindustry.mod.Mod;
import mindustry.ui.Fonts;
import static arc.Core.*;
import static mindustry.Vars.*;
@@ -72,6 +76,42 @@ public class Main extends Mod {
if(!mobile && !Vars.state.isPaused() && settings.getBool("gaycursor")){
Fx.mine.at(Core.input.mouseWorldX(), Core.input.mouseWorldY(), Tmp.c2.set(Color.red).shiftHue(Time.time * 1.5f));
}
Groups.unit.each(unit -> {
Draw.color();
Tmp.c1.set(Color.white).lerp(Pal.heal, Mathf.clamp(unit.healTime - unit.hitTime));
Draw.mixcol(Tmp.c1, Math.max(unit.hitTime, Mathf.clamp(unit.healTime)));
if(unit.drownTime > 0 && unit.floorOn().isDeep()){
Draw.mixcol(unit.floorOn().mapColor, unit.drownTime * 0.8f);
}
//draw back items
if(unit.item() != null && unit.itemTime > 0.01f){
float size = (itemSize + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime;
Draw.mixcol(Pal.accent, Mathf.absin(Time.time, 5f, 0.1f));
Draw.rect(unit.item().fullIcon,
unit.x + Angles.trnsx(unit.rotation + 180f, unit.type.itemOffsetY),
unit.y + Angles.trnsy(unit.rotation + 180f, unit.type.itemOffsetY),
size, size, unit.rotation);
Draw.mixcol();
Lines.stroke(1f, Pal.accent);
Lines.circle(
unit.x + Angles.trnsx(unit.rotation + 180f, unit.type.itemOffsetY),
unit.y + Angles.trnsy(unit.rotation + 180f, unit.type.itemOffsetY),
(3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime);
if(!renderer.pixelator.enabled()){
Fonts.outline.draw(unit.stack.amount + "",
unit.x + Angles.trnsx(unit.rotation + 180f, unit.type.itemOffsetY),
unit.y + Angles.trnsy(unit.rotation + 180f, unit.type.itemOffsetY) - 3,
Pal.accent, 0.25f * unit.itemTime / Scl.scl(1f), false, Align.center
);
}
Draw.reset();
}
});
});
}

View File

@@ -158,7 +158,6 @@ public class Setting {
addGraphicSetting("select");
addGraphicSetting("infoui");
addGraphicSetting("weaponui");
addGraphicSetting("commandedunitui");
addGraphicSetting("unithealthui");
addGraphicTypeSetting("wavemax", 100, "@editmaxwave","@invalid", 200);
addGraphicTypeSetting("rangemax", 10, "@editrange","@invalid", 100);