diff --git a/core/assets-raw/sprites/blocks/production/alloy-fuser.png b/core/assets-raw/sprites/blocks/production/alloy-fuser.png deleted file mode 100644 index 19815de0ff..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/alloy-fuser.png and /dev/null differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index ee3722141f..295db825a2 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -504,16 +504,16 @@ block.deepwater.name = deepwater block.water.name = water block.lava.name = lava block.tar.name = Tar -block.blackstone.name = blackstone -block.stone.name = stone -block.dirt.name = dirt -block.sand.name = sand -block.ice.name = ice -block.snow.name = snow -block.grass.name = grass -block.shrub.name = shrub -block.rock.name = rock -block.blackrock.name = blackrock +block.blackstone.name = Black Stone +block.stone.name = Stone +block.dirt.name = Dirt +block.sand.name = Sand +block.ice.name = Ice +block.snow.name = Snow +block.grass.name = Grass +block.shrub.name = Shrub +block.rock.name = Rock +block.blackrock.name = Black Rock block.icerock.name = icerock block.copper-wall.name = Copper Wall block.copper-wall-large.name = Large Copper Wall diff --git a/core/src/io/anuke/mindustry/ui/SelectionTable.java b/core/src/io/anuke/mindustry/ui/SelectionTable.java new file mode 100644 index 0000000000..476605cdbc --- /dev/null +++ b/core/src/io/anuke/mindustry/ui/SelectionTable.java @@ -0,0 +1,49 @@ +package io.anuke.mindustry.ui; + +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.mindustry.content.blocks.Blocks; +import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.Tile; +import io.anuke.mindustry.world.blocks.OreBlock; +import io.anuke.ucore.core.Graphics; +import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.scene.style.TextureRegionDrawable; +import io.anuke.ucore.scene.ui.Image; +import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.ucore.util.Mathf; + +import static io.anuke.mindustry.Vars.world; + +public class SelectionTable extends Table{ + Block selected = Blocks.air; + + public SelectionTable(){ + super("clear"); + + margin(4f); + + update(() -> { + Block result; + Tile tile = world.tileWorld(Graphics.mouseWorld().x, Graphics.mouseWorld().y); + if(tile != null){ + tile = tile.target(); + result = tile.block().synthetic() ? tile.block() : tile.floor() instanceof OreBlock ? tile.floor() : null; + }else{ + result = null; + } + + if(result != null) selected = result; + + getTranslation().y = Mathf.lerp(getTranslation().y, result == null ? -getHeight() : 0f, 0.2f); + }); + + Image image = new Image(new TextureRegionDrawable(new TextureRegion(Draw.region("clear")))); + image.update(() -> ((TextureRegionDrawable)image.getDrawable()).setRegion(selected.getEditorIcon())); + + add(image).size(16*2); + label(() -> selected instanceof OreBlock ? selected.drops.item.localizedName() : selected.formalName).pad(4); + + pack(); + getTranslation().y = - getHeight(); + } +} diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 2da9f991a6..3da203e15a 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -16,6 +16,7 @@ import io.anuke.mindustry.net.Packets.AdminAction; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.IntFormat; import io.anuke.mindustry.ui.Minimap; +import io.anuke.mindustry.ui.SelectionTable; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.ucore.core.*; import io.anuke.ucore.graphics.Hue; @@ -198,6 +199,12 @@ public class HudFragment extends Fragment{ t.add("$text.saveload"); }); + //tapped block indicator + parent.fill(t -> { + t.bottom().visible(() -> !state.is(State.menu)); + t.add(new SelectionTable()); + }); + blockfrag.build(Core.scene.getRoot()); }