Added 'block info' tool, fixed sorter corruptions
This commit is contained in:
@@ -12,7 +12,6 @@ import io.anuke.ucore.core.Graphics;
|
||||
import io.anuke.ucore.core.Inputs;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
||||
import io.anuke.ucore.scene.utils.Cursors;
|
||||
import io.anuke.ucore.util.Mathf;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
@@ -179,10 +178,7 @@ public class AndroidInput extends InputHandler{
|
||||
for(ItemStack stack : recipe.requirements){
|
||||
state.inventory.removeItem(stack);
|
||||
}
|
||||
|
||||
if(!state.inventory.hasItems(recipe.requirements)){
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -23,6 +23,7 @@ public class DefaultKeybinds {
|
||||
"dash", Input.SHIFT_LEFT,
|
||||
"rotate_alt", new Axis(Input.R, Input.E),
|
||||
"rotate", new Axis(Input.SCROLL),
|
||||
"block_info", Input.CONTROL_LEFT,
|
||||
"player_list", Input.TAB,
|
||||
"chat", Input.ENTER,
|
||||
"console", Input.GRAVE,
|
||||
|
||||
@@ -96,19 +96,27 @@ public class DesktopInput extends InputHandler{
|
||||
}
|
||||
|
||||
Tile cursor = world.tile(tilex(), tiley());
|
||||
Tile target = cursor == null ? null : cursor.isLinked() ? cursor.getLinked() : cursor;
|
||||
boolean showCursor = false;
|
||||
|
||||
if(recipe == null && target != null && !ui.hasMouse() && Inputs.keyDown("block_info")
|
||||
&& target.block().fullDescription != null){
|
||||
showCursor = true;
|
||||
if(Inputs.keyTap("select")){
|
||||
ui.hudfrag.blockfrag.showBlockInfo(target.block());
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
}
|
||||
|
||||
if(Inputs.keyTap("select") && cursor != null && !ui.hasMouse()){
|
||||
Tile linked = cursor.isLinked() ? cursor.getLinked() : cursor;
|
||||
if(linked != null && linked.block().isConfigurable(linked)){
|
||||
ui.configfrag.showConfig(linked);
|
||||
if(target != null && Inputs.keyTap("select") && !ui.hasMouse()){
|
||||
if(target.block().isConfigurable(target)){
|
||||
ui.configfrag.showConfig(target);
|
||||
}else if(!ui.configfrag.hasConfigMouse()){
|
||||
ui.configfrag.hideConfig();
|
||||
}
|
||||
|
||||
if(linked != null) {
|
||||
linked.block().tapped(linked);
|
||||
if(Net.active()) NetEvents.handleBlockTap(linked);
|
||||
}
|
||||
target.block().tapped(target);
|
||||
if(Net.active()) NetEvents.handleBlockTap(target);
|
||||
}
|
||||
|
||||
if(Inputs.keyTap("break")){
|
||||
@@ -122,7 +130,6 @@ public class DesktopInput extends InputHandler{
|
||||
if(recipe != null && Inputs.keyTap("break")){
|
||||
beganBreak = true;
|
||||
recipe = null;
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
|
||||
//block breaking
|
||||
@@ -136,6 +143,17 @@ public class DesktopInput extends InputHandler{
|
||||
breaktime = 0f;
|
||||
}
|
||||
|
||||
if(recipe != null){
|
||||
showCursor = validPlace(tilex(), tiley(), control.input().recipe.result) && control.input().cursorNear();
|
||||
}
|
||||
|
||||
if(!ui.hasMouse()) {
|
||||
if (showCursor)
|
||||
Cursors.setHand();
|
||||
else
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int tilex(){
|
||||
|
||||
@@ -22,7 +22,6 @@ import io.anuke.ucore.core.Graphics;
|
||||
import io.anuke.ucore.core.Sounds;
|
||||
import io.anuke.ucore.entities.Entities;
|
||||
import io.anuke.ucore.entities.SolidEntity;
|
||||
import io.anuke.ucore.scene.utils.Cursors;
|
||||
import io.anuke.ucore.util.Mathf;
|
||||
import io.anuke.ucore.util.Tmp;
|
||||
|
||||
@@ -68,10 +67,7 @@ public abstract class InputHandler extends InputAdapter{
|
||||
for(ItemStack stack : recipe.requirements){
|
||||
state.inventory.removeItem(stack);
|
||||
}
|
||||
|
||||
if(!state.inventory.hasItems(recipe.requirements)){
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -10,7 +10,6 @@ import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.graphics.Draw;
|
||||
import io.anuke.ucore.graphics.Lines;
|
||||
import io.anuke.ucore.scene.utils.Cursors;
|
||||
import io.anuke.ucore.util.Bundles;
|
||||
import io.anuke.ucore.util.Mathf;
|
||||
import io.anuke.ucore.util.Tmp;
|
||||
@@ -48,11 +47,6 @@ public enum PlaceMode{
|
||||
Tmp.v1.set(7, 0).rotate(control.input().rotation * 90);
|
||||
Lines.line(x, y, x + Tmp.v1.x, y + Tmp.v1.y);
|
||||
}
|
||||
|
||||
if(valid)
|
||||
Cursors.setHand();
|
||||
else
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
|
||||
public void tapped(int tilex, int tiley){
|
||||
|
||||
Reference in New Issue
Block a user