Files
Mindustry/core/src/mindustry/ui/CoreItemsDisplay.java
2023-07-23 16:30:44 -04:00

56 lines
1.5 KiB
Java

package mindustry.ui;
import arc.scene.ui.layout.*;
import arc.struct.*;
import mindustry.*;
import mindustry.core.*;
import mindustry.type.*;
import mindustry.world.blocks.storage.CoreBlock.*;
import static mindustry.Vars.*;
public class CoreItemsDisplay extends Table{
private final ObjectSet<Item> usedItems = new ObjectSet<>();
private CoreBuild core;
public CoreItemsDisplay(){
rebuild();
}
public void resetUsed(){
usedItems.clear();
background(null);
}
void rebuild(){
clear();
if(usedItems.size > 0){
background(Styles.black6);
margin(4);
}
update(() -> {
core = Vars.player.team().core();
if(content.items().contains(item -> core != null && core.items.get(item) > 0 && usedItems.add(item))){
rebuild();
}
});
int i = 0;
for(Item item : content.items()){
if(usedItems.contains(item)){
image(item.uiIcon).size(iconSmall).padRight(3).tooltip(t -> t.background(Styles.black6).margin(4f).add(item.localizedName).style(Styles.outlineLabel));
//TODO leaks garbage
label(() -> core == null ? "0" : UI.formatAmount(core.items.get(item))).padRight(3).minWidth(52f).left().tooltip(t -> t.background(Styles.black6).margin(4f).label(() -> core == null ? "0" : core.items.get(item) + "").style(Styles.outlineLabel));
if(++i % 4 == 0){
row();
}
}
}
}
}