|
@@ -106,7 +106,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void init(InitRequest request, StreamObserver<NormalReply> responseObserver) {
|
|
|
|
|
|
+ public void init(InitRequest request, StreamObserver<CommonReply> responseObserver) {
|
|
|
|
|
|
try {
|
|
try {
|
|
String user_id = request.getUserId();
|
|
String user_id = request.getUserId();
|
|
@@ -151,16 +151,32 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
//redis中写入用户状态信息
|
|
//redis中写入用户状态信息
|
|
redisCache.setCacheObject("UserState:"+userEntity.getUserId(),myState);
|
|
redisCache.setCacheObject("UserState:"+userEntity.getUserId(),myState);
|
|
|
|
|
|
|
|
+ MetaDataFramePO metaDataFramePO = createDefaultFrameMetadata(userEntity);
|
|
//返回
|
|
//返回
|
|
- NormalReply.Builder builder = NormalReply.newBuilder();
|
|
|
|
- builder.setCode(200);
|
|
|
|
|
|
+ CommonReply.Builder builder = CommonReply.newBuilder();
|
|
|
|
+ String[] traceIds = metaDataFramePO.getTraceIds();
|
|
|
|
+ for(int i=0;i<traceIds.length;++i){
|
|
|
|
+ builder.addTraceIds(traceIds[i]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ builder.setVehicle(metaDataFramePO.getVehicle());
|
|
|
|
+
|
|
|
|
+ UserState[] userStates = metaDataFramePO.getNewUserStates();
|
|
|
|
+ for(int i=0;i<userStates.length;++i){
|
|
|
|
+ builder.addNewUserStates(userStates[i]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ builder.setGetStateType(metaDataFramePO.getGetStateType());
|
|
|
|
+ builder.setCode(metaDataFramePO.getCode());
|
|
|
|
+ builder.setMsg(metaDataFramePO.getMsg());
|
|
|
|
+
|
|
responseObserver.onNext(builder.build());
|
|
responseObserver.onNext(builder.build());
|
|
responseObserver.onCompleted();
|
|
responseObserver.onCompleted();
|
|
}
|
|
}
|
|
catch(Exception e) {
|
|
catch(Exception e) {
|
|
- e.printStackTrace();
|
|
|
|
- responseObserver.onNext(NormalReply.newBuilder().setCode(500).build());
|
|
|
|
- responseObserver.onCompleted();
|
|
|
|
|
|
+// e.printStackTrace();
|
|
|
|
+// responseObserver.onNext(NormalReply.newBuilder().setCode(500).build());
|
|
|
|
+// responseObserver.onCompleted();
|
|
log.error("initException{}",e.getMessage());
|
|
log.error("initException{}",e.getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -438,24 +454,27 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
UserEntity userEntity = userService.findUserId(user_id);
|
|
UserEntity userEntity = userService.findUserId(user_id);
|
|
List<BreakpointsEntity> allList = breakpointsService.findByAppId(userEntity.getAppId());
|
|
List<BreakpointsEntity> allList = breakpointsService.findByAppId(userEntity.getAppId());
|
|
|
|
|
|
- Point[] nps=null;
|
|
|
|
- BreakPointReply res = BreakPointReply.newBuilder()
|
|
|
|
- .setActionType(action_type)
|
|
|
|
- .setPointType(100)
|
|
|
|
- .setExtra("")
|
|
|
|
- .setTraceId(trace_id)
|
|
|
|
- .setPacketId("")
|
|
|
|
- //.setNps(nps)
|
|
|
|
- .setPeopleNum(0)
|
|
|
|
- .setZoneId("")
|
|
|
|
- .setEchoMsg("")
|
|
|
|
- .setReserveDetail(null)
|
|
|
|
|
|
+ BreakPointReply.Builder res = BreakPointReply.newBuilder();
|
|
|
|
+ res.setActionType(action_type);
|
|
|
|
+ res.setPointType(100);
|
|
|
|
+ res.setExtra("");
|
|
|
|
+ res.setTraceId(trace_id);
|
|
|
|
+ res.setPacketId("");
|
|
|
|
+ for(int i=0;i<allList.size();++i){
|
|
|
|
+ BreakpointsEntity breakpointsEntity = allList.get(i);
|
|
|
|
+ PointPO breakpointsEntityPosition = breakpointsEntity.getPosition();
|
|
|
|
+ Point nps = Point.newBuilder().setX(String.valueOf(breakpointsEntityPosition.getX())).setY(String.valueOf(breakpointsEntityPosition.getY())).setZ(String.valueOf(breakpointsEntityPosition.getZ())).build();
|
|
|
|
+ res.addNps(nps);
|
|
|
|
+ }
|
|
|
|
+ res.setPeopleNum(0);
|
|
|
|
+ res.setZoneId("");
|
|
|
|
+ res.setEchoMsg("");
|
|
|
|
+ res.setReserveDetail(null);
|
|
//.setUserWithAvatarList()
|
|
//.setUserWithAvatarList()
|
|
//.setNewUserStates()
|
|
//.setNewUserStates()
|
|
- .setCode(200)
|
|
|
|
- .setMsg("")
|
|
|
|
- .build();
|
|
|
|
- responseObserver.onNext(res);
|
|
|
|
|
|
+ res.setCode(200);
|
|
|
|
+ res.setMsg("");
|
|
|
|
+ responseObserver.onNext(res.build());
|
|
responseObserver.onCompleted();
|
|
responseObserver.onCompleted();
|
|
log.info("回复{}",res);
|
|
log.info("回复{}",res);
|
|
}
|
|
}
|
|
@@ -575,4 +594,43 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
log.info("exitException{}",e.getMessage());
|
|
log.info("exitException{}",e.getMessage());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private MetaDataFramePO createDefaultFrameMetadata(UserEntity user){
|
|
|
|
+ String[] traceIds = new String[1];
|
|
|
|
+ traceIds[0] = "";
|
|
|
|
+ JSONArray actionResponses = new JSONArray();
|
|
|
|
+
|
|
|
|
+ RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
|
|
|
|
+ PointPO playerPosition = user.getPlayerPosition();
|
|
|
|
+ Point playerPt = Point.newBuilder().setX(String.valueOf(playerPosition.getX())).setY(String.valueOf(playerPosition.getY())).setZ(String.valueOf(playerPosition.getZ())).build();
|
|
|
|
+ AnglePO playerAngle = user.getPlayerAngle();
|
|
|
|
+ AngleUe4 playerAg =AngleUe4.newBuilder().setPitch(playerAngle.getPitch()).setYaw(playerAngle.getYaw()).setRoll(playerAngle.getRoll()).build();
|
|
|
|
+ Space player = sceneGrpcService.createSpace(playerPt,playerAg);
|
|
|
|
+
|
|
|
|
+ PointPO cameraPoint = rotateFrameEntity.getCameraPosition();
|
|
|
|
+ Point cameraPosition = sceneGrpcService.createPoint(String.valueOf(cameraPoint.getX()),String.valueOf(cameraPoint.getY()),String.valueOf(cameraPoint.getZ()));
|
|
|
|
+ AnglePO cameraAnglePO = rotateFrameEntity.getCameraAngle();
|
|
|
|
+ AngleUe4 cameraAngle = sceneGrpcService.createAngle(cameraAnglePO.getPitch(),cameraAnglePO.getYaw(),cameraAnglePO.getRoll());
|
|
|
|
+ Space camera = sceneGrpcService.createSpace(cameraPosition,cameraAngle);
|
|
|
|
+
|
|
|
|
+ MetaDataFramePO metaDataFramePO = new MetaDataFramePO();
|
|
|
|
+ metaDataFramePO.setTraceIds(traceIds);
|
|
|
|
+ metaDataFramePO.setVehicle(null);
|
|
|
|
+ State playerState = sceneGrpcService.createPlayerState2(player,camera,playerPt);
|
|
|
|
+
|
|
|
|
+ RenderInfo renderInfo = sceneGrpcService.createRenderInfo();
|
|
|
|
+ UserState userState = sceneGrpcService.createUserState( user.getUserId(), playerState, renderInfo, null);
|
|
|
|
+
|
|
|
|
+ //newUserStates
|
|
|
|
+ UserState[] newUserStates = new UserState[1];
|
|
|
|
+ //JSONArray newUserStates = new JSONArray();
|
|
|
|
+ newUserStates[0] = userState;
|
|
|
|
+ metaDataFramePO.setNewUserStates(newUserStates);
|
|
|
|
+ metaDataFramePO.setActionResponses(actionResponses);
|
|
|
|
+ metaDataFramePO.setGetStateType(0);
|
|
|
|
+ metaDataFramePO.setCode(0);
|
|
|
|
+ metaDataFramePO.setMsg("");
|
|
|
|
+ return metaDataFramePO;
|
|
|
|
+ //redisCache.setCacheObject("updateFrameMetadata:"+user.getUserId(),metaDataFramePO);
|
|
|
|
+ }
|
|
}
|
|
}
|