Data clearing / Bugfixes

This commit is contained in:
Anuken
2018-09-05 10:24:47 -04:00
parent bf5055f944
commit 9c36026991
5 changed files with 64 additions and 6 deletions

View File

@@ -2,6 +2,8 @@ package io.anuke.mindustry.server;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Timer;
import com.badlogic.gdx.utils.Timer.Task;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.game.Difficulty;
@@ -43,6 +45,7 @@ public class ServerControl extends Module{
private int gameOvers;
private boolean inExtraRound;
private Team winnerTeam;
private Task lastTask;
public ServerControl(String[] args){
Settings.defaultList(
@@ -161,7 +164,7 @@ public class ServerControl extends Module{
handler.register("stop", "Stop hosting the server.", arg -> {
Net.closeServer();
Timers.clear();
if(lastTask != null) lastTask.cancel();
state.set(State.menu);
netServer.reset();
Log.info("Stopped server.");
@@ -173,6 +176,8 @@ public class ServerControl extends Module{
return;
}
if(lastTask != null) lastTask.cancel();
Map result = null;
if(arg.length > 0){
@@ -636,6 +641,7 @@ public class ServerControl extends Module{
}
info("&lyCore destroyed.");
inExtraRound = false;
Events.fire(new GameOverEvent());
});
@@ -849,7 +855,14 @@ public class ServerControl extends Module{
};
if(wait){
Timers.run(60f * roundExtraTime, r);
lastTask = new Task(){
@Override
public void run(){
r.run();
}
};
Timer.schedule(lastTask, roundExtraTime);
}else{
r.run();
}
@@ -886,7 +899,7 @@ public class ServerControl extends Module{
@Override
public void update(){
if(!inExtraRound){
if(!inExtraRound && state.mode.isPvp){
checkPvPGameOver();
}