血战时间限制
parent
3defe3d54c
commit
cb95002a8f
|
|
@ -81,6 +81,8 @@ public class SBloodyBattleSetting implements BaseConfig {
|
||||||
private Map<Integer,int[]> debuffMap;
|
private Map<Integer,int[]> debuffMap;
|
||||||
private Map<Integer,int[]> monsterIndexMap;
|
private Map<Integer,int[]> monsterIndexMap;
|
||||||
|
|
||||||
|
private int[][] openPeriod;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
|
@ -280,4 +282,8 @@ public class SBloodyBattleSetting implements BaseConfig {
|
||||||
public void setMonsterIndexMap(Map<Integer, int[]> monsterIndexMap) {
|
public void setMonsterIndexMap(Map<Integer, int[]> monsterIndexMap) {
|
||||||
this.monsterIndexMap = monsterIndexMap;
|
this.monsterIndexMap = monsterIndexMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int[][] getOpenPeriod() {
|
||||||
|
return openPeriod;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.handler.room;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.ljsd.jieling.bloody.UserBloodySnpInfo;
|
import com.ljsd.jieling.bloody.UserBloodySnpInfo;
|
||||||
|
import com.ljsd.jieling.config.SBloodyBattleSetting;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
|
@ -23,10 +24,12 @@ import com.ljsd.jieling.protocols.RoomProto;
|
||||||
import com.ljsd.jieling.thrift.pool.ServiceKey;
|
import com.ljsd.jieling.thrift.pool.ServiceKey;
|
||||||
import com.ljsd.jieling.util.MessageUtil;
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
import com.ljsd.jieling.util.StringUtil;
|
import com.ljsd.jieling.util.StringUtil;
|
||||||
|
import com.ljsd.jieling.util.TimeUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -41,6 +44,7 @@ public class RoomMatchRequestHandler extends BaseHandler{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||||
|
|
||||||
byte[] message = netData.parseClientProtoNetData();
|
byte[] message = netData.parseClientProtoNetData();
|
||||||
RoomProto.RoomMatchRequest request = RoomProto.RoomMatchRequest.parseFrom(message);
|
RoomProto.RoomMatchRequest request = RoomProto.RoomMatchRequest.parseFrom(message);
|
||||||
int type = request.getType();
|
int type = request.getType();
|
||||||
|
|
@ -48,7 +52,12 @@ public class RoomMatchRequestHandler extends BaseHandler{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void match(ISession iSession,int type) throws Exception {
|
public void match(ISession iSession,int type) throws Exception {
|
||||||
|
|
||||||
int responseMsgId = MessageTypeProto.MessageType.ROOM_MATCH_RESPONSE_VALUE;
|
int responseMsgId = MessageTypeProto.MessageType.ROOM_MATCH_RESPONSE_VALUE;
|
||||||
|
if(!isEnter()){
|
||||||
|
MessageUtil.sendErrorResponse(iSession,0,responseMsgId,"不在开启时间范围内");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int uid = iSession.getUid();
|
int uid = iSession.getUid();
|
||||||
String status = RedisUtil.getInstence().getObject(RedisKey.MATCH_UID_KEY + ":" + uid,String.class);
|
String status = RedisUtil.getInstence().getObject(RedisKey.MATCH_UID_KEY + ":" + uid,String.class);
|
||||||
if(!StringUtil.isEmpty(status)){
|
if(!StringUtil.isEmpty(status)){
|
||||||
|
|
@ -113,4 +122,23 @@ public class RoomMatchRequestHandler extends BaseHandler{
|
||||||
String key = RedisUtil.getInstence().getKey(RedisKey.BLOODY_TEAM, Integer.toString(mine.getId()));
|
String key = RedisUtil.getInstence().getKey(RedisKey.BLOODY_TEAM, Integer.toString(mine.getId()));
|
||||||
RedisUtil.getInstence().set(key,gson.toJson(userBloodySnpInfo));
|
RedisUtil.getInstence().set(key,gson.toJson(userBloodySnpInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isEnter(){
|
||||||
|
SBloodyBattleSetting setting = SBloodyBattleSetting.sBloodyBattleSetting;
|
||||||
|
int[][] openPeriod = setting.getOpenPeriod();
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
int minute = calendar.get(Calendar.MINUTE);
|
||||||
|
boolean enter = true;
|
||||||
|
for(int i = 0;i<openPeriod.length;i++){
|
||||||
|
if(TimeUtils.getHourOfDay()<openPeriod[i][0]/10000&&minute<openPeriod[i][0]%10000/1000){
|
||||||
|
enter =false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(TimeUtils.getHourOfDay()>=openPeriod[i][0]/10000&&minute>=openPeriod[i][0]%10000/1000){
|
||||||
|
enter = false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return enter;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,19 +19,10 @@ public class MathUtils {
|
||||||
private static final Random random = new Random();
|
private static final Random random = new Random();
|
||||||
|
|
||||||
|
|
||||||
// public static void main(String[] args){
|
public static void main(String[] args){
|
||||||
// int[][] result = new int[10][];
|
String i = "0|00|111";
|
||||||
// for (int i = 0; i < result.length; i++) {
|
String[] split = i.split("|", 1);
|
||||||
// int[] j = new int[2];
|
}
|
||||||
// j[0] = 10+i;
|
|
||||||
// j[1] = 100;
|
|
||||||
// result[i] = j;
|
|
||||||
// }
|
|
||||||
// int[] re = randomFromWeightWithTaking(result,10);
|
|
||||||
// for(int i = 0 ; i <re.length;i++){
|
|
||||||
// System.out.println(re[i]);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
public static int randomForStrArray(String [] rateArray) {
|
public static int randomForStrArray(String [] rateArray) {
|
||||||
return randomStrArray(rateArray, -1);
|
return randomStrArray(rateArray, -1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue