back_recharge
parent
af83955bd5
commit
2e94594960
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ljsd.jieling.logic.arena;
|
package com.ljsd.jieling.logic.arena;
|
||||||
|
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
import com.ljsd.fight.ArenaRecord;
|
import com.ljsd.fight.ArenaRecord;
|
||||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||||
import com.ljsd.fight.FightType;
|
import com.ljsd.fight.FightType;
|
||||||
|
|
@ -67,8 +68,9 @@ public class ArenaLogic {
|
||||||
private int viewSeason;
|
private int viewSeason;
|
||||||
|
|
||||||
private static int state = 0;
|
private static int state = 0;
|
||||||
private final static int BATTLE_STATE = 1;
|
private final static int NORMAL_STATE = 1;
|
||||||
private final static int RELAX_STATE = 2;
|
private final static int BATTLE_STATE = 2;
|
||||||
|
private final static int RELAX_STATE = 3;
|
||||||
|
|
||||||
public int getCurSeason() {
|
public int getCurSeason() {
|
||||||
return curSeason;
|
return curSeason;
|
||||||
|
|
@ -721,19 +723,25 @@ public class ArenaLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void b2r(){
|
private void b2r(){
|
||||||
LOGGER.info("罗浮争霸:战斗状态转到休息状态");
|
if(state != RELAX_STATE){
|
||||||
|
LOGGER.info("罗浮争霸:转到休息状态,nowstate:{} to RELAX_STATE",state);
|
||||||
setState(RELAX_STATE);
|
setState(RELAX_STATE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void r2e(){
|
public void r2e(){
|
||||||
LOGGER.info("罗浮争霸:休息状态转到未开始状态");
|
if(state != NORMAL_STATE){
|
||||||
setState(0);
|
LOGGER.info("罗浮争霸:转到未开始状态,nowstate:{} to NORMAL_STATE",state);
|
||||||
|
setState(NORMAL_STATE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void e2b(){
|
public void e2b(){
|
||||||
LOGGER.info("罗浮争霸:未开始状态转到战斗状态");
|
if(state != BATTLE_STATE){
|
||||||
|
LOGGER.info("罗浮争霸:转到战斗状态,nowstate:{} to BATTLE_STATE",state);
|
||||||
setState(BATTLE_STATE);
|
setState(BATTLE_STATE);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void checkState(){
|
private void checkState(){
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
|
|
@ -743,23 +751,35 @@ public class ArenaLogic {
|
||||||
}
|
}
|
||||||
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
|
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
|
||||||
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
||||||
switch(state){
|
|
||||||
case 0:
|
|
||||||
if(diff > setting.getBattleTime()[0] && diff <= setting.getBattleTime()[1]){
|
if(diff > setting.getBattleTime()[0] && diff <= setting.getBattleTime()[1]){
|
||||||
e2b();
|
e2b();
|
||||||
}
|
}else if(diff > setting.getBattleTime()[1] && diff <= setting.getRestTime()[0]){
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
if (diff > setting.getBattleTime()[1] && diff <= setting.getRestTime()[0]) {
|
|
||||||
b2r();
|
b2r();
|
||||||
}
|
}else if(diff > setting.getRestTime()[1]){
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (diff > setting.getRestTime()[1]) {
|
|
||||||
r2e();
|
r2e();
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时随机 暂时不缓存
|
||||||
|
*/
|
||||||
|
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