Schematic fixes

This commit is contained in:
Anuken
2019-11-01 17:48:30 -04:00
parent 4743434e9c
commit ad23cbc03c
3 changed files with 13 additions and 5 deletions

View File

@@ -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;

View File

@@ -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();
}
}

View File

@@ -69,10 +69,10 @@ public class Conduit extends LiquidBlock implements Autotiler{
public Block getReplacement(BuildRequest req, Array<BuildRequest> requests){
Boolf<Point2> 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