diff --git a/core/assets/version.properties b/core/assets/version.properties index 65ecbbb3a5..561cea3929 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Sat Apr 14 13:47:10 EDT 2018 +#Sat Apr 14 20:37:32 EDT 2018 version=release -androidBuildCode=918 +androidBuildCode=920 name=Mindustry code=3.5 build=custom build diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index bd984317ca..3b50283c1c 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -30,7 +30,7 @@ public abstract class InputHandler extends InputAdapter{ public PlaceMode breakMode = android ? PlaceMode.none : PlaceMode.holdDelete; public PlaceMode lastPlaceMode = placeMode; public PlaceMode lastBreakMode = breakMode; - public boolean droppingItem; + public boolean droppingItem, transferring; public boolean shooting; public float playerSelectRange = Unit.dp.scl(60f); @@ -66,18 +66,33 @@ public abstract class InputHandler extends InputAdapter{ public void dropItem(Tile tile, ItemStack stack){ if(tile.block().acceptStack(stack, tile, player)){ + if(transferring) return; + + transferring = true; int accepted = tile.block().handleStack(stack, tile, player); - stack.amount -= accepted; - if(stack.amount == 0) player.inventory.clear(); + boolean clear = stack.amount == accepted; float backTrns = 3f; int sent = Mathf.clamp(accepted/4, 1, 8); + int removed = accepted/sent; + int[] remaining = {accepted}; + for(int i = 0; i < sent; i ++){ + boolean end = i == sent-1; Timers.run(i * 3, () -> { new ItemAnimationEffect(stack.item, player.x + Angles.trnsx(rotation + 180f, backTrns), player.y + Angles.trnsy(rotation + 180f, backTrns), tile.drawx(), tile.drawy()).add(); + + stack.amount -= removed; + remaining[0] -= removed; + + if(end){ + stack.amount -= remaining[0]; + if(clear) player.inventory.clear(); + transferring = false; + } }); } }else{