back_recharge
mengchengzhen 2021-06-23 18:33:14 +08:00
parent af83955bd5
commit 2e94594960
1 changed files with 44 additions and 24 deletions

View File

@ -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;
}
}