探索事件

back_recharge
xuexinpeng 2022-03-25 10:17:27 +08:00
parent d3da540689
commit d2c5355948
2 changed files with 15 additions and 2 deletions

View File

@ -60,16 +60,23 @@ public class ExplorerMapEventHandler extends BaseHandler<PlayerInfoProto.Explore
} }
List<KeyVal> eventList = user.getPlayerInfoManager().getExploreEvent(); List<KeyVal> eventList = user.getPlayerInfoManager().getExploreEvent();
int index = 0; int index = 0;
boolean isGetIndex = false;
for (int i = 0; i < eventList.size(); i++) { for (int i = 0; i < eventList.size(); i++) {
if (index == 0 && eventList.get(i).getKey() == id) { if (index == 0 && eventList.get(i).getKey() == id) {
index = i; index = i;
isGetIndex = true;
} }
if (index != 0 && eventList.get(i).getKey() == id) { if (index != 0 && eventList.get(i).getKey() == id) {
if (eventList.get(i).getVal() < eventList.get(index).getVal()) { if (eventList.get(i).getVal() < eventList.get(index).getVal()) {
index = i; index = i;
isGetIndex = true;
} }
} }
} }
if(!isGetIndex){
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.ExplorerMapEventResponse.getNumber(), builder.build(), true);
return;
}
/* 1 /* 1
2 2
3*/ 3*/

View File

@ -234,14 +234,19 @@ public class ExplorerMapLogic {
SExplore rankExplore = limitConfig.get(randomMapId); SExplore rankExplore = limitConfig.get(randomMapId);
int randomEventId = random.nextInt(rankExplore.getEventList().length); int randomEventId = random.nextInt(rankExplore.getEventList().length);
int eventId = rankExplore.getEventList()[randomEventId]; int eventId = rankExplore.getEventList()[randomEventId];
LOGGER.info("explore add eventId:" + eventId + " randomMapId: " + randomMapId); LOGGER.info("explore add eventId:" + eventId + " randomMapId: " + randomMapId+1);
user.getPlayerInfoManager().addExploreEvent(new KeyVal(eventId, TimeUtils.nowInt() + exploreEventConfig.get(eventId).getTime(), randomMapId + 1)); user.getPlayerInfoManager().addExploreEvent(new KeyVal(eventId, TimeUtils.nowInt() + exploreEventConfig.get(eventId).getTime(), randomMapId + 1));
PlayerInfoProto.ExplorerMapIndicationResponse.Builder indication = PlayerInfoProto.ExplorerMapIndicationResponse.newBuilder(); PlayerInfoProto.ExplorerMapIndicationResponse.Builder indication = PlayerInfoProto.ExplorerMapIndicationResponse.newBuilder();
List<KeyVal> event = user.getPlayerInfoManager().getExploreEvent(); List<KeyVal> event = user.getPlayerInfoManager().getExploreEvent();
//删除过期的
if(event.removeIf(n->n.getVal() < TimeUtils.nowInt())){
user.getPlayerInfoManager().setExploreEvent(event);
}
for (KeyVal keyVal : event) { for (KeyVal keyVal : event) {
indication.addRandEvent(CommonProto.CommKeyVal.newBuilder().setKey(keyVal.getKey()).setVal(keyVal.getVal()). indication.addRandEvent(CommonProto.CommKeyVal.newBuilder().setKey(keyVal.getKey()).setVal(keyVal.getVal()).
setVal2(keyVal.getVa2()).build()); setVal2(keyVal.getVa2()).build());
} }
MessageUtil.sendIndicationMessage(sess, 1, MessageTypeProto.MessageType.ExplorerMapIndicationResponse_VALUE, indication.build(), true); MessageUtil.sendIndicationMessage(sess, 1, MessageTypeProto.MessageType.ExplorerMapIndicationResponse_VALUE, indication.build(), true);
} }
public static void sendDisappearEvent(User user){ public static void sendDisappearEvent(User user){
@ -286,8 +291,9 @@ public class ExplorerMapLogic {
} }
LOGGER.info("离线玩家队伍id", keyVal.getKey()); LOGGER.info("离线玩家队伍id", keyVal.getKey());
//探索事件 //探索事件
long gapDay = TimeUtils.getGapDaysByTwoTime( TimeUtils.getTimeStamp2(keyVal.getValue().getBatteTime()*1000L), TimeUtils.getTimeStamp2(offlineEndTime*1000L)); long gapDay = TimeUtils.getGapDaysByTwoTime(TimeUtils.getTimeStamp2(keyVal.getValue().getBatteTime()*1000L), TimeUtils.getTimeStamp2(offlineEndTime*1000L));
for(int i = 0;i< gapDay;i++){ for(int i = 0;i< gapDay;i++){
LOGGER.error("gapDay------------------------>{}",i);
sendRandomEvent(user); sendRandomEvent(user);
} }
for (int i = keyVal.getValue().getBatteTime(); i <= offlineEndTime; i = i + battleInterval) { for (int i = keyVal.getValue().getBatteTime(); i <= offlineEndTime; i = i + battleInterval) {