Implemented full multiplayer; block syncing still unfinished
This commit is contained in:
@@ -1,13 +1,10 @@
|
||||
package io.anuke.mindustry.ui;
|
||||
|
||||
import static io.anuke.mindustry.Vars.ui;
|
||||
|
||||
import com.badlogic.gdx.utils.reflect.ClassReflection;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.core.GameState;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.ucore.UCore;
|
||||
import io.anuke.ucore.core.Timers;
|
||||
import io.anuke.ucore.scene.Element;
|
||||
import io.anuke.ucore.scene.builders.build;
|
||||
@@ -19,20 +16,22 @@ import io.anuke.ucore.util.Strings;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import static io.anuke.mindustry.Vars.ui;
|
||||
|
||||
public class MenuDialog extends FloatingDialog{
|
||||
private SaveDialog save = new SaveDialog();
|
||||
private LoadDialog load = new LoadDialog();
|
||||
public boolean wasPaused = false;
|
||||
|
||||
public MenuDialog() {
|
||||
super("Paused");
|
||||
super("$text.menu");
|
||||
setup();
|
||||
}
|
||||
|
||||
void setup(){
|
||||
shown(() -> {
|
||||
wasPaused = GameState.is(State.paused);
|
||||
GameState.set(State.paused);
|
||||
if(!Net.active()) GameState.set(State.paused);
|
||||
});
|
||||
|
||||
if(!Vars.android){
|
||||
@@ -40,7 +39,7 @@ public class MenuDialog extends FloatingDialog{
|
||||
|
||||
content().addButton("$text.back", () -> {
|
||||
hide();
|
||||
if(!wasPaused)
|
||||
if(!wasPaused || Net.active())
|
||||
GameState.set(State.playing);
|
||||
});
|
||||
|
||||
@@ -71,6 +70,7 @@ public class MenuDialog extends FloatingDialog{
|
||||
}else{
|
||||
try{
|
||||
Net.host(result);
|
||||
GameState.set(State.playing);
|
||||
}catch (IOException e){
|
||||
Vars.ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false)));
|
||||
}
|
||||
|
||||
@@ -1,34 +1,26 @@
|
||||
package io.anuke.mindustry.ui.fragments;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
import com.badlogic.gdx.Game;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
|
||||
import com.badlogic.gdx.math.Interpolation;
|
||||
import io.anuke.mindustry.Mindustry;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.core.GameState;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.resource.Item;
|
||||
import io.anuke.mindustry.world.GameMode;
|
||||
import io.anuke.ucore.UCore;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.ucore.core.Core;
|
||||
import io.anuke.ucore.core.Draw;
|
||||
import io.anuke.ucore.core.Settings;
|
||||
import io.anuke.ucore.scene.actions.Actions;
|
||||
import io.anuke.ucore.scene.builders.imagebutton;
|
||||
import io.anuke.ucore.scene.builders.label;
|
||||
import io.anuke.ucore.scene.builders.table;
|
||||
import io.anuke.ucore.scene.event.Touchable;
|
||||
import io.anuke.ucore.scene.ui.Image;
|
||||
import io.anuke.ucore.scene.ui.ImageButton;
|
||||
import io.anuke.ucore.scene.ui.Label;
|
||||
import io.anuke.ucore.scene.ui.layout.Cell;
|
||||
import io.anuke.ucore.scene.ui.layout.Table;
|
||||
import io.anuke.ucore.util.Bundles;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
public class HudFragment implements Fragment{
|
||||
private ImageButton menu, flip, pause;
|
||||
private Table respawntable;
|
||||
@@ -74,7 +66,8 @@ public class HudFragment implements Fragment{
|
||||
|
||||
pause = new imagebutton("icon-pause", isize, ()->{
|
||||
GameState.set(GameState.is(State.paused) ? State.playing : State.paused);
|
||||
}).update(i -> i.getStyle().imageUp = Core.skin.getDrawable(GameState.is(State.paused) ? "icon-play" : "icon-pause")).get();
|
||||
}).update(i -> i.getStyle().imageUp = Core.skin.getDrawable(GameState.is(State.paused) ? "icon-play" : "icon-pause")).cell
|
||||
.disabled(b -> Net.active()).get();
|
||||
|
||||
}}.end();
|
||||
|
||||
@@ -105,7 +98,7 @@ public class HudFragment implements Fragment{
|
||||
|
||||
//paused table
|
||||
new table(){{
|
||||
visible(()->GameState.is(State.paused));
|
||||
visible(()->GameState.is(State.paused) && !Net.active());
|
||||
atop();
|
||||
|
||||
new table("pane"){{
|
||||
|
||||
Reference in New Issue
Block a user