跨服时间状态
parent
93e86b5d88
commit
af83955bd5
|
@ -66,6 +66,10 @@ public class ArenaLogic {
|
|||
private int curSeason;
|
||||
private int viewSeason;
|
||||
|
||||
private static int state = 0;
|
||||
private final static int BATTLE_STATE = 1;
|
||||
private final static int RELAX_STATE = 2;
|
||||
|
||||
public int getCurSeason() {
|
||||
return curSeason;
|
||||
}
|
||||
|
@ -677,6 +681,7 @@ public class ArenaLogic {
|
|||
if(null ==timeControllerOfFunction){
|
||||
return;
|
||||
}
|
||||
checkState();
|
||||
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
|
||||
|
||||
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
||||
|
@ -707,4 +712,54 @@ public class ArenaLogic {
|
|||
|
||||
}
|
||||
|
||||
public static int getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public static void setState(int state) {
|
||||
ArenaLogic.state = state;
|
||||
}
|
||||
|
||||
private void b2r(){
|
||||
LOGGER.info("罗浮争霸:战斗状态转到休息状态");
|
||||
setState(RELAX_STATE);
|
||||
}
|
||||
|
||||
public void r2e(){
|
||||
LOGGER.info("罗浮争霸:休息状态转到未开始状态");
|
||||
setState(0);
|
||||
}
|
||||
|
||||
public void e2b(){
|
||||
LOGGER.info("罗浮争霸:未开始状态转到战斗状态");
|
||||
setState(BATTLE_STATE);
|
||||
}
|
||||
|
||||
private void checkState(){
|
||||
long now = System.currentTimeMillis();
|
||||
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.World_Arena);
|
||||
if(null ==timeControllerOfFunction){
|
||||
return;
|
||||
}
|
||||
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
|
||||
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
||||
switch(state){
|
||||
case 0:
|
||||
if (diff > setting.getBattleTime()[0] && diff <= setting.getBattleTime()[1]) {
|
||||
e2b();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (diff > setting.getBattleTime()[1] && diff <= setting.getRestTime()[0]) {
|
||||
b2r();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (diff > setting.getRestTime()[1]) {
|
||||
r2e();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue