back_recharge
wangyuan 2019-06-10 11:07:54 +08:00
parent 60bd86264b
commit eac6670f19
2 changed files with 19 additions and 22 deletions

View File

@ -129,9 +129,10 @@ public class GlobalDataManaager {
public void openAction(List<Integer> ids){
for(Integer openId : ids){
FunctionIdEnum type = FunctionIdEnum.getFunctionIdEnumById(openId);
TimeControllerOfFunction timeControllerOfFunction = openTimeOfFuntionCache.get(openId);
switch (openId){
case 8:
switch (type){
case Arena:
ArenaLogic.getInstance().updateArenaSeason(timeControllerOfFunction.getTimes());
default:
break;

View File

@ -139,28 +139,12 @@ public class ArenaLogic {
}
int uid = session.getUid();
User user = UserManager.getUser(uid);
if(skipFight == 0){
boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT);
if(!allowed){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"not allowed");
return;
}
}
String err = checkChallenge(user);
if(!"".equals(err)){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,err);
return;
}
ArenaManager arenaManager = user.getArenaManager();
List<ArenaEnemy> arenaEnemies = arenaManager.getArenaEnemies();
ArenaEnemy enemyInfo = getEnemyInList(challengeUid, arenaEnemies);
if( null == enemyInfo ){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"对手错误");
return;
}
if(!user.getTeamPosManager().getTeamPosForHero().containsKey(GlobalsDef.TEAM_ARENA_DEFENSE)){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"未设置防守阵容");
String err = checkChallenge(user,skipFight,enemyInfo );
if(!"".equals(err)){
MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,err);
return;
}
int fightResult=0;
@ -279,7 +263,19 @@ public class ArenaLogic {
return checkResult[0];
}
private String checkChallenge(User user) throws Exception {
private String checkChallenge(User user,int skipFight, ArenaEnemy enemyInfo) throws Exception {
if( null == enemyInfo ){
return "对手错误";
}
if(skipFight == 0){
boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT);
if(!allowed){
return "not allowed";
}
}
if(!user.getTeamPosManager().getTeamPosForHero().containsKey(GlobalsDef.TEAM_ARENA_DEFENSE)){
return "未设置防守阵容";
}
ArenaManager arenaManager = user.getArenaManager();
SArenaSetting sArenaSetting = SArenaSetting.getSArenaSetting();
int useFreeTimes = arenaManager.getUseFreeTimes();