From 7e3e34ffe1b12b20e36ec1139649f866bef597e3 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 6 Nov 2017 23:05:22 -0500 Subject: [PATCH] Implemented new enemy spawning, sorter, teleporter and others --- core/assets-raw/sprites/blocks/sorter.png | Bin 0 -> 248 bytes .../sprites/blocks/teleporter-top.png | Bin 0 -> 273 bytes core/assets-raw/sprites/blocks/teleporter.png | Bin 0 -> 282 bytes .../assets-raw/sprites/ui/icon-arrow-left.png | Bin 0 -> 198 bytes .../sprites/ui/icon-arrow-right.png | Bin 0 -> 191 bytes core/assets/sprites/sprites.atlas | 263 ++++++++++-------- core/assets/sprites/sprites.png | Bin 45330 -> 45020 bytes core/src/io/anuke/mindustry/Control.java | 18 +- core/src/io/anuke/mindustry/UI.java | 38 ++- .../anuke/mindustry/entities/BulletType.java | 8 + .../entities/enemies/HealerEnemy.java | 4 +- .../mindustry/entities/enemies/TankEnemy.java | 2 +- .../entities/enemies/TitanEnemy.java | 12 +- core/src/io/anuke/mindustry/input/Input.java | 17 +- .../io/anuke/mindustry/resource/Recipe.java | 3 +- core/src/io/anuke/mindustry/world/Block.java | 10 +- .../world/blocks/DistributionBlocks.java | 10 + .../world/blocks/ProductionBlocks.java | 2 +- .../world/blocks/types/BlockPart.java | 4 +- .../world/blocks/types/Configurable.java | 8 + .../blocks/types/distribution/Conveyor.java | 2 +- .../blocks/types/distribution/Junction.java | 9 +- .../blocks/types/distribution/Router.java | 4 +- .../blocks/types/distribution/Sorter.java | 107 ++++++- .../blocks/types/distribution/Teleporter.java | 117 +++++++- desktop/mindustry-saves/0.mins | Bin 2020 -> 3462 bytes 26 files changed, 486 insertions(+), 152 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/sorter.png create mode 100644 core/assets-raw/sprites/blocks/teleporter-top.png create mode 100644 core/assets-raw/sprites/blocks/teleporter.png create mode 100644 core/assets-raw/sprites/ui/icon-arrow-left.png create mode 100644 core/assets-raw/sprites/ui/icon-arrow-right.png create mode 100644 core/src/io/anuke/mindustry/world/blocks/types/Configurable.java diff --git a/core/assets-raw/sprites/blocks/sorter.png b/core/assets-raw/sprites/blocks/sorter.png new file mode 100644 index 0000000000000000000000000000000000000000..987efbc821dd2aa84a484ef953ddf0483a5b5f43 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4*pj^6T^QU!u;_2(k{*arUS;>;oN;-~#fkCpwHKN2hKQ}iuuY|$5 zC^fMpHASI3vm`^o-P1Q9ypd0wfq@~x)5S4F;&N^OLCzxz3@pbJ*tu>u#70aijp})D zEkW*JfwAB)m1_Up^tC+M`JMc=M< tt61TF-KBR9+s!H7r!{Zpw)ba*!l<_uwnJg8~E)_CnU|^6eag8W(&d<$F%`0JW zE=o--Nlj5G&n(GMaQE~L2yf&QXJBBc^mK6yk+|G?ZX<8AgMiD$@)uSL3Ps{6Desbu z%bR>u&#mJQf1oE5`+#pkL5YNt|CU+$e{XKl;f`1@e*DRE>5{G2f^QzU_th|}aDLwG zm+Wc%EV4DHxLsVjI!b1JP?!8A;i#FKy})+v>^ilryZa00pKy;gc3gYafM=iS9Mxw* UdcSTlFfcH9y85}Sb4q9e0Hmf|#Q*>R literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/teleporter.png b/core/assets-raw/sprites/blocks/teleporter.png new file mode 100644 index 0000000000000000000000000000000000000000..74f3d68a162697426557f37686b94aed04bdcfd5 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l<_uw8LgFsZ?8YXz`!6`;u=xnoS&PUnpeW$ zT$GwvlA5AWo>`Ki;O^-g5Z=fq&cMLXgTe~DWM4f^>$$4 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/ui/icon-arrow-left.png b/core/assets-raw/sprites/ui/icon-arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..ceac5c958a69fd007a05308138be62f2f791c177 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0y~yU;weXIM^5%7M w)ZSXZe9_Y>>oO&$N|y7j?o-*Zsr~+HYYFqMi$wl0FfcH9y85}Sb4q9e082VSP5=M^ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/ui/icon-arrow-right.png b/core/assets-raw/sprites/ui/icon-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..23fd28680908809effce8b38a1e4a0c18ca78fbd GIT binary patch literal 191 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ΜEQR}d`xdTWxpL*R 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 apMTb@J+r=VUcn05>*eX{=d#Wzp$P!PFvz6< literal 45330 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 !GameState.is(State.menu); VisibilityProvider nplay = () -> GameState.is(State.menu); @@ -73,6 +79,7 @@ public class UI extends SceneModule{ Colors.put("turretinfo", Color.ORANGE); Colors.put("missingitems", Color.SCARLET); Colors.put("health", Color.YELLOW); + Colors.put("interact", Color.ORANGE); } protected void loadSkin(){ @@ -121,6 +128,9 @@ public class UI extends SceneModule{ @Override public void init(){ + configtable = new Table(); + scene.add(configtable); + settingserror = new Dialog("Warning", "dialog"); settingserror.content().add("[crimson]Failed to access local storage.\nSettings will not be saved."); settingserror.content().pad(10f); @@ -666,6 +676,32 @@ public class UI extends SceneModule{ }); } + public void showConfig(Tile tile){ + configTile = tile; + + configtable.setVisible(true); + configtable.clear(); + ((Configurable)tile.block()).buildTable(tile, configtable); + configtable.pack(); + + configtable.update(()->{ + Vector2 pos = Graphics.screen(tile.worldx(), tile.worldy()); + configtable.setPosition(pos.x, pos.y, Align.center); + if(configTile == null || configTile.block() == Blocks.air){ + hideConfig(); + } + }); + } + + public boolean hasConfigMouse(){ + Element e = scene.hit(Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY(), true); + return e != null && (e == configtable || e.isDescendantOf(configtable)); + } + + public void hideConfig(){ + configtable.setVisible(false); + } + public void showError(String text){ new Dialog("[crimson]An error has occured", "dialog"){{ content().pad(Unit.dp.inPixels(15)); diff --git a/core/src/io/anuke/mindustry/entities/BulletType.java b/core/src/io/anuke/mindustry/entities/BulletType.java index d818016fce..19d9d73fdf 100644 --- a/core/src/io/anuke/mindustry/entities/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/BulletType.java @@ -162,8 +162,16 @@ public abstract class BulletType extends BaseBulletType{ Draw.reset(); } }, + smallSlow = new BulletType(1.2f, 1){ + public void draw(Bullet b){ + Draw.color("orange"); + Draw.rect("bullet", b.x, b.y, b.angle()); + Draw.reset(); + } + }, purple = new BulletType(1.6f, 2){ Color color = new Color(0x8b5ec9ff); + public void draw(Bullet b){ Draw.color(color); Draw.rect("bullet", b.x, b.y, b.angle()); diff --git a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java index 6a0e1cab55..5db42e6830 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java @@ -12,14 +12,14 @@ import io.anuke.ucore.graphics.Hue; import io.anuke.ucore.util.Angles; public class HealerEnemy extends Enemy{ - int healTime = 10; + int healTime = 14; public HealerEnemy(int spawn) { super(spawn); speed = 0.2f; reload = 30; - maxhealth = 210; + maxhealth = 130; range = 90f; bullet = BulletType.shot; range = 30f; diff --git a/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java index 75c43a8ac7..0558d950c5 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/TankEnemy.java @@ -10,7 +10,7 @@ public class TankEnemy extends Enemy{ public TankEnemy(int spawn) { super(spawn); - maxhealth = 400; + maxhealth = 350; speed = 0.2f; reload = 90f; bullet = BulletType.small; diff --git a/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java index bfc4809a65..cc45391bd1 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java @@ -12,7 +12,7 @@ public class TitanEnemy extends Enemy{ speed = 0.1f; reload = 30; - maxhealth = 210; + maxhealth = 330; range = 80f; bullet = BulletType.small; hitbox.setSize(7f); @@ -26,23 +26,23 @@ public class TitanEnemy extends Enemy{ @Override void updateShooting(){ - Timers.get(this, "salvo", 200); + Timers.get(this, "salvo", 250); if(Timers.getTime(this, "salvo") < 60){ - if(Timers.get(this, "salvoShoot", 5)){ + if(Timers.get(this, "salvoShoot", 6)){ shoot(BulletType.flame, Mathf.range(20f)); } } - if(Timers.get(this, "shotgun", 80)){ + if(Timers.get(this, "shotgun", 90)){ Angles.shotgun(5, 10f, 0f, f->{ - shoot(BulletType.small, f); + shoot(BulletType.smallSlow, f); }); } if(Timers.get(this, "circle", 200)){ Angles.circle(8, f->{ - shoot(BulletType.small, f); + shoot(BulletType.smallSlow, f); }); } } diff --git a/core/src/io/anuke/mindustry/input/Input.java b/core/src/io/anuke/mindustry/input/Input.java index ab176f7fbb..c05aa00d1f 100644 --- a/core/src/io/anuke/mindustry/input/Input.java +++ b/core/src/io/anuke/mindustry/input/Input.java @@ -11,6 +11,7 @@ import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.resource.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.World; +import io.anuke.mindustry.world.blocks.types.Configurable; import io.anuke.ucore.core.Graphics; import io.anuke.ucore.core.Inputs; import io.anuke.ucore.core.Timers; @@ -45,6 +46,8 @@ public class Input{ } } + Tile cursor = World.tile(tilex(), tiley()); + if(Inputs.buttonUp(Buttons.LEFT) && player.recipe != null && World.validPlace(tilex(), tiley(), player.recipe.result) && !ui.hasMouse() && cursorNear() && Vars.control.hasItems(player.recipe.requirements)){ @@ -59,17 +62,25 @@ public class Input{ Cursors.restoreCursor(); } + }else if(Inputs.buttonUp(Buttons.LEFT)){ + if(cursor != null && cursor.block() instanceof Configurable){ + Vars.ui.showConfig(cursor); + }else if(!Vars.ui.hasConfigMouse()){ + Vars.ui.hideConfig(); + } + } + + if(Inputs.buttonUp(Buttons.RIGHT)){ + Vars.ui.hideConfig(); } if(player.recipe != null && Inputs.buttonUp(Buttons.RIGHT)){ player.recipe = null; Cursors.restoreCursor(); } - - Tile cursor = World.tile(tilex(), tiley()); //block breaking - if(cursor != null && Inputs.buttonDown(Buttons.RIGHT) && World.validBreak(tilex(), tiley())){ + if(Inputs.buttonDown(Buttons.RIGHT) && cursor != null && World.validBreak(tilex(), tiley())){ Tile tile = cursor; player.breaktime += Timers.delta(); if(player.breaktime >= tile.getBreakTime()){ diff --git a/core/src/io/anuke/mindustry/resource/Recipe.java b/core/src/io/anuke/mindustry/resource/Recipe.java index 2a58c9d955..991258ca8d 100644 --- a/core/src/io/anuke/mindustry/resource/Recipe.java +++ b/core/src/io/anuke/mindustry/resource/Recipe.java @@ -21,7 +21,6 @@ public enum Recipe{ titaniumshieldwall(defense, DefenseBlocks.titaniumshieldwall, stack(Item.titanium, 2)), shieldgenerator(defense, DefenseBlocks.shieldgenerator, stack(Item.titanium, 10), stack(Item.dirium, 10)), - conveyor(distribution, DistributionBlocks.conveyor, stack(Item.stone, 1)), steelconveyor(distribution, DistributionBlocks.steelconveyor, stack(Item.steel, 1)), poweredconveyor(distribution, DistributionBlocks.poweredconveyor, stack(Item.dirium, 1)), @@ -30,6 +29,7 @@ public enum Recipe{ conduit(distribution, DistributionBlocks.conduit, stack(Item.steel, 1)), liquidrouter(distribution, DistributionBlocks.liquidrouter, stack(Item.steel, 2)), liquidjunction(distribution, DistributionBlocks.liquidjunction, stack(Item.steel, 2)), + sorter(distribution, DistributionBlocks.sorter, stack(Item.steel, 2)), turret(weapon, WeaponBlocks.turret, stack(Item.stone, 4)), dturret(weapon, WeaponBlocks.doubleturret, stack(Item.stone, 7)), @@ -62,6 +62,7 @@ public enum Recipe{ powerbooster(power, DistributionBlocks.powerbooster, stack(Item.titanium, 10), stack(Item.dirium, 10)), powerlaser(power, DistributionBlocks.powerlaser, stack(Item.titanium, 10), stack(Item.dirium, 10)), powerlaserrouter(power, DistributionBlocks.powerlaserrouter, stack(Item.titanium, 10), stack(Item.dirium, 10)), + teleporter(power, DistributionBlocks.teleporter, stack(Item.titanium, 10), stack(Item.dirium, 10)), pump(production, ProductionBlocks.pump, stack(Item.steel, 10)); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 90f574f4d8..e6462f26b9 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -69,7 +69,7 @@ public class Block{ return amount; } - public void handleItem(Tile tile, Item item, Tile source){ + public void handleItem(Item item, Tile tile, Tile source){ tile.entity.addItem(item, 1); } @@ -107,7 +107,7 @@ public class Block{ //don't output to things facing this thing && !(other.block().rotate && (other.rotation + 2) % 4 == i)){ - other.block().handleItem(other, item, tile); + other.block().handleItem(item, other, tile); tile.dump = (byte)((i+1)%4); return; } @@ -115,7 +115,7 @@ public class Block{ i %= 4; } tile.dump = (byte)pdump; - handleItem(tile, item, tile); + handleItem(item, tile, tile); } /** Try dumping any item near the tile. */ @@ -142,7 +142,7 @@ public class Block{ if(tile.entity.hasItem(item) && other != null && other.block().acceptItem(item, other, tile) && //don't output to things facing this thing !(other.block().rotate && (other.rotation + 2) % 4 == i)){ - other.block().handleItem(other, item, tile); + other.block().handleItem(item, other, tile); tile.entity.removeItem(item, 1); tile.dump = (byte)((i+1)%4); return true; @@ -161,7 +161,7 @@ public class Block{ protected boolean offloadDir(Tile tile, Item item){ Tile other = tile.getNearby()[tile.rotation]; if(other != null && other.block().acceptItem(item, other, tile)){ - other.block().handleItem(other, item, tile); + other.block().handleItem(item, other, tile); //other.entity.addCovey(item, ch == 1 ? 0.5f : ch ==2 ? 1f : 0f); return true; } diff --git a/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java index 7899c72bc7..53e9b09d6e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DistributionBlocks.java @@ -56,5 +56,15 @@ public class DistributionBlocks{ { formalName = "laser router"; } + }, + teleporter = new Teleporter("teleporter"){ + { + + } + }, + sorter = new Sorter("sorter"){ + { + + } }; } diff --git a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java index 2f23b060c9..aae24ec36d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java @@ -27,7 +27,7 @@ public class ProductionBlocks{ } @Override - public void handleItem(Tile tile, Item item, Tile source){ + public void handleItem(Item item, Tile tile, Tile source){ Vars.control.addItem(item, 1); } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java b/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java index aca3e6cf66..866d0a10c8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java @@ -21,8 +21,8 @@ public class BlockPart extends Block implements PowerAcceptor, LiquidAcceptor{ } @Override - public void handleItem(Tile tile, Item item, Tile source){ - tile.getLinked().block().handleItem(tile.getLinked(), item, source); + public void handleItem(Item item, Tile tile, Tile source){ + tile.getLinked().block().handleItem(item, tile.getLinked(), source); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/Configurable.java b/core/src/io/anuke/mindustry/world/blocks/types/Configurable.java new file mode 100644 index 0000000000..b59ad48f1e --- /dev/null +++ b/core/src/io/anuke/mindustry/world/blocks/types/Configurable.java @@ -0,0 +1,8 @@ +package io.anuke.mindustry.world.blocks.types; + +import io.anuke.mindustry.world.Tile; +import io.anuke.ucore.scene.ui.layout.Table; + +public interface Configurable{ + public void buildTable(Tile tile, Table table); +} diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java index f13cf8c6d8..8d7f9bb51d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java @@ -108,7 +108,7 @@ public class Conveyor extends Block{ } @Override - public void handleItem(Tile tile, Item item, Tile source){ + public void handleItem(Item item, Tile tile, Tile source){ int ch = Math.abs(source.relativeTo(tile.x, tile.y) - tile.rotation); int ang = ((source.relativeTo(tile.x, tile.y) - tile.rotation)); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java index c1450b3ed6..d41f91673b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Junction.java @@ -19,14 +19,13 @@ public class Junction extends Block{ } @Override - public void handleItem(Tile tile, Item item, Tile source){ + public void handleItem(Item item, Tile tile, Tile source){ int dir = source.relativeTo(tile.x, tile.y); - dir = (dir+4)%4; Tile to = tile.getNearby()[dir]; Timers.run(15, ()->{ if(to == null || to.entity == null) return; - to.block().handleItem(to, item, tile); + to.block().handleItem(item, to, tile); }); } @@ -34,10 +33,8 @@ public class Junction extends Block{ @Override public boolean acceptItem(Item item, Tile dest, Tile source){ int dir = source.relativeTo(dest.x, dest.y); - dir = (dir+4)%4; Tile to = dest.getNearby()[dir]; - //uncomment the junction bit to disable giving items to other junctions - return to != null /*&& to.block() != junction*/ && to.block().acceptItem(item, to, dest); + return to != null && to.block().acceptItem(item, to, dest); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Router.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Router.java index 41a5aba0d5..e8b0306dcf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Router.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Router.java @@ -36,8 +36,8 @@ public class Router extends Block{ } @Override - public void handleItem(Tile tile, Item item, Tile source){ - super.handleItem(tile, item, source); + public void handleItem(Item item, Tile tile, Tile source){ + super.handleItem(item, tile, source); lastmap.put(tile, (byte)tile.relativeTo(source.x, source.y)); } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java index 7e10391c7e..2208be4cb3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Sorter.java @@ -4,20 +4,119 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import com.badlogic.gdx.graphics.g2d.TextureRegion; + import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.types.Configurable; +import io.anuke.ucore.core.Draw; +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.ucore.scene.ui.layout.Unit; +import io.anuke.ucore.util.Mathf; +import io.anuke.ucore.util.Tmp; //TODO -public class Sorter extends Junction{ +public class Sorter extends Junction implements Configurable{ public Sorter(String name) { super(name); } - public boolean acceptItem(Item item, Tile tile, Tile source){ + @Override + public void draw(Tile tile){ + super.draw(tile); + SorterEntity entity = tile.entity(); - return super.acceptItem(item, tile, source) && item == entity.sortItem; + + TextureRegion region = Draw.region("icon-" + entity.sortItem.name()); + Tmp.tr1.setRegion(region, 4, 4, 1, 1); + + Draw.rect(Tmp.tr1, tile.worldx(), tile.worldy(), 4f, 4f); + } + + @Override + public String description(){ + return "[interact]Tap block to config[]\nSorts input items by type."; + } + + @Override + public boolean acceptItem(Item item, Tile dest, Tile source){ + Tile to = getTileTarget(item, dest, source, false); + + return to != null && to.block().acceptItem(item, to, dest); + } + + @Override + public void handleItem(Item item, Tile tile, Tile source){ + Tile to = getTileTarget(item, tile, source, true); + + Timers.run(15, ()->{ + if(to == null || to.entity == null) return; + to.block().handleItem(item, to, tile); + }); + + } + + Tile getTileTarget(Item item, Tile dest, Tile source, boolean flip){ + SorterEntity entity = dest.entity(); + + int dir = source.relativeTo(dest.x, dest.y); + Tile to = null; + + if(item == entity.sortItem){ + to = dest.getNearby()[dir]; + }else{ + Tile a = dest.getNearby()[Mathf.mod(dir - 1, 4)]; + Tile b = dest.getNearby()[Mathf.mod(dir + 1, 4)]; + boolean ac = a.block().acceptItem(item, a, dest); + boolean bc = b.block().acceptItem(item, b, dest); + + if(ac && !bc){ + to = a; + }else if(bc && !ac){ + to = b; + }else{ + if(dest.dump == 0){ + to = a; + if(flip) + dest.dump = 1; + }else{ + to = b; + if(flip) + dest.dump = 0; + } + } + } + + return to; + } + + @Override + public void buildTable(Tile tile, Table table){ + SorterEntity entity = tile.entity(); + + table.addIButton("icon-arrow-left", Unit.dp.inPixels(10*3), ()->{ + int color = entity.sortItem.ordinal(); + + color --; + if(color < 0) + color += Item.values().length; + + entity.sortItem = Item.values()[color]; + }); + + table.add().size(40f).units(Unit.dp); + + table.addIButton("icon-arrow-right", Unit.dp.inPixels(10*3), ()->{ + int color = entity.sortItem.ordinal(); + + color ++; + color %= Item.values().length; + + entity.sortItem = Item.values()[color]; + }); } @Override @@ -26,7 +125,7 @@ public class Sorter extends Junction{ } public static class SorterEntity extends TileEntity{ - public Item sortItem = Item.stone; + public Item sortItem = Item.iron; @Override public void write(DataOutputStream stream) throws IOException{ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java index 563eeac9a1..56a04d3ba4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Teleporter.java @@ -4,21 +4,135 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.utils.Array; +import com.badlogic.gdx.utils.ObjectSet; + import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.types.Configurable; +import io.anuke.ucore.core.Draw; +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.ucore.scene.ui.layout.Unit; +import io.anuke.ucore.util.Mathf; //TODO -public class Teleporter extends Block{ +public class Teleporter extends Block implements Configurable{ public static final int colors = 4; + public static final Color[] colorArray = {Color.ROYAL, Color.ORANGE, Color.SCARLET, Color.FOREST}; + + private static Array removal = new Array<>(); + private static Array returns = new Array<>(); + private static ObjectSet[] teleporters = new ObjectSet[colors]; + + static{ + for(int i = 0; i < colors; i ++){ + teleporters[i] = new ObjectSet<>(); + } + } public Teleporter(String name) { super(name); + update = true; + solid = true; + } + + @Override + public String description(){ + return "[interact]Tap block to config[]\nTeleports items to others of the same color."; + } + + @Override + public void draw(Tile tile){ + TeleporterEntity entity = tile.entity(); + + super.draw(tile); + + Draw.color(colorArray[entity.color]); + Draw.rect("blank", tile.worldx(), tile.worldy(), 2, 2); + Draw.color(Color.WHITE); + Draw.alpha(0.45f + Mathf.absin(Timers.time(), 7f, 0.26f)); + Draw.rect("teleporter-top", tile.worldx(), tile.worldy()); + Draw.reset(); + } + + @Override + public void update(Tile tile){ + TeleporterEntity entity = tile.entity(); + + teleporters[entity.color].add(tile); + + if(entity.totalItems() > 0){ + tryDump(tile); + } + } + + @Override + public void buildTable(Tile tile, Table table){ + TeleporterEntity entity = tile.entity(); + + table.addIButton("icon-arrow-left", Unit.dp.inPixels(10*3), ()->{ + entity.color --; + if(entity.color < 0) + entity.color += 4; + }); + + table.add().size(40f).units(Unit.dp); + + table.addIButton("icon-arrow-right", Unit.dp.inPixels(10*3), ()->{ + entity.color ++; + entity.color %= 4; + }); + } + + @Override + public void handleItem(Item item, Tile tile, Tile source){ + Array links = findLinks(tile); + + if(links.size > 0){ + Tile target = links.get(Mathf.random(0, links.size-1)); + target.entity.addItem(item, 1); + } + } + + @Override + public boolean acceptItem(Item item, Tile dest, Tile source){ + Array links = findLinks(dest); + return links.size > 0; } @Override public TileEntity getEntity(){ return new TeleporterEntity(); } + + static Array findLinks(Tile tile){ + TeleporterEntity entity = tile.entity(); + + removal.clear(); + returns.clear(); + + for(Tile other : teleporters[entity.color]){ + if(other != tile){ + if(other.block() instanceof Teleporter){ + if(other.entity().color != entity.color){ + removal.add(other); + }else if(other.entity.totalItems() == 0){ + returns.add(other); + } + }else{ + removal.add(other); + } + } + } + for(Tile remove : removal) + teleporters[entity.color].remove(remove); + + return returns; + } public static class TeleporterEntity extends TileEntity{ public byte color = 0; @@ -33,4 +147,5 @@ public class Teleporter extends Block{ color = stream.readByte(); } } + } diff --git a/desktop/mindustry-saves/0.mins b/desktop/mindustry-saves/0.mins index 3a418ca6bca15e6c9d1d7dc43e3f404b663b81dc..216c23b406f573b8b55e8d863eea788c2e9bad01 100644 GIT binary patch literal 3462 zcmZQzVBlb2V2q!#DB(B*0|S$*7z2Zge(!$gW?fDO28I*{c4h{-77sQCxt0c22D#>+ z3=DFuGZ`7=T6tI)OPaI!w$G!qQ}5(9i;lX)!R!t_HI-7#L)9;jFbVmf$)VOB&9S)Q5|$ zhq0tKz*s_tFqR&KrNzJ?VFVMC+5}_C8N*n7TfrpiH7HhyLDYeRO9!MFWG=%S1_n7NFiVqxK?Tmz zg}YV{E+*s*QzzmKaV>}sasmSrLtq1gej@{esB<|;P>g{=^l$}~CFWcSW$7FSF+ibV z31Mk6FtEFT#WWchL|h=Ig4_l*HEa@tQ5FM($PqLdMh1}v1_n`=c933>We^3tpt2@{ zfq_BHr4uTndj!M)Wq-b-U_)3y#z%n#85sCo(ZrY-{2Cb7H83#nV^J-Du9}g-uYrL< z0E<#VOr@y}3=D!;lnP-eW&GU0z#xQ0sW7HekOPFVC>4PyWnzM+5(XAf6zMiF@I7N> z_{YE?>N*`12B5Gz3NHD?7#PG{!6ly<1B292kR&M7c-&wtzGINE0+|R4KVdhp7)m-5 zhNwdk6M?D&=>8Xfq_Bd z1YGtcSe6-NojFL5kx>$qiabGVuzOCSD_{r%#j+PzfhGfk`6(ES?=*%|rv?TFb8onU zGiVB!73=AUv5MhuqxJeMD zs3u9A2PpxE>jkhDM6@t6fHE3?09cqAR7k>1;)f_j5fi|oP5_HKK`iP7v8WTmqD}~l zIuWQkkT+oNY!)K}D7}b6G(iIn z8i!&KwP=FaRPtSdm%GT0|SE~x;jS2 z1W;Ltt`s6Hgk7}|L^Th{4H_U<3S+2a00pHmL>(d#FoE*GK2YMr&;XKQ5JA@f$uy$q zsu>s#5QrGa@6ZGQ3P66S zQY7IlP<4f=8Z3;i8Wc0=NX;Zx8yFfusT5r`BSaWo1E_cj1^Ee-c$Kb#Sy~JX zqSs+8SvX4%!U8qkZ@^^bz{NR8uT3miOp}2@Dh|ftzYk-H$Aei~3=C=sU>2xp{}9Gf zPK2?99)Vd}3=G0>mP9gG4AeMI0kgCi7_3skEKLRm@n>L`1_Og8gr&v6U<_wjrh#QO z85k6wgIO934Cd)z7N|6S0cL41Fla$opw2)BSPWzbT#P#lCZ_Wm%+h3FFoLkO7#R3+ Vz+zeq44efpmRS*uWnKbd0RR@y1(*N; literal 2020 zcmZQzVBlb2V2lsgA@zZQfq~JrYu92I4h9D2y|n+}}C>jV~4VPFt;0-MeR@*>DK zkht(6G%-d7mIej}5vWp-60lN6hNLP61`&vAer5&+29U5QR2i~~q7XGGwunL0>4S_j z0x1SD7(^Ht#16rNOxy_;WGZk6Yrx3<5{NEKt-ySgH&RBCZhgK^_3x33tDSD_AusnYuyLAiGQW z7@8O~BB4s*#xXJ^buuuBKveU?Ob~@CgYiK&i9*z%MkGWXW<-iZ6r)9pgc~ec4BbFR zf>Nf@F&N7j!UB2U9qf2SJ~)ob7eSL3KMsp533pgzsT~KKtHQvb=MH9p^0)`s95h#n zo`AVZ?gUJwk_U`s01;DRV6cRlD!OOsW33e1%p{2b#RtCq&QM#V9^N^i-3#W1hZ5b7^H52St<++qS0WMDg%QAgr&m3AbT4oW(W}j>9_|Ila7P2 zR3I#61_q^vU@>I|2GK`gmI?!dWHO8;kpgCcYA6T`RDV4Mi>WX$SUiKV3^TwiRR#v0 zOfU;n_q_zOlo=Q}v%oA>1_l)fOPPT|2f|WeV9%9R@jImI?!d H6_f=404Sgp