From ad23cbc03c9f3912aee8aac84e5b96574e5d52a9 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 1 Nov 2019 17:48:30 -0400 Subject: [PATCH] Schematic fixes --- core/src/io/anuke/mindustry/input/MobileInput.java | 7 +++++++ .../io/anuke/mindustry/ui/dialogs/SchematicsDialog.java | 3 ++- .../mindustry/world/blocks/distribution/Conduit.java | 8 ++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 091f89a6cc..24df56c565 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -20,6 +20,7 @@ import io.anuke.mindustry.entities.traits.BuilderTrait.*; import io.anuke.mindustry.entities.traits.*; import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.game.EventType.*; +import io.anuke.mindustry.game.*; import io.anuke.mindustry.gen.*; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.ui.*; @@ -414,6 +415,12 @@ public class MobileInput extends InputHandler implements GestureListener{ return mode == breaking; } + @Override + public void useSchematic(Schematic schem){ + selectRequests.clear(); + selectRequests.addAll(schematics.toRequests(schem, world.toTile(player.x), world.toTile(player.y))); + } + @Override public boolean touchDown(int screenX, int screenY, int pointer, KeyCode button){ if(state.is(State.menu) || player.isDead()) return false; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SchematicsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SchematicsDialog.java index aad45b93cc..5a556d4138 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SchematicsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SchematicsDialog.java @@ -34,6 +34,7 @@ public class SchematicsDialog extends FloatingDialog{ addCloseButton(); buttons.addImageTextButton("$schematic.import", Icon.loadMapSmall, this::showImport); shown(this::setup); + onResize(this::setup); } void setup(){ @@ -123,7 +124,7 @@ public class SchematicsDialog extends FloatingDialog{ sel[0].getStyle().up = Tex.pane; - if(++i % 4 == 0){ + if(++i % (mobile ? Core.graphics.isPortrait() ? 2 : 3 : 4) == 0){ t.row(); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java index 281ea6b512..77378a076d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java @@ -69,10 +69,10 @@ public class Conduit extends LiquidBlock implements Autotiler{ public Block getReplacement(BuildRequest req, Array requests){ Boolf cont = p -> requests.contains(o -> o.x == req.x + p.x && o.y == req.y + p.y && o.rotation == req.rotation && (req.block instanceof Conduit || req.block instanceof LiquidJunction)); return cont.get(Geometry.d4(req.rotation)) && - cont.get(Geometry.d4(req.rotation - 2)) && - req.tile() != null && - req.tile().block() instanceof Conduit && - Mathf.mod(req.tile().rotation() - req.rotation, 2) == 1 ? Blocks.liquidJunction : this; + cont.get(Geometry.d4(req.rotation - 2)) && + req.tile() != null && + req.tile().block() instanceof Conduit && + Mathf.mod(req.tile().rotation() - req.rotation, 2) == 1 ? Blocks.liquidJunction : this; } @Override