五点任务刷新 & 血战修改
parent
5eb0b7d467
commit
5a7a3f32c7
|
|
@ -0,0 +1,21 @@
|
|||
package com.ljsd.jieling.handler.room;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.room.RoomManager;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class RoomGetInfoHandler extends BaseHandler {
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.ROOM_GET_FULL_INFO_REQEUST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
RoomManager.getRommInfo(iSession);
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.logic;
|
|||
|
||||
import com.google.protobuf.MessageLite;
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.config.SDailyTasksConfig;
|
||||
import com.ljsd.jieling.config.SGlobalSystemConfig;
|
||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
|
|
@ -10,11 +11,14 @@ import com.ljsd.jieling.db.mongo.MongoUtil;
|
|||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
||||
import com.ljsd.jieling.logic.dao.UserMissionManager;
|
||||
import com.ljsd.jieling.logic.dao.root.GlobalSystemControl;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
||||
import com.ljsd.jieling.logic.mission.data.DataManagerDistributor;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.logic.mission.main.DailyMissionIdsType;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.netty.cocdex.Tea;
|
||||
|
|
@ -229,6 +233,11 @@ public class GlobalDataManaager {
|
|||
|
||||
if(fBuilder!=null){
|
||||
user.getPlayerInfoManager().setLoginTime(TimeUtils.now());
|
||||
Map<Integer, SDailyTasksConfig> config = SDailyTasksConfig.config;
|
||||
int dailymissionType = GameMisionType.DAILYMISSION.getType();
|
||||
for(SDailyTasksConfig sDailyTasksConfig:config.values()){
|
||||
fBuilder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(sDailyTasksConfig.getId()).setState(0).setType(dailymissionType).setProgress(0));
|
||||
}
|
||||
if(session.getFiveReady() == 1){ //客户端准备好接受五点刷新请求
|
||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.FIVE_PLAYER_REFLUSH_INDICATION_VALUE,null,true);
|
||||
}else{
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.ljsd.jieling.config.SVipLevelConfig;
|
|||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
import com.ljsd.jieling.logic.mission.GameMisionType;
|
||||
import com.ljsd.jieling.logic.mission.MissionState;
|
||||
import com.ljsd.jieling.logic.mission.MissionType;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.logic.mission.main.DailyMissionIdsType;
|
||||
|
|
@ -50,9 +51,7 @@ public class UserMissionManager extends MongoBase {
|
|||
updateString("dailyCumulationData",dailyCumulationData);
|
||||
}
|
||||
dailyMissionIdsType.getDoingMissionIds().addAll(missionIds);
|
||||
|
||||
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ public class RoomManager {
|
|||
.setCurHp(1000)
|
||||
.setMaxHp(1000)
|
||||
.setCamp(i)
|
||||
.setCurXY(CellUtil.xy2Pos(10+i,20+i+2));
|
||||
.setCurXY(CellUtil.xy2Pos(4+i,4+i));
|
||||
agentInfoList.add(agentInfoBuilder.build());
|
||||
}
|
||||
|
||||
|
|
@ -126,6 +126,36 @@ public class RoomManager {
|
|||
return room;
|
||||
}
|
||||
|
||||
public static void getRommInfo(ISession iSession) throws Exception {
|
||||
int uid = iSession.getUid();
|
||||
User user = UserManager.getUser(uid);
|
||||
int roomId = user.getRoomInfo().getRoomId();
|
||||
int responseMsgId = MessageTypeProto.MessageType.ROOM_GET_FULL_INFO_RESPONSE_VALUE;
|
||||
if(roomId == -1){
|
||||
MessageUtil.sendErrorResponse(iSession, 0, responseMsgId, "已经在房间中了");
|
||||
return;
|
||||
}
|
||||
Room room = getRoomById(roomId);
|
||||
if(room == null){
|
||||
MessageUtil.sendErrorResponse(iSession, 0, responseMsgId, "房间已销毁");
|
||||
return;
|
||||
}
|
||||
List<CommonProto.Cell> cells = new ArrayList<>();
|
||||
RoomPlayerInfo[] playerArray = room.getPlayerArray();
|
||||
int i=0;
|
||||
List<RoomProto.AgentInfo> agentInfoList = new ArrayList<>();
|
||||
for(RoomPlayerInfo roomPlayerInfo:playerArray) {
|
||||
RoomProto.AgentInfo.Builder agentInfoBuilder = RoomProto.AgentInfo.newBuilder();
|
||||
agentInfoBuilder.setPlayerUid(roomPlayerInfo.getUid())
|
||||
.setCurHp(1000)
|
||||
.setMaxHp(1000)
|
||||
.setCamp(i++)
|
||||
.setCurXY(CellUtil.xy2Pos(4+i,4+i));
|
||||
agentInfoList.add(agentInfoBuilder.build());
|
||||
}
|
||||
MessageUtil.sendRoomInfoToPerson(iSession, room.getType(), roomId, 1, cells, agentInfoList);
|
||||
}
|
||||
|
||||
public static synchronized Room getRoomById(int roomId) {
|
||||
return roomMap.get(roomId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ public class RoomPlayerInfo {
|
|||
public static final int OFFLINE_STATE = 3; //掉线了
|
||||
private int state = UNREADY_STATE; //见上面的定义
|
||||
private int curPos;
|
||||
private int camp;
|
||||
private long preMoveTimestamp; //上次移动时间
|
||||
private int speed; //移动速度
|
||||
private List<Integer> path; //根据目标点计算出来的移动路径
|
||||
|
|
@ -85,6 +86,14 @@ public class RoomPlayerInfo {
|
|||
this.curPos = curPos;
|
||||
}
|
||||
|
||||
public int getCamp() {
|
||||
return camp;
|
||||
}
|
||||
|
||||
public void setCamp(int camp) {
|
||||
this.camp = camp;
|
||||
}
|
||||
|
||||
//todo ……
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -226,6 +226,21 @@ public class MessageUtil {
|
|||
}
|
||||
}
|
||||
|
||||
public static void sendRoomInfoToPerson(ISession session,int type, int roomId, int mapId,
|
||||
List<CommonProto.Cell> cellList, List<RoomProto.AgentInfo> agentInfoList){
|
||||
RoomProto.RoomMatchSuccessIndication.Builder builder = RoomProto.RoomMatchSuccessIndication.newBuilder();
|
||||
builder.setRoomId(roomId);
|
||||
builder.setType(type);
|
||||
builder.setMapId(mapId);
|
||||
builder.addAllMapList(cellList);
|
||||
builder.addAllAgentInfos(agentInfoList);
|
||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||
builder.setTemporaryItems(dropBuilder.build());
|
||||
RoomProto.RoomGetFullInfoResponse build = RoomProto.RoomGetFullInfoResponse.newBuilder().setRoomMatchSuccessIndication(builder.build()).build();
|
||||
sendMessage(session,1, MessageTypeProto.MessageType.ROOM_GET_FULL_INFO_RESPONSE_VALUE, build, true);
|
||||
|
||||
}
|
||||
|
||||
public static void sendRoomCancelMatchResponse(ISession session, int responseMsgId, int type, boolean result) {
|
||||
RoomProto.RoomMatchResponse.Builder builder = RoomProto.RoomMatchResponse.newBuilder();
|
||||
builder.setResult(result);
|
||||
|
|
|
|||
Loading…
Reference in New Issue