diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index 3c2921145e..d251b1bd55 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -206,22 +206,12 @@ public abstract class InputHandler extends InputAdapter{ consumed = true; showedInventory = true; } - - if(tile.block().consumes.hasAny()){ - frag.consume.show(tile); - consumed = true; - showedConsume = true; - } } if(!showedInventory){ frag.inv.hide(); } - if(!showedConsume){ - frag.consume.hide(); - } - if(!consumed && player.isBuilding()){ player.clearBuilding(); recipe = null; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java index 0e9f928803..1fbd83d39b 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java @@ -12,6 +12,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.Consume; import io.anuke.ucore.core.Graphics; +import io.anuke.ucore.scene.Element; import io.anuke.ucore.scene.Group; import io.anuke.ucore.scene.ui.layout.Table; @@ -19,6 +20,7 @@ import static io.anuke.mindustry.Vars.*; public class BlockConsumeFragment extends Fragment{ private Table table; + private Tile lastTile; private boolean visible; @Override @@ -26,6 +28,24 @@ public class BlockConsumeFragment extends Fragment{ table = new Table(); table.visible(() -> !state.is(State.menu) && visible); table.setTransform(true); + + parent.addChild(new Element(){{update(() -> { + if(!ui.hasMouse()){ + Tile tile = world.tileWorld(Graphics.mouseWorld().x, Graphics.mouseWorld().y); + if(tile == null) return; + tile = tile.target(); + + if(tile != lastTile){ + if(tile.block().consumes.hasAny()){ + show(tile); + }else if(visible){ + hide(); + } + lastTile = tile; + } + } + });}}); + parent.setTransform(true); parent.addChild(table); } @@ -66,7 +86,7 @@ public class BlockConsumeFragment extends Fragment{ rebuild(block, entity); } - Vector2 v = Graphics.screen(tile.drawx() - tile.block().size * tilesize / 2f, tile.drawy() + tile.block().size * tilesize / 2f); + Vector2 v = Graphics.screen(tile.drawx() - tile.block().size * tilesize / 2f + 0.25f, tile.drawy() + tile.block().size * tilesize / 2f); table.pack(); table.setPosition(v.x, v.y, Align.topRight); }); @@ -76,8 +96,7 @@ public class BlockConsumeFragment extends Fragment{ public void hide(){ table.clear(); - table.update(() -> { - }); + table.update(() -> {}); visible = false; } diff --git a/ios/src/io/anuke/mindustry/IOSLauncher.java b/ios/src/io/anuke/mindustry/IOSLauncher.java index 576a84a96f..afbf7f29ae 100644 --- a/ios/src/io/anuke/mindustry/IOSLauncher.java +++ b/ios/src/io/anuke/mindustry/IOSLauncher.java @@ -24,7 +24,6 @@ import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Date; -import java.util.Locale; import static io.anuke.mindustry.Vars.*; import static org.robovm.apple.foundation.NSPathUtilities.getDocumentsDirectory; @@ -66,11 +65,6 @@ public class IOSLauncher extends IOSApplication.Delegate { TextFieldDialogListener.add(field, maxLength); } - @Override - public String getLocaleName(Locale locale) { - return locale.getDisplayName(locale); - } - @Override public void shareFile(FileHandle file){ FileHandle to = Gdx.files.absolute(getDocumentsDirectory()).child(file.name());