Added item drops, fixed various bugs

This commit is contained in:
Anuken
2018-06-04 16:17:24 -04:00
parent a6225962b0
commit 2a5118326a
35 changed files with 233 additions and 81 deletions

View File

@@ -163,7 +163,7 @@ public class DesktopInput extends InputHandler{
}
if(canTapPlayer(Graphics.mouseWorld().x, Graphics.mouseWorld().y)){
cursorType = drill;
cursorType = unload;
}
}
@@ -246,7 +246,7 @@ public class DesktopInput extends InputHandler{
}
}
tryDropItems(cursor.target());
tryDropItems(cursor.target(), Graphics.world(screenX, screenY).x, Graphics.world(screenX, screenY).y);
mode = none;

View File

@@ -3,6 +3,7 @@ package io.anuke.mindustry.input;
import com.badlogic.gdx.InputAdapter;
import com.badlogic.gdx.math.Vector2;
import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.entities.effect.ItemDrop;
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.effect.ItemTransfer;
@@ -189,7 +190,7 @@ public abstract class InputHandler extends InputAdapter{
return droppingItem;
}
public void tryDropItems(Tile tile){
public void tryDropItems(Tile tile, float x, float y){
if(!droppingItem || !player.inventory.hasItem() || !tile.block().hasItems){
droppingItem = false;
return;
@@ -240,6 +241,9 @@ public abstract class InputHandler extends InputAdapter{
}
});
}
}else{
ItemDrop.create(stack.item, stack.amount, player.x, player.y, player.angleTo(x, y));
player.inventory.clearItem();
}
//TODO create drop on the ground otherwise
}