Fixed various UI bugs
This commit is contained in:
@@ -23,6 +23,7 @@ import io.anuke.ucore.scene.Element;
|
|||||||
import io.anuke.ucore.scene.event.InputEvent;
|
import io.anuke.ucore.scene.event.InputEvent;
|
||||||
import io.anuke.ucore.scene.event.InputListener;
|
import io.anuke.ucore.scene.event.InputListener;
|
||||||
import io.anuke.ucore.scene.event.Touchable;
|
import io.anuke.ucore.scene.event.Touchable;
|
||||||
|
import io.anuke.ucore.scene.ui.TextField;
|
||||||
import io.anuke.ucore.scene.ui.layout.Unit;
|
import io.anuke.ucore.scene.ui.layout.Unit;
|
||||||
import io.anuke.ucore.util.Mathf;
|
import io.anuke.ucore.util.Mathf;
|
||||||
import io.anuke.ucore.util.Tmp;
|
import io.anuke.ucore.util.Tmp;
|
||||||
@@ -176,10 +177,12 @@ public class MapView extends Element implements GestureListener{
|
|||||||
public void act(float delta){
|
public void act(float delta){
|
||||||
super.act(delta);
|
super.act(delta);
|
||||||
|
|
||||||
|
if(Core.scene.getKeyboardFocus() == null || !(Core.scene.getKeyboardFocus() instanceof TextField)) {
|
||||||
float ax = Inputs.getAxis("move_x");
|
float ax = Inputs.getAxis("move_x");
|
||||||
float ay = Inputs.getAxis("move_y");
|
float ay = Inputs.getAxis("move_y");
|
||||||
offsetx -= ax * 15f / zoom;
|
offsetx -= ax * 15f / zoom;
|
||||||
offsety -= ay * 15f / zoom;
|
offsety -= ay * 15f / zoom;
|
||||||
|
}
|
||||||
|
|
||||||
if(ui.editor.hasPane()) return;
|
if(ui.editor.hasPane()) return;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package io.anuke.mindustry.net;
|
package io.anuke.mindustry.net;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import com.badlogic.gdx.utils.IntMap;
|
import com.badlogic.gdx.utils.IntMap;
|
||||||
import com.badlogic.gdx.utils.ObjectMap;
|
import com.badlogic.gdx.utils.ObjectMap;
|
||||||
@@ -48,7 +47,7 @@ public class Net{
|
|||||||
public static void setClientLoaded(boolean loaded){
|
public static void setClientLoaded(boolean loaded){
|
||||||
clientLoaded = loaded;
|
clientLoaded = loaded;
|
||||||
|
|
||||||
if(loaded){
|
if(loaded && false){ //TODO enable.
|
||||||
//handle all packets that were skipped while loading
|
//handle all packets that were skipped while loading
|
||||||
for(int i = 0; i < packetQueue.size; i ++){
|
for(int i = 0; i < packetQueue.size; i ++){
|
||||||
Log.info("Processing {0} packet post-load.", ClassReflection.getSimpleName(packetQueue.get(i).getClass()));
|
Log.info("Processing {0} packet post-load.", ClassReflection.getSimpleName(packetQueue.get(i).getClass()));
|
||||||
@@ -185,10 +184,10 @@ public class Net{
|
|||||||
if(listeners.get(object.getClass()) != null) listeners.get(object.getClass()).accept(object);
|
if(listeners.get(object.getClass()) != null) listeners.get(object.getClass()).accept(object);
|
||||||
}else{
|
}else{
|
||||||
packetQueue.add(object);
|
packetQueue.add(object);
|
||||||
Log.info("Recieved {0}, but ignoring data, as client is not loaded.", ClassReflection.getSimpleName(object.getClass()));
|
Log.info("Queuing packet {0}.", ClassReflection.getSimpleName(object.getClass()));
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
Gdx.app.error("Mindustry::Net", "Unhandled packet type: '" + object.getClass() + "'!");
|
Log.err("Unhandled packet type: '{0}'!", ClassReflection.getSimpleName(object.getClass()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -200,7 +199,7 @@ public class Net{
|
|||||||
if(serverListeners.get(object.getClass()) != null) serverListeners.get(object.getClass()).accept(connection, object);
|
if(serverListeners.get(object.getClass()) != null) serverListeners.get(object.getClass()).accept(connection, object);
|
||||||
if(listeners.get(object.getClass()) != null) listeners.get(object.getClass()).accept(object);
|
if(listeners.get(object.getClass()) != null) listeners.get(object.getClass()).accept(object);
|
||||||
}else{
|
}else{
|
||||||
Gdx.app.error("Mindustry::Net", "Unhandled packet type: '" + object.getClass() + "'!");
|
Log.err("Unhandled packet type: '{0}'!", ClassReflection.getSimpleName(object.getClass()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class PlacementFragment implements Fragment{
|
|||||||
InputHandler input = control.input();
|
InputHandler input = control.input();
|
||||||
|
|
||||||
float s = 50f;
|
float s = 50f;
|
||||||
float translation = Unit.dp.scl(54f);
|
float translation = Unit.dp.scl(58f);
|
||||||
|
|
||||||
new table(){{
|
new table(){{
|
||||||
visible(() -> !state.is(State.menu));
|
visible(() -> !state.is(State.menu));
|
||||||
@@ -96,6 +96,7 @@ public class PlacementFragment implements Fragment{
|
|||||||
|
|
||||||
row();
|
row();
|
||||||
|
|
||||||
|
//break menu
|
||||||
new table() {{
|
new table() {{
|
||||||
abottom();
|
abottom();
|
||||||
aleft();
|
aleft();
|
||||||
@@ -116,7 +117,7 @@ public class PlacementFragment implements Fragment{
|
|||||||
breaktable = new table("pane") {{
|
breaktable = new table("pane") {{
|
||||||
visible(() -> shown);
|
visible(() -> shown);
|
||||||
margin(5f);
|
margin(5f);
|
||||||
marginLeft(0f);
|
marginLeft(-(Unit.dp.scl(1f) - 1f) * 2.5f);
|
||||||
touchable(Touchable.enabled);
|
touchable(Touchable.enabled);
|
||||||
aleft();
|
aleft();
|
||||||
|
|
||||||
@@ -150,6 +151,7 @@ public class PlacementFragment implements Fragment{
|
|||||||
|
|
||||||
row();
|
row();
|
||||||
|
|
||||||
|
//place menu
|
||||||
new table() {{
|
new table() {{
|
||||||
touchable(Touchable.enabled);
|
touchable(Touchable.enabled);
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ import java.nio.ByteBuffer;
|
|||||||
import java.nio.channels.ClosedSelectorException;
|
import java.nio.channels.ClosedSelectorException;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
|
||||||
|
import static io.anuke.mindustry.Vars.headless;
|
||||||
|
|
||||||
public class KryoServer implements ServerProvider {
|
public class KryoServer implements ServerProvider {
|
||||||
final boolean debug = false;
|
final boolean debug = false;
|
||||||
final Server server;
|
final Server server;
|
||||||
@@ -420,7 +422,7 @@ public class KryoServer implements ServerProvider {
|
|||||||
if (k == null) return;
|
if (k == null) return;
|
||||||
|
|
||||||
if(message.equals("_ping_")){
|
if(message.equals("_ping_")){
|
||||||
conn.send("---" + Vars.playerGroup.size() + "|" + (Vars.headless ? "Server" : Vars.player.name));
|
conn.send("---" + Vars.playerGroup.size() + "|" + (headless ? "Server" : Vars.player.name));
|
||||||
connections.remove(k);
|
connections.remove(k);
|
||||||
}else {
|
}else {
|
||||||
byte[] out = Base64Coder.decode(message);
|
byte[] out = Base64Coder.decode(message);
|
||||||
@@ -436,10 +438,14 @@ public class KryoServer implements ServerProvider {
|
|||||||
@Override
|
@Override
|
||||||
public void onError(WebSocket conn, Exception ex) {
|
public void onError(WebSocket conn, Exception ex) {
|
||||||
Log.info("WS error: ");
|
Log.info("WS error: ");
|
||||||
ex.printStackTrace();
|
Log.err(ex);
|
||||||
if(ex instanceof BindException){
|
if(ex instanceof BindException){
|
||||||
Net.closeServer();
|
Net.closeServer();
|
||||||
|
if(!headless) {
|
||||||
Net.showError("$text.server.addressinuse");
|
Net.showError("$text.server.addressinuse");
|
||||||
|
}else{
|
||||||
|
Log.err("Web address in use!");
|
||||||
|
}
|
||||||
}else if(ex.getMessage().equals("Permission denied")){
|
}else if(ex.getMessage().equals("Permission denied")){
|
||||||
Net.closeServer();
|
Net.closeServer();
|
||||||
Net.showError("Permission denied.");
|
Net.showError("Permission denied.");
|
||||||
|
|||||||
Reference in New Issue
Block a user