back_recharge
parent
af83955bd5
commit
2e94594960
|
@ -1,5 +1,6 @@
|
|||
package com.ljsd.jieling.logic.arena;
|
||||
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.ljsd.fight.ArenaRecord;
|
||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.fight.FightType;
|
||||
|
@ -67,8 +68,9 @@ public class ArenaLogic {
|
|||
private int viewSeason;
|
||||
|
||||
private static int state = 0;
|
||||
private final static int BATTLE_STATE = 1;
|
||||
private final static int RELAX_STATE = 2;
|
||||
private final static int NORMAL_STATE = 1;
|
||||
private final static int BATTLE_STATE = 2;
|
||||
private final static int RELAX_STATE = 3;
|
||||
|
||||
public int getCurSeason() {
|
||||
return curSeason;
|
||||
|
@ -721,18 +723,24 @@ public class ArenaLogic {
|
|||
}
|
||||
|
||||
private void b2r(){
|
||||
LOGGER.info("罗浮争霸:战斗状态转到休息状态");
|
||||
setState(RELAX_STATE);
|
||||
if(state != RELAX_STATE){
|
||||
LOGGER.info("罗浮争霸:转到休息状态,nowstate:{} to RELAX_STATE",state);
|
||||
setState(RELAX_STATE);
|
||||
}
|
||||
}
|
||||
|
||||
public void r2e(){
|
||||
LOGGER.info("罗浮争霸:休息状态转到未开始状态");
|
||||
setState(0);
|
||||
if(state != NORMAL_STATE){
|
||||
LOGGER.info("罗浮争霸:转到未开始状态,nowstate:{} to NORMAL_STATE",state);
|
||||
setState(NORMAL_STATE);
|
||||
}
|
||||
}
|
||||
|
||||
public void e2b(){
|
||||
LOGGER.info("罗浮争霸:未开始状态转到战斗状态");
|
||||
setState(BATTLE_STATE);
|
||||
if(state != BATTLE_STATE){
|
||||
LOGGER.info("罗浮争霸:转到战斗状态,nowstate:{} to BATTLE_STATE",state);
|
||||
setState(BATTLE_STATE);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkState(){
|
||||
|
@ -743,23 +751,35 @@ public class ArenaLogic {
|
|||
}
|
||||
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;
|
||||
if(diff > setting.getBattleTime()[0] && diff <= setting.getBattleTime()[1]){
|
||||
e2b();
|
||||
}else if(diff > setting.getBattleTime()[1] && diff <= setting.getRestTime()[0]){
|
||||
b2r();
|
||||
}else if(diff > setting.getRestTime()[1]){
|
||||
r2e();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 实时随机 暂时不缓存
|
||||
*/
|
||||
private static TreeSet<Integer> getMatchID(int index) {
|
||||
//玩家排名 获取配置
|
||||
Integer integer = SMServerArenaMatchConfig.rank2miss.floorKey(index);
|
||||
Integer integer1 = SMServerArenaMatchConfig.rank2miss.get(integer);
|
||||
TreeSet<Integer> objects = new TreeSet<>();
|
||||
//分配对手
|
||||
SMServerArenaMatchConfig serverArenaMatchConfig = STableManager.getConfig(SMServerArenaMatchConfig.class).get(integer1);
|
||||
int blockID1 = index-(int) (Math.random() * (serverArenaMatchConfig.getBlock1()[1] - serverArenaMatchConfig.getBlock1()[0]) + serverArenaMatchConfig.getBlock1()[0]) ;
|
||||
int blockID2 = index-(int) (Math.random() * (serverArenaMatchConfig.getBlock2()[1] - serverArenaMatchConfig.getBlock2()[0]) + serverArenaMatchConfig.getBlock2()[0]) ;
|
||||
int blockID3 = index-(int) (Math.random() * (serverArenaMatchConfig.getBlock3()[1] - serverArenaMatchConfig.getBlock3()[0]) + serverArenaMatchConfig.getBlock3()[0]) ;
|
||||
int blockID4 = index-(int) (Math.random() * (serverArenaMatchConfig.getBlock4()[1] - serverArenaMatchConfig.getBlock4()[0]) + serverArenaMatchConfig.getBlock4()[0]) ;
|
||||
objects.add(blockID1);
|
||||
objects.add(blockID2);
|
||||
objects.add(blockID3);
|
||||
objects.add(blockID4);
|
||||
return objects;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue