diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index b065a63e23..df24a53b4a 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1220,6 +1220,7 @@ setting.bloomblur.name = Bloom Blur setting.effects.name = Display Effects setting.destroyedblocks.name = Display Destroyed Blocks setting.blockstatus.name = Display Block Status +setting.displayselection.name = Display Block Configs on Hover setting.conveyorpathfinding.name = Conveyor Placement Pathfinding setting.sensitivity.name = Controller Sensitivity setting.saveinterval.name = Save Interval diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index 49ccaa2ee5..7bdbecfed0 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -1201,6 +1201,13 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, block.drawOverlay(x, y, rotation); } + public void drawItemSelection(UnlockableContent selection){ + if(selection != null && Core.settings.getBool("displayselection", true)){ + TextureRegion region = selection.fullIcon; + Draw.rect(region, x, y + block.size * tilesize / 2f + 4, 8f * region.ratio(), 8f); + } + } + public void drawDisabled(){ Draw.color(Color.scarlet); Draw.alpha(0.8f); diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 9b2cc277ed..e32dc46d61 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -453,6 +453,7 @@ public class SettingsMenuDialog extends BaseDialog{ graphics.checkPref("drawlight", true); graphics.checkPref("destroyedblocks", true); graphics.checkPref("blockstatus", false); + graphics.checkPref("displayselection", true); graphics.checkPref("playerchat", true); if(!mobile){ graphics.checkPref("coreitems", true); diff --git a/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java b/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java index 92ccae0e11..313426c159 100644 --- a/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java +++ b/core/src/mindustry/world/blocks/distribution/DirectionalUnloader.java @@ -128,6 +128,12 @@ public class DirectionalUnloader extends Block{ } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(unloadItem); + } + @Override public void buildConfiguration(Table table){ ItemSelection.buildTable(DirectionalUnloader.this, table, content.items(), () -> unloadItem, this::configure); diff --git a/core/src/mindustry/world/blocks/distribution/DuctRouter.java b/core/src/mindustry/world/blocks/distribution/DuctRouter.java index 502915d288..5ba1ff7c21 100644 --- a/core/src/mindustry/world/blocks/distribution/DuctRouter.java +++ b/core/src/mindustry/world/blocks/distribution/DuctRouter.java @@ -89,6 +89,12 @@ public class DuctRouter extends Block{ } } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(sortItem); + } + @Override public void updateTile(){ progress += edelta() / speed * 2f; diff --git a/core/src/mindustry/world/blocks/distribution/Sorter.java b/core/src/mindustry/world/blocks/distribution/Sorter.java index 805fad17aa..c5f8f52248 100644 --- a/core/src/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/mindustry/world/blocks/distribution/Sorter.java @@ -83,6 +83,12 @@ public class Sorter extends Block{ super.draw(); } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(sortItem); + } + @Override public boolean acceptItem(Building source, Item item){ Building to = getTileTarget(item, source, false); diff --git a/core/src/mindustry/world/blocks/sandbox/ItemSource.java b/core/src/mindustry/world/blocks/sandbox/ItemSource.java index 28d42f86ec..b505c5f883 100644 --- a/core/src/mindustry/world/blocks/sandbox/ItemSource.java +++ b/core/src/mindustry/world/blocks/sandbox/ItemSource.java @@ -78,6 +78,12 @@ public class ItemSource extends Block{ super.draw(); } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(outputItem); + } + @Override public void updateTile(){ if(outputItem == null) return; @@ -121,4 +127,4 @@ public class ItemSource extends Block{ outputItem = content.item(read.s()); } } -} \ No newline at end of file +} diff --git a/core/src/mindustry/world/blocks/sandbox/LiquidSource.java b/core/src/mindustry/world/blocks/sandbox/LiquidSource.java index f51b9cda1f..224539af1e 100644 --- a/core/src/mindustry/world/blocks/sandbox/LiquidSource.java +++ b/core/src/mindustry/world/blocks/sandbox/LiquidSource.java @@ -83,6 +83,12 @@ public class LiquidSource extends Block{ Draw.rect(block.region, x, y); } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(source); + } + @Override public void buildConfiguration(Table table){ ItemSelection.buildTable(LiquidSource.this, table, content.liquids(), () -> source, this::configure, selectionRows, selectionColumns); @@ -111,4 +117,4 @@ public class LiquidSource extends Block{ source = id == -1 ? null : content.liquid(id); } } -} \ No newline at end of file +} diff --git a/core/src/mindustry/world/blocks/storage/Unloader.java b/core/src/mindustry/world/blocks/storage/Unloader.java index 08a9880162..4732141ac7 100644 --- a/core/src/mindustry/world/blocks/storage/Unloader.java +++ b/core/src/mindustry/world/blocks/storage/Unloader.java @@ -233,6 +233,12 @@ public class Unloader extends Block{ Draw.color(); } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(sortItem); + } + @Override public void buildConfiguration(Table table){ ItemSelection.buildTable(Unloader.this, table, content.items(), () -> sortItem, this::configure, selectionRows, selectionColumns); diff --git a/core/src/mindustry/world/blocks/units/UnitCargoUnloadPoint.java b/core/src/mindustry/world/blocks/units/UnitCargoUnloadPoint.java index d7a2e02c0d..b49ae76b4c 100644 --- a/core/src/mindustry/world/blocks/units/UnitCargoUnloadPoint.java +++ b/core/src/mindustry/world/blocks/units/UnitCargoUnloadPoint.java @@ -50,6 +50,12 @@ public class UnitCargoUnloadPoint extends Block{ } } + @Override + public void drawSelect(){ + super.drawSelect(); + drawItemSelection(item); + } + @Override public void updateTile(){ super.updateTile();