Merge branch 'master' of 60.1.1.230:backend/jieling_server
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.javaback_recharge
commit
15e6c439af
|
|
@ -136,26 +136,9 @@ public class Room {
|
||||||
RoomFightProto.RoomGameStartResponse.Builder builder = RoomFightProto.RoomGameStartResponse.newBuilder();
|
RoomFightProto.RoomGameStartResponse.Builder builder = RoomFightProto.RoomGameStartResponse.newBuilder();
|
||||||
builder.setClientTimestamp(request.getClientTimestamp());
|
builder.setClientTimestamp(request.getClientTimestamp());
|
||||||
builder.setServerTimestamp(System.currentTimeMillis());
|
builder.setServerTimestamp(System.currentTimeMillis());
|
||||||
builder.setMapId(mapId);
|
|
||||||
|
|
||||||
CommonProto.Cell.Builder cellBuilder = CommonProto.Cell.newBuilder();
|
|
||||||
builder.addMapList(cellBuilder.build());
|
|
||||||
|
|
||||||
RoomFightProto.AgentInfo.Builder selfBuilder = RoomFightProto.AgentInfo.newBuilder();
|
|
||||||
builder.setAgentInfo(selfBuilder.build());
|
|
||||||
|
|
||||||
for(int i=0; i<roomPlayerInfos.length; i++){
|
|
||||||
if(roomPlayerInfos[i] == null){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
RoomFightProto.AgentInfo.Builder otherBuilder = RoomFightProto.AgentInfo.newBuilder();
|
|
||||||
builder.addOtherAgentInfos(otherBuilder.build());
|
|
||||||
}
|
|
||||||
builder.setLeftTime(Room.MAX_GAME_LENGTH);
|
builder.setLeftTime(Room.MAX_GAME_LENGTH);
|
||||||
|
|
||||||
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
|
||||||
builder.setTemporaryItems(dropBuilder.build());
|
|
||||||
|
|
||||||
MessageUtil.sendMessage(iSession, 0, responseMsgId, builder.build(), true);
|
MessageUtil.sendMessage(iSession, 0, responseMsgId, builder.build(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.room;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.protocols.CommonProto;
|
||||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||||
import com.ljsd.jieling.protocols.RoomFightProto;
|
import com.ljsd.jieling.protocols.RoomFightProto;
|
||||||
import com.ljsd.jieling.protocols.RoomProto;
|
import com.ljsd.jieling.protocols.RoomProto;
|
||||||
|
|
@ -102,14 +103,20 @@ public class RoomManager {
|
||||||
Room room = new Room(roomId, roomMatchRequest.getType(), playerArray);
|
Room room = new Room(roomId, roomMatchRequest.getType(), playerArray);
|
||||||
roomMap.put(roomId, room);
|
roomMap.put(roomId, room);
|
||||||
|
|
||||||
|
List<CommonProto.Cell> cells = new ArrayList<>();
|
||||||
|
|
||||||
|
List<RoomProto.AgentInfo> agentInfoList = new ArrayList<>();
|
||||||
|
|
||||||
for(int i=0; i<playerArray.length; i++)
|
for(int i=0; i<playerArray.length; i++)
|
||||||
{
|
{
|
||||||
User user = UserManager.getUserInMem(playerArray[i]);
|
User user = UserManager.getUserInMem(playerArray[i]);
|
||||||
user.getRoomInfo().setMatching(false);
|
user.getRoomInfo().setMatching(false);
|
||||||
user.getRoomInfo().setRoomId(roomId);
|
user.getRoomInfo().setRoomId(roomId);
|
||||||
MessageUtil.sendRoomMatchSuccessIndication(playerArray[i], room.getType(), roomId);
|
RoomProto.AgentInfo.Builder agentInfoBuilder = RoomProto.AgentInfo.newBuilder();
|
||||||
|
agentInfoList.add(agentInfoBuilder.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MessageUtil.sendRoomMatchSuccessIndication(playerArray, room.getType(), roomId, 1, cells, agentInfoList);
|
||||||
return room;
|
return room;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.google.protobuf.GeneratedMessage;
|
||||||
import com.googlecode.protobuf.format.JsonFormat;
|
import com.googlecode.protobuf.format.JsonFormat;
|
||||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
|
import com.ljsd.jieling.logic.room.Room;
|
||||||
import com.ljsd.jieling.netty.PackageConstant;
|
import com.ljsd.jieling.netty.PackageConstant;
|
||||||
import com.ljsd.jieling.netty.cocdex.Tea;
|
import com.ljsd.jieling.netty.cocdex.Tea;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
|
@ -50,6 +51,11 @@ public class MessageUtil {
|
||||||
return Tea.encrypt2(bytes, secretKey);
|
return Tea.encrypt2(bytes, secretKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void sendMessage(int[] uids, int result, int msgId, GeneratedMessage generatedMessage, boolean flush) {
|
||||||
|
for(int i=0; i<uids.length; i++){
|
||||||
|
sendMessage(uids[i], result, msgId, generatedMessage, flush);
|
||||||
|
}
|
||||||
|
}
|
||||||
public static void sendMessage(int uid, int result, int msgId, GeneratedMessage generatedMessage, boolean flush) {
|
public static void sendMessage(int uid, int result, int msgId, GeneratedMessage generatedMessage, boolean flush) {
|
||||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
|
||||||
sendMessage(sessionByUid, result, msgId, generatedMessage, flush);
|
sendMessage(sessionByUid, result, msgId, generatedMessage, flush);
|
||||||
|
|
@ -177,13 +183,13 @@ public class MessageUtil {
|
||||||
// sendMessage(session, uid, (int) index, 0, msgId, generatedMessage, true);
|
// sendMessage(session, uid, (int) index, 0, msgId, generatedMessage, true);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 对所有在线用户发送通知
|
// * 对所有在线用户发送通知
|
||||||
*
|
// *
|
||||||
* @param msgId
|
// * @param msgId
|
||||||
* @param generatedMessage
|
// * @param generatedMessage
|
||||||
* @throws Exception
|
// * @throws Exception
|
||||||
*/
|
// */
|
||||||
// public static void sendAllIndication(int msgId, GeneratedMessage generatedMessage) throws Exception {
|
// public static void sendAllIndication(int msgId, GeneratedMessage generatedMessage) throws Exception {
|
||||||
// Map<Integer, Session> sessionMap = OnlineUserManager.sessionMap;
|
// Map<Integer, Session> sessionMap = OnlineUserManager.sessionMap;
|
||||||
// Msg msg = new Msg();
|
// Msg msg = new Msg();
|
||||||
|
|
@ -202,13 +208,21 @@ public class MessageUtil {
|
||||||
sendMessage(session, 1, responseMsgId, builder.build(), true);
|
sendMessage(session, 1, responseMsgId, builder.build(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendRoomMatchSuccessIndication(int uid, int type, int roomId) {
|
public static void sendRoomMatchSuccessIndication(int[] uids, int type, int roomId, int mapId,
|
||||||
|
List<CommonProto.Cell> cellList, List<RoomProto.AgentInfo> agentInfoList) {
|
||||||
RoomProto.RoomMatchSuccessIndication.Builder builder = RoomProto.RoomMatchSuccessIndication.newBuilder();
|
RoomProto.RoomMatchSuccessIndication.Builder builder = RoomProto.RoomMatchSuccessIndication.newBuilder();
|
||||||
builder.setRoomId(roomId);
|
builder.setRoomId(roomId);
|
||||||
builder.setType(type);
|
builder.setType(type);
|
||||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
|
builder.setMapId(mapId);
|
||||||
if(sessionByUid!=null){
|
builder.addAllMapList(cellList);
|
||||||
sendIndicationMessage(sessionByUid,1, MessageTypeProto.MessageType.ROOM_MATCH_SUCCESS_INDICATION_VALUE, builder.build(), true);
|
builder.addAllAgentInfos(agentInfoList);
|
||||||
|
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
|
||||||
|
builder.setTemporaryItems(dropBuilder.build());
|
||||||
|
for(int uid : uids){
|
||||||
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
|
||||||
|
if(sessionByUid!=null){
|
||||||
|
sendIndicationMessage(sessionByUid,1, MessageTypeProto.MessageType.ROOM_MATCH_SUCCESS_INDICATION_VALUE, builder.build(), true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue