血战时间限制
parent
3defe3d54c
commit
cb95002a8f
|
|
@ -81,6 +81,8 @@ public class SBloodyBattleSetting implements BaseConfig {
|
|||
private Map<Integer,int[]> debuffMap;
|
||||
private Map<Integer,int[]> monsterIndexMap;
|
||||
|
||||
private int[][] openPeriod;
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
|
@ -280,4 +282,8 @@ public class SBloodyBattleSetting implements BaseConfig {
|
|||
public void setMonsterIndexMap(Map<Integer, int[]> 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.ljsd.jieling.bloody.UserBloodySnpInfo;
|
||||
import com.ljsd.jieling.config.SBloodyBattleSetting;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
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.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.StringUtil;
|
||||
import com.ljsd.jieling.util.TimeUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -41,6 +44,7 @@ public class RoomMatchRequestHandler extends BaseHandler{
|
|||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
|
||||
byte[] message = netData.parseClientProtoNetData();
|
||||
RoomProto.RoomMatchRequest request = RoomProto.RoomMatchRequest.parseFrom(message);
|
||||
int type = request.getType();
|
||||
|
|
@ -48,7 +52,12 @@ public class RoomMatchRequestHandler extends BaseHandler{
|
|||
}
|
||||
|
||||
public void match(ISession iSession,int type) throws Exception {
|
||||
|
||||
int responseMsgId = MessageTypeProto.MessageType.ROOM_MATCH_RESPONSE_VALUE;
|
||||
if(!isEnter()){
|
||||
MessageUtil.sendErrorResponse(iSession,0,responseMsgId,"不在开启时间范围内");
|
||||
return;
|
||||
}
|
||||
int uid = iSession.getUid();
|
||||
String status = RedisUtil.getInstence().getObject(RedisKey.MATCH_UID_KEY + ":" + uid,String.class);
|
||||
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()));
|
||||
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();
|
||||
|
||||
|
||||
// public static void main(String[] args){
|
||||
// int[][] result = new int[10][];
|
||||
// for (int i = 0; i < result.length; i++) {
|
||||
// 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 void main(String[] args){
|
||||
String i = "0|00|111";
|
||||
String[] split = i.split("|", 1);
|
||||
}
|
||||
public static int randomForStrArray(String [] rateArray) {
|
||||
return randomStrArray(rateArray, -1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue