More functionality, lots of bugfixes

This commit is contained in:
Anuken
2019-10-17 23:51:23 -04:00
parent dec6a1296b
commit 61d15782d0
6 changed files with 76 additions and 26 deletions
@@ -2,8 +2,10 @@ package io.anuke.mindustry.ui.dialogs;
import io.anuke.arc.graphics.*;
import io.anuke.arc.scene.ui.*;
import io.anuke.arc.util.*;
import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.Schematics.*;
import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.ui.*;
import static io.anuke.mindustry.Vars.schematics;
@@ -13,6 +15,7 @@ public class SchematicsDialog extends FloatingDialog{
public SchematicsDialog(){
super("$schematics");
addCloseButton();
shown(this::setup);
}
@@ -20,19 +23,33 @@ public class SchematicsDialog extends FloatingDialog{
cont.clear();
cont.pane(t -> {
t.top();
t.margin(20f);
int i = 0;
for(Schematic s : schematics.all()){
addButton(b -> {
Texture tex = schematics.getPreview(s, PreviewRes.low);
b.stack(new Image(tex), new BorderImage(tex)).size(100f);
Button sel = t.addButton(b -> {
Texture tex = schematics.getPreview(s, PreviewRes.high);
b.add(s.name()).center().color(Color.lightGray).fillY().get().setEllipsis(true);
b.row();
b.add(new BorderImage(tex){
@Override
public void draw(){
//Draw.blend(Blending.disabled);
super.draw();
//Draw.blend();
}
}.setScaling(Scaling.fit).setName("border"));
}, () -> {
}).size(110f).pad(4);
}).size(200f, 230f).pad(2).style(Styles.clearPartiali).get();
if(++i % 3 == 0){
BorderImage image = sel.find("border");
image.update(() -> image.borderColor = (sel.isOver() ? Pal.accent : Pal.gray));
if(++i % 4 == 0){
t.row();
}
}
});
}).get().setScrollingDisabled(true, false);
}
}