mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-01-27 08:00:04 +07:00
Launch UI Max Button (#4238)
* max * Add @Nullable Co-authored-by: Leonwang4234 <62972692+Leonwang4234@users.noreply.github.com>
This commit is contained in:
parent
9774095df4
commit
13fbcb9ba8
@ -287,6 +287,7 @@ cancel = Cancel
|
||||
openlink = Open Link
|
||||
copylink = Copy Link
|
||||
back = Back
|
||||
max = Max
|
||||
crash.export = Export Crash Logs
|
||||
crash.none = No crash logs found.
|
||||
crash.exported = Crash logs exported.
|
||||
|
@ -86,7 +86,10 @@ public class LaunchLoadoutDialog extends BaseDialog{
|
||||
ItemSeq stacks = universe.getLaunchResources();
|
||||
Seq<ItemStack> out = stacks.toSeq();
|
||||
|
||||
loadout.show(selected.findCore().itemCapacity, out, UnlockableContent::unlocked, out::clear, () -> {}, () -> {
|
||||
ItemSeq realItems = sitems.copy();
|
||||
selected.requirements().each(realItems::remove);
|
||||
|
||||
loadout.show(selected.findCore().itemCapacity, realItems, out, UnlockableContent::unlocked, out::clear, () -> {}, () -> {
|
||||
universe.updateLaunchResources(new ItemSeq(out));
|
||||
update.run();
|
||||
rebuildItems.run();
|
||||
|
@ -22,6 +22,7 @@ public class LoadoutDialog extends BaseDialog{
|
||||
private Boolf<Item> validator = i -> true;
|
||||
private Table items;
|
||||
private int capacity;
|
||||
private @Nullable ItemSeq total;
|
||||
|
||||
public LoadoutDialog(){
|
||||
super("@configure");
|
||||
@ -46,6 +47,8 @@ public class LoadoutDialog extends BaseDialog{
|
||||
|
||||
buttons.button("@back", Icon.left, this::hide).size(210f, 64f);
|
||||
|
||||
buttons.button("@max", Icon.export, this::maxItems).size(210f, 64f);
|
||||
|
||||
buttons.button("@settings.reset", Icon.refresh, () -> {
|
||||
resetter.run();
|
||||
reseed();
|
||||
@ -54,12 +57,23 @@ public class LoadoutDialog extends BaseDialog{
|
||||
}).size(210f, 64f);
|
||||
}
|
||||
|
||||
public void maxItems() {
|
||||
for(ItemStack stack : stacks){
|
||||
stack.amount = total == null ? capacity : Math.min(capacity, total.get(stack.item));
|
||||
}
|
||||
}
|
||||
|
||||
public void show(int capacity, Seq<ItemStack> stacks, Boolf<Item> validator, Runnable reseter, Runnable updater, Runnable hider){
|
||||
show(capacity, null, stacks, validator, reseter, updater, hider);
|
||||
}
|
||||
|
||||
public void show(int capacity, ItemSeq total, Seq<ItemStack> stacks, Boolf<Item> validator, Runnable reseter, Runnable updater, Runnable hider){
|
||||
this.originalStacks = stacks;
|
||||
this.validator = validator;
|
||||
this.resetter = reseter;
|
||||
this.updater = updater;
|
||||
this.capacity = capacity;
|
||||
this.total = total;
|
||||
this.hider = hider;
|
||||
reseed();
|
||||
show();
|
||||
|
Loading…
Reference in New Issue
Block a user