diff --git a/core/assets/version.properties b/core/assets/version.properties index 561cea3929..e369f5a76b 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Sat Apr 14 20:37:32 EDT 2018 +#Sat Apr 14 21:02:06 EDT 2018 version=release -androidBuildCode=920 +androidBuildCode=922 name=Mindustry code=3.5 build=custom build diff --git a/core/src/io/anuke/mindustry/entities/UnitInventory.java b/core/src/io/anuke/mindustry/entities/UnitInventory.java index 684ca8d6ae..0f3b4dd919 100644 --- a/core/src/io/anuke/mindustry/entities/UnitInventory.java +++ b/core/src/io/anuke/mindustry/entities/UnitInventory.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.resource.*; public class UnitInventory { private final AmmoEntry ammo = new AmmoEntry(AmmoType.getByID(0), 0); - private CarryItem item; + private ItemStack item; private int capacity; public UnitInventory(int capacity) { @@ -15,32 +15,28 @@ public class UnitInventory { return capacity; } + public boolean isEmpty(){ + return item == null; + } + public int itemCapacityUsed(Item type){ if(canAcceptItem(type)){ - return !hasItem() ? capacity : (capacity - getItem().amount); + return !hasItem() ? capacity : (capacity - item.amount); }else{ return capacity; } } public boolean canAcceptItem(Item type){ - return !hasItem() || (getItem().item == type && capacity - getItem().amount > 0); + return !hasItem() || (item.item == type && capacity - item.amount > 0); } public void clear(){ item = null; } - public boolean hasAnything(){ - return item != null; - } - - public boolean hasLiquid(){ - return item instanceof LiquidStack; - } - public boolean hasItem(){ - return item instanceof ItemStack; + return item != null; } public void addItem(Item item, int amount){ @@ -52,22 +48,9 @@ public class UnitInventory { } } - public void addLiquid(Liquid liquid, float amount){ - if(hasItem()){ - getLiquid().liquid = liquid; - getLiquid().amount = amount; - }else{ - this.item = new LiquidStack(liquid, amount); - } - } public ItemStack getItem(){ if(!hasItem()) throw new RuntimeException("This inventory has no item! Check hasItem() first."); - return (ItemStack)item; - } - - public LiquidStack getLiquid(){ - if(!hasItem()) throw new RuntimeException("This inventory has no item! Check hasItem() first."); - return (LiquidStack)item; + return item; } } diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 0349d150fb..43283759ec 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -47,7 +47,7 @@ public class DesktopInput extends InputHandler{ boolean canBeginShoot = Inputs.keyTap("select") && canShoot(); - if(Inputs.keyTap("select") && recipe == null && player.inventory.hasAnything()){ + if(Inputs.keyTap("select") && recipe == null && player.inventory.hasItem()){ Vector2 vec = Graphics.screen(player.x, player.y); if(vec.dst(Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY()) <= playerSelectRange){ canBeginShoot = false; @@ -112,11 +112,11 @@ public class DesktopInput extends InputHandler{ Tile target = cursor == null ? null : cursor.target(); boolean showCursor = false; - if(droppingItem && Inputs.keyRelease("select") && player.inventory.hasAnything() && target != null){ + if(droppingItem && Inputs.keyRelease("select") && !player.inventory.isEmpty() && target != null){ dropItem(target, player.inventory.getItem()); } - if(droppingItem && (!Inputs.keyDown("select") || !player.inventory.hasAnything())){ + if(droppingItem && (!Inputs.keyDown("select") || player.inventory.isEmpty())){ droppingItem = false; } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index cf531b98c9..46dc1128d2 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -1,13 +1,11 @@ package io.anuke.mindustry.ui.fragments; import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Colors; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Interpolation; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.IntSet; -import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.ui.ItemImage; @@ -18,7 +16,6 @@ import io.anuke.ucore.core.Inputs; import io.anuke.ucore.core.Timers; import io.anuke.ucore.function.BooleanProvider; import io.anuke.ucore.function.Callable; -import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.scene.actions.Actions; import io.anuke.ucore.scene.event.HandCursorListener; import io.anuke.ucore.scene.event.Touchable; @@ -82,6 +79,7 @@ public class BlockInventoryFragment implements Fragment { table.margin(3f); table.defaults().size(16 * 2).space(6f); + /* if(tile.block().hasPower){ table.add(new ItemImage(Draw.region("icon-power"), () -> round(tile.entity.power.amount), Colors.get("power"))); @@ -101,13 +99,13 @@ public class BlockInventoryFragment implements Fragment { int amount = Inputs.keyDown("item_withdraw") ? items[f] : 1; items[f] -= amount; - move(item.region, image, () -> player.inventory.addItem(item, amount), Color.WHITE);*/ + move(item.region, image, () -> player.inventory.addItem(item, amount), Color.WHITE); } }); table.add(image); if (row++ % cols == cols - 1) table.row(); - } + }*/ if(tile.block().hasInventory) { int[] items = tile.entity.inventory.items; diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 4d3e9c1758..282ff144f6 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -194,7 +194,7 @@ public class Block extends BaseBlock { public void update(Tile tile){} public boolean isAccessible(){ - return (hasInventory && itemCapacity > 0) || hasLiquids || hasPower; + return (hasInventory && itemCapacity > 0); } public void onDestroyed(Tile tile){