|
@@ -30,6 +30,7 @@ import java.io.IOException;
|
|
|
public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBase {
|
|
|
@Autowired
|
|
|
MetaConfig metaConfig;
|
|
|
+ /*
|
|
|
@Override
|
|
|
public void testMethod(SceneRequest request, StreamObserver<SceneReply> responseObserver) {
|
|
|
// grpc服务端获取调用端请求参数
|
|
@@ -42,6 +43,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
log.info("回复{}",res);
|
|
|
|
|
|
}
|
|
|
+ */
|
|
|
@Override
|
|
|
public void getRoute(RouteRequest request, StreamObserver<RouteReply> responseObserver) {
|
|
|
// grpc服务端获取调用端请求参数
|
|
@@ -77,7 +79,19 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
@Override
|
|
|
public void init(InitRequest request, StreamObserver<NormalReply> responseObserver) {
|
|
|
try {
|
|
|
-
|
|
|
+ String user_id = request.getUserId();
|
|
|
+ String nick_name = request.getNickName();
|
|
|
+ String skin_id = request.getSkinId();
|
|
|
+ String avatar_id = request.getAvatarId();
|
|
|
+ String room_id = request.getRoomId();
|
|
|
+ String app_id = request.getAppId();
|
|
|
+
|
|
|
+ //初始化的时候可以写死
|
|
|
+ //frame_id
|
|
|
+ //break_point_id
|
|
|
+ //player_angle
|
|
|
+
|
|
|
+ //再写入user表
|
|
|
}
|
|
|
catch(Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -87,7 +101,35 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
@Override
|
|
|
public void rotate(RotateRequest request, StreamObserver<NormalReply> responseObserver) {
|
|
|
try {
|
|
|
-
|
|
|
+ /*
|
|
|
+ {
|
|
|
+ "action_type":1014,
|
|
|
+ "rotation_action":
|
|
|
+ {
|
|
|
+ "vertical_move":0,
|
|
|
+ "horizontal_move":-0.020630372492836675
|
|
|
+ },
|
|
|
+ "trace_id":"b40a894e-cd59-4db5-8d75-a8466a0c9f15",
|
|
|
+ "user_id":"0a3987974feb4"
|
|
|
+ }
|
|
|
+ */
|
|
|
+ int action_type = request.getActionType();
|
|
|
+
|
|
|
+ //request.getRotationAction()
|
|
|
+
|
|
|
+ String trace_id = request.getTraceId();
|
|
|
+ String user_id = request.getUserId();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ NormalReply res = NormalReply.newBuilder()
|
|
|
+ .setTraceIds(0, trace_id).setVehicle(null)
|
|
|
+ .setNewUserStates(0, value)
|
|
|
+ .build();
|
|
|
+
|
|
|
+
|
|
|
+ responseObserver.onNext(res);
|
|
|
+ responseObserver.onCompleted();
|
|
|
}
|
|
|
catch(Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -95,7 +137,23 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void move(MoveRequest request, StreamObserver<MoveReply> responseObserver) {
|
|
|
+ public void moveStart(StartMoveRequest request, StreamObserver<NormalReply> responseObserver) {
|
|
|
+ try {
|
|
|
+ /*
|
|
|
+ * 1.从user表里获得当前人物所在的breakPoint_id
|
|
|
+ * 2.根据breakPoint_id,从breakpoints表里获得对应的起始坐标
|
|
|
+ * 3.根据request中的clicking_action里的clicking_point(目的地)以及当前起始坐标计算出路径
|
|
|
+ * 4.返回整个路径的一段
|
|
|
+ *
|
|
|
+ * */
|
|
|
+ }
|
|
|
+ catch(Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void moveProcess(MoveNextNeighborRequest request, StreamObserver<MoveReply> responseObserver) {
|
|
|
try {
|
|
|
/*
|
|
|
* 1.从user表里获得当前人物所在的breakPoint_id
|
|
@@ -130,4 +188,52 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private UserState createUserState(String user_id,State state) {
|
|
|
+ UserState state = UserState.newBuilder()
|
|
|
+ .setUserId(user_id)
|
|
|
+ .setPlayerState(state)
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+ private State createPlayerState(Space player,Space camera,Point cameraCenter) {
|
|
|
+ State playerState = State.newBuilder()
|
|
|
+ .setRoomTypeId("")
|
|
|
+ .setPerson(0)
|
|
|
+ .setAvatarId("")
|
|
|
+ .setSkinId("")
|
|
|
+ .setRoomId("")
|
|
|
+ .setIsHost(false)
|
|
|
+ .setIsFollowHost(false)
|
|
|
+ .setSkinDataVersion("")
|
|
|
+ .setAvatarComponents("")
|
|
|
+ .setNickName("")
|
|
|
+ .setMovingMode(0)
|
|
|
+ .setAttitude("")
|
|
|
+ .setAreaName("")
|
|
|
+ .setPathName("")
|
|
|
+ .setPathId("")
|
|
|
+ .setAvatarSize(1)
|
|
|
+ .setExtra("")
|
|
|
+ .setPrioritySync(false)
|
|
|
+ .setPlayer(player)
|
|
|
+ .setCamera(camera)
|
|
|
+ .setCameraCenter(cameraCenter).build();
|
|
|
+ return playerState;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Space createSpace(Point position,AngleUe4 angle) {
|
|
|
+ Space space = Space.newBuilder().setPosition(position).setAngle(angle).build();
|
|
|
+ return space;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Point createPoint(double x,double y,double z) {
|
|
|
+ Point point = Point.newBuilder().setX(x).setY(y).setZ(z);
|
|
|
+ return point;
|
|
|
+ }
|
|
|
+
|
|
|
+ private AngleUe4 createAngle(int pitch,int yaw,int roll) {
|
|
|
+ AngleUe4 angle = AngleUe4.newBuilder().setPitch(pitch).setYaw(yaw).setRoll(roll).build();
|
|
|
+ return angle;
|
|
|
+ }
|
|
|
}
|