mirror of
https://github.com/yawaflua/Informatis.git
synced 2025-12-10 03:59:26 +02:00
core camera for enemies
This commit is contained in:
@@ -782,49 +782,62 @@ public class HudUi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setCore(Table table){
|
public void setCore(Table table){
|
||||||
table.add(new Table(t -> {
|
table.table(t -> {
|
||||||
if(Vars.player.unit() == null) return;
|
if (Vars.player.unit() == null) return;
|
||||||
coreamount = Vars.player.unit().team().cores().size;
|
|
||||||
for(int r = 0; r < coreamount; r++){
|
|
||||||
CoreBlock.CoreBuild core = Vars.player.unit().team().cores().get(r);
|
|
||||||
|
|
||||||
if(coreamount > 1 && r % 3 == 0) t.row();
|
for(int i = 0; i < coreItems.tables.size; i++){
|
||||||
else if(r % 3 == 0) t.row();
|
int finalI = i;
|
||||||
|
t.table(Tex.underline2, head -> {
|
||||||
t.table(tt -> {
|
head.table(label -> {
|
||||||
tt.add(new Stack(){{
|
label.center();
|
||||||
add(new Table(s -> {
|
label.label(() -> "[#" + coreItems.teams[finalI].color.toString() + "]" + coreItems.teams[finalI].name + "[]");
|
||||||
s.left();
|
});
|
||||||
Image image = new Image(core.block.uiIcon);
|
|
||||||
image.clicked(() -> {
|
|
||||||
if(control.input instanceof DesktopInput) ((DesktopInput) control.input).panning = true;
|
|
||||||
Core.camera.position.set(core.x, core.y);
|
|
||||||
});
|
|
||||||
if(!mobile){
|
|
||||||
HandCursorListener listener1 = new HandCursorListener();
|
|
||||||
image.addListener(listener1);
|
|
||||||
image.update(() -> image.color.lerp(!listener1.isOver() ? Color.lightGray : Color.white, Mathf.clamp(0.4f * Time.delta)));
|
|
||||||
}
|
|
||||||
image.addListener(new Tooltip(t -> t.background(Tex.button).add(new Label(() -> {
|
|
||||||
String color = Tmp.c1.set(Color.green).lerp(Color.red, 1 - core.healthf()).toString();
|
|
||||||
return "([#" + color + "]" + Strings.fixed(core.health, 2) + "[]/" + Strings.fixed(core.block.health, 2) + ")";
|
|
||||||
}))));
|
|
||||||
s.add(image).size(iconLarge).scaling(Scaling.fit);
|
|
||||||
}));
|
|
||||||
|
|
||||||
add(new Table(s -> {
|
|
||||||
s.bottom().defaults().growX().height(Scl.scl(9)).pad(4);
|
|
||||||
s.add(new Bar(() -> "", () -> Pal.health, core::healthf));
|
|
||||||
s.pack();
|
|
||||||
}));
|
|
||||||
}});
|
|
||||||
tt.row();
|
|
||||||
Label label = new Label(() -> "(" + (int)core.x / 8 + ", " + (int)core.y / 8 + ")");
|
|
||||||
label.setFontScale(Scl.scl());
|
|
||||||
tt.add(label);
|
|
||||||
});
|
});
|
||||||
|
t.row();
|
||||||
|
coreamount = coreItems.teams[i].cores().size;
|
||||||
|
for (int r = 0; r < coreamount; r++) {
|
||||||
|
CoreBlock.CoreBuild core = coreItems.teams[i].cores().get(r);
|
||||||
|
|
||||||
|
if (coreamount > 1 && r % 3 == 0) t.row();
|
||||||
|
else if (r % 3 == 0) t.row();
|
||||||
|
|
||||||
|
t.table(tt -> {
|
||||||
|
tt.add(new Stack() {{
|
||||||
|
add(new Table(s -> {
|
||||||
|
s.left();
|
||||||
|
Image image = new Image(core.block.uiIcon);
|
||||||
|
image.clicked(() -> {
|
||||||
|
if (control.input instanceof DesktopInput)
|
||||||
|
((DesktopInput) control.input).panning = true;
|
||||||
|
Core.camera.position.set(core.x, core.y);
|
||||||
|
});
|
||||||
|
if (!mobile) {
|
||||||
|
HandCursorListener listener1 = new HandCursorListener();
|
||||||
|
image.addListener(listener1);
|
||||||
|
image.update(() -> image.color.lerp(!listener1.isOver() ? Color.lightGray : Color.white, Mathf.clamp(0.4f * Time.delta)));
|
||||||
|
}
|
||||||
|
image.addListener(new Tooltip(t -> t.background(Tex.button).add(new Label(() -> {
|
||||||
|
String color = Tmp.c1.set(Color.green).lerp(Color.red, 1 - core.healthf()).toString();
|
||||||
|
return "([#" + color + "]" + Strings.fixed(core.health, 2) + "[]/" + Strings.fixed(core.block.health, 2) + ")";
|
||||||
|
}))));
|
||||||
|
s.add(image).size(iconLarge).scaling(Scaling.fit);
|
||||||
|
}));
|
||||||
|
|
||||||
|
add(new Table(s -> {
|
||||||
|
s.bottom().defaults().growX().height(Scl.scl(9)).pad(4);
|
||||||
|
s.add(new Bar(() -> "", () -> Pal.health, core::healthf));
|
||||||
|
s.pack();
|
||||||
|
}));
|
||||||
|
}});
|
||||||
|
tt.row();
|
||||||
|
Label label = new Label(() -> "(" + (int) core.x / 8 + ", " + (int) core.y / 8 + ")");
|
||||||
|
label.setFontScale(Scl.scl());
|
||||||
|
tt.add(label);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
t.row();
|
||||||
}
|
}
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addCoreTable(){
|
public void addCoreTable(){
|
||||||
@@ -840,8 +853,8 @@ public class HudUi {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
coreScrollPos = corePane.getScrollY();
|
coreScrollPos = corePane.getScrollY();
|
||||||
if(coreamount != Vars.player.unit().team().cores().size && Vars.player != null) corePane.setWidget(new Table(tx -> tx.table(this::setCore).left()));
|
|
||||||
});
|
});
|
||||||
|
corePane.setWidget(new Table(tx -> tx.table(this::setCore).left()));
|
||||||
corePane.setOverscroll(false, false);
|
corePane.setOverscroll(false, false);
|
||||||
if(Vars.player != null) corePane.setWidget(new Table(tx -> tx.table(this::setCore).left()));
|
if(Vars.player != null) corePane.setWidget(new Table(tx -> tx.table(this::setCore).left()));
|
||||||
coreTable = new Table(table -> {
|
coreTable = new Table(table -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user