Core database content icon click support

This commit is contained in:
Anuken
2024-06-19 16:56:20 -04:00
parent 4f93a5c332
commit 65e7891991
14 changed files with 101 additions and 61 deletions

View File

@@ -6,6 +6,7 @@ import mindustry.gen.*;
import mindustry.type.*;
import mindustry.ui.*;
import mindustry.world.*;
import mindustry.world.meta.*;
public class ConsumeItemDynamic extends Consume{
public final Func<Building, ItemStack[]> items;
@@ -42,7 +43,7 @@ public class ConsumeItemDynamic extends Consume{
int i = 0;
for(ItemStack stack : items.get(build)){
table.add(new ReqImage(new ItemImage(stack.item.uiIcon, Math.round(stack.amount * multiplier.get(build))),
table.add(new ReqImage(StatValues.stack(stack.item, Math.round(stack.amount * multiplier.get(build))),
() -> build.items != null && build.items.has(stack.item, Math.round(stack.amount * multiplier.get(build))))).padRight(8).left();
if(++i % 4 == 0) table.row();
}

View File

@@ -31,7 +31,7 @@ public class ConsumeItemFilter extends Consume{
@Override
public void build(Building build, Table table){
MultiReqImage image = new MultiReqImage();
content.items().each(i -> filter.get(i) && i.unlockedNow(), item -> image.add(new ReqImage(new ItemImage(item.uiIcon, 1),
content.items().each(i -> filter.get(i) && i.unlockedNow(), item -> image.add(new ReqImage(StatValues.stack(item, 1),
() -> build.items.has(item))));
table.add(image).size(8 * 4);

View File

@@ -33,7 +33,7 @@ public class ConsumeItems extends Consume{
table.table(c -> {
int i = 0;
for(var stack : items){
c.add(new ReqImage(new ItemImage(stack.item.uiIcon, Math.round(stack.amount * multiplier.get(build))),
c.add(new ReqImage(StatValues.stack(stack.item, Math.round(stack.amount * multiplier.get(build))),
() -> build.items.has(stack.item, Math.round(stack.amount * multiplier.get(build))))).padRight(8);
if(++i % 4 == 0) c.row();
}

View File

@@ -63,7 +63,7 @@ public class ConsumePayloadDynamic extends Consume{
table.table(c -> {
int i = 0;
for(var stack : pay){
c.add(new ReqImage(new ItemImage(stack.item.uiIcon, Math.round(stack.amount * multiplier.get(build))),
c.add(new ReqImage(StatValues.stack(stack.item, Math.round(stack.amount * multiplier.get(build))),
() -> inv.contains(stack.item, Math.round(stack.amount * multiplier.get(build))))).padRight(8);
if(++i % 4 == 0) c.row();
}

View File

@@ -57,7 +57,7 @@ public class ConsumePayloadFilter extends Consume{
MultiReqImage image = new MultiReqImage();
content.blocks().each(i -> filter.get(i) && i.unlockedNow(),
block -> image.add(new ReqImage(new ItemImage(block.uiIcon, 1),
block -> image.add(new ReqImage(StatValues.stack(block, 1),
() -> inv.contains(block, 1)))
);

View File

@@ -38,7 +38,7 @@ public class ConsumePayloads extends Consume{
for(var stack : payloads){
stats.add(Stat.input, t -> {
t.add(new ItemImage(stack));
t.add(StatValues.stack(stack));
t.add(stack.item.localizedName).padLeft(4).padRight(4);
});
}
@@ -51,7 +51,7 @@ public class ConsumePayloads extends Consume{
table.table(c -> {
int i = 0;
for(var stack : payloads){
c.add(new ReqImage(new ItemImage(stack.item.uiIcon, Math.round(stack.amount * multiplier.get(build))),
c.add(new ReqImage(StatValues.stack(stack.item, Math.round(stack.amount * multiplier.get(build))),
() -> inv.contains(stack.item, Math.round(stack.amount * multiplier.get(build))))).padRight(8);
if(++i % 4 == 0) c.row();
}