From 39f59b80409eaf639f29e9faf872d2294ea8498b Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 24 Jan 2022 12:42:27 -0500 Subject: [PATCH] Fixed empty category --- core/src/mindustry/content/Blocks.java | 2 ++ core/src/mindustry/ui/fragments/PlacementFragment.java | 9 ++++++++- core/src/mindustry/world/meta/BuildVisibility.java | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 86e6d325fc..8c2ce6f11a 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1791,6 +1791,8 @@ public class Blocks{ duct = new Duct("duct"){{ requirements(Category.distribution, with(Items.graphite, 1)); + //TODO bad idea? should this just require 1 beryllium? + buildVisibility = BuildVisibility.berylliumOnly; speed = 4f; }}; diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index 68b56afb4b..a94fcfc236 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -87,7 +87,7 @@ public class PlacementFragment extends Fragment{ } void rebuild(){ - currentCategory = Category.turret; + currentCategory = Category.distribution; Group group = toggler.parent; int index = toggler.getZIndex(); toggler.remove(); @@ -400,6 +400,8 @@ public class PlacementFragment extends Fragment{ Seq blocks = getUnlockedByCategory(cat); categoryEmpty[cat.ordinal()] = blocks.isEmpty(); } + + boolean needsAssign = categoryEmpty[currentCategory.ordinal()]; int f = 0; for(Category cat : getCategories()){ @@ -409,6 +411,11 @@ public class PlacementFragment extends Fragment{ categories.image(Styles.black6); continue; } + + if(needsAssign){ + currentCategory = cat; + needsAssign = false; + } categories.button(ui.getIcon(cat.name()), Styles.clearToggleTransi, () -> { currentCategory = cat; diff --git a/core/src/mindustry/world/meta/BuildVisibility.java b/core/src/mindustry/world/meta/BuildVisibility.java index 2402b0238b..b9558fc1a5 100644 --- a/core/src/mindustry/world/meta/BuildVisibility.java +++ b/core/src/mindustry/world/meta/BuildVisibility.java @@ -2,6 +2,7 @@ package mindustry.world.meta; import arc.func.*; import mindustry.*; +import mindustry.content.*; public enum BuildVisibility{ hidden(() -> false), @@ -11,6 +12,7 @@ public enum BuildVisibility{ sandboxOnly(() -> Vars.state == null || Vars.state.rules.infiniteResources), campaignOnly(() -> Vars.state == null || Vars.state.isCampaign()), lightingOnly(() -> Vars.state == null || Vars.state.rules.lighting || Vars.state.isCampaign()), + berylliumOnly(() -> !Vars.state.rules.hiddenBuildItems.contains(Items.beryllium)), ammoOnly(() -> Vars.state == null || Vars.state.rules.unitAmmo); private final Boolp visible;