buildTable improvements
This commit is contained in:
@@ -1,31 +1,28 @@
|
|||||||
package mindustry.world.blocks;
|
package mindustry.world.blocks;
|
||||||
|
|
||||||
import arc.struct.*;
|
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
import arc.scene.style.*;
|
import arc.scene.style.*;
|
||||||
import arc.scene.ui.*;
|
import arc.scene.ui.*;
|
||||||
import arc.scene.ui.layout.*;
|
import arc.scene.ui.layout.*;
|
||||||
|
import arc.struct.*;
|
||||||
|
import mindustry.ctype.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.type.*;
|
|
||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
import mindustry.ui.Cicon;
|
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
|
|
||||||
public class ItemSelection{
|
public class ItemSelection{
|
||||||
|
|
||||||
public static void buildItemTable(Table table, Prov<Item> holder, Cons<Item> consumer){
|
public static <T extends UnlockableContent> void buildTable(Table table, Array<T> items, Prov<T> holder, Cons<T> consumer){
|
||||||
|
|
||||||
Array<Item> items = content.items();
|
|
||||||
|
|
||||||
ButtonGroup<ImageButton> group = new ButtonGroup<>();
|
ButtonGroup<ImageButton> group = new ButtonGroup<>();
|
||||||
group.setMinCheckCount(0);
|
group.setMinCheckCount(0);
|
||||||
Table cont = new Table();
|
Table cont = new Table();
|
||||||
cont.defaults().size(38);
|
cont.defaults().size(40);
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
for(Item item : items){
|
for(T item : items){
|
||||||
if(!data.isUnlocked(item) && world.isZone()) continue;
|
if(!data.isUnlocked(item) && world.isZone()) continue;
|
||||||
|
|
||||||
ImageButton button = cont.addImageButton(Tex.whiteui, Styles.clearToggleTransi, 24, () -> control.input.frag.config.hideConfig()).group(group).get();
|
ImageButton button = cont.addImageButton(Tex.whiteui, Styles.clearToggleTransi, 24, () -> control.input.frag.config.hideConfig()).group(group).get();
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ public class Sorter extends Block{
|
|||||||
@Override
|
@Override
|
||||||
public void buildConfiguration(Tile tile, Table table){
|
public void buildConfiguration(Tile tile, Table table){
|
||||||
SorterEntity entity = tile.ent();
|
SorterEntity entity = tile.ent();
|
||||||
ItemSelection.buildItemTable(table, () -> entity.sortItem, item -> {
|
ItemSelection.buildTable(table, content.items(), () -> entity.sortItem, item -> {
|
||||||
lastItem = item;
|
lastItem = item;
|
||||||
tile.configure(item == null ? -1 : item.id);
|
tile.configure(item == null ? -1 : item.id);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class ItemSource extends Block{
|
|||||||
@Override
|
@Override
|
||||||
public void buildConfiguration(Tile tile, Table table){
|
public void buildConfiguration(Tile tile, Table table){
|
||||||
ItemSourceEntity entity = tile.ent();
|
ItemSourceEntity entity = tile.ent();
|
||||||
ItemSelection.buildItemTable(table, () -> entity.outputItem, item -> {
|
ItemSelection.buildTable(table, content.items(), () -> entity.outputItem, item -> {
|
||||||
lastItem = item;
|
lastItem = item;
|
||||||
tile.configure(item == null ? -1 : item.id);
|
tile.configure(item == null ? -1 : item.id);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,24 +1,19 @@
|
|||||||
package mindustry.world.blocks.sandbox;
|
package mindustry.world.blocks.sandbox;
|
||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.struct.*;
|
|
||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.scene.style.*;
|
|
||||||
import arc.scene.ui.*;
|
|
||||||
import arc.scene.ui.layout.*;
|
import arc.scene.ui.layout.*;
|
||||||
import arc.util.*;
|
|
||||||
import arc.util.ArcAnnotate.*;
|
import arc.util.ArcAnnotate.*;
|
||||||
|
import arc.util.*;
|
||||||
import mindustry.entities.traits.BuilderTrait.*;
|
import mindustry.entities.traits.BuilderTrait.*;
|
||||||
import mindustry.entities.type.*;
|
import mindustry.entities.type.*;
|
||||||
import mindustry.gen.*;
|
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.ui.*;
|
|
||||||
import mindustry.ui.Cicon;
|
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
|
import mindustry.world.blocks.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.content;
|
||||||
|
|
||||||
public class LiquidSource extends Block{
|
public class LiquidSource extends Block{
|
||||||
public static Liquid lastLiquid;
|
public static Liquid lastLiquid;
|
||||||
@@ -82,29 +77,10 @@ public class LiquidSource extends Block{
|
|||||||
public void buildConfiguration(Tile tile, Table table){
|
public void buildConfiguration(Tile tile, Table table){
|
||||||
LiquidSourceEntity entity = tile.ent();
|
LiquidSourceEntity entity = tile.ent();
|
||||||
|
|
||||||
Array<Liquid> items = content.liquids();
|
ItemSelection.buildTable(table, content.liquids(), () -> entity.source, liquid -> {
|
||||||
|
lastLiquid = liquid;
|
||||||
ButtonGroup<ImageButton> group = new ButtonGroup<>();
|
tile.configure(liquid == null ? -1 : liquid.id);
|
||||||
group.setMinCheckCount(0);
|
});
|
||||||
Table cont = new Table();
|
|
||||||
|
|
||||||
for(int i = 0; i < items.size; i++){
|
|
||||||
final int f = i;
|
|
||||||
ImageButton button = cont.addImageButton(Tex.clear, Styles.clearToggleTransi, 24, () -> control.input.frag.config.hideConfig()).size(38).group(group).get();
|
|
||||||
button.changed(() -> {
|
|
||||||
tile.configure(button.isChecked() ? items.get(f).id : -1);
|
|
||||||
control.input.frag.config.hideConfig();
|
|
||||||
lastLiquid = items.get(f);
|
|
||||||
});
|
|
||||||
button.getStyle().imageUp = new TextureRegionDrawable(items.get(i).icon(Cicon.medium));
|
|
||||||
button.setChecked(entity.source == items.get(i));
|
|
||||||
|
|
||||||
if(i % 4 == 3){
|
|
||||||
cont.row();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
table.add(cont);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ public class Unloader extends Block{
|
|||||||
@Override
|
@Override
|
||||||
public void buildConfiguration(Tile tile, Table table){
|
public void buildConfiguration(Tile tile, Table table){
|
||||||
UnloaderEntity entity = tile.ent();
|
UnloaderEntity entity = tile.ent();
|
||||||
ItemSelection.buildItemTable(table, () -> entity.sortItem, item -> {
|
ItemSelection.buildTable(table, content.items(), () -> entity.sortItem, item -> {
|
||||||
lastItem = item;
|
lastItem = item;
|
||||||
tile.configure(item == null ? -1 : item.id);
|
tile.configure(item == null ? -1 : item.id);
|
||||||
});
|
});
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=292d60e7d6c2013334b0f4f30659e1d885f73cfe
|
archash=a3edc4804b57ac9f8c59216cc470f05133f8c804
|
||||||
|
|||||||
Reference in New Issue
Block a user