|
@@ -118,7 +118,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
String app_id = request.getAppId();
|
|
|
//保存user
|
|
|
UserEntity userEntity=new UserEntity();
|
|
|
-
|
|
|
+
|
|
|
userEntity.setAppId(app_id);
|
|
|
userEntity.setAvatarId(avatar_id);
|
|
|
userEntity.setNickName(nick_name);
|
|
@@ -126,7 +126,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
userEntity.setSkinId(skin_id);
|
|
|
userEntity.setFrameId(0L);
|
|
|
userEntity.setBreakPointId(0L);
|
|
|
-
|
|
|
+
|
|
|
//初始化的时候可以写死
|
|
|
AnglePO player_angle = new AnglePO();
|
|
|
player_angle.setPitch(0);
|
|
@@ -160,10 +160,11 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
String user_id = request.getUserId();
|
|
|
RotationAction rotation_action = request.getRotationAction();
|
|
|
double horizontal_move = rotation_action.getHorizontalMove();
|
|
|
-
|
|
|
+
|
|
|
//这三个变量从user表和rotateframe表里取
|
|
|
UserEntity user = userService.findById(user_id);
|
|
|
- BreakpointsEntity breakpointsEntity = breakpointsService.findById(user.getBreakPointId());
|
|
|
+ Long breakPointId = user.getBreakPointId();
|
|
|
+ BreakpointsEntity breakpointsEntity = breakpointsService.findById(breakPointId);
|
|
|
RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
|
|
|
|
|
|
PointPO playerPoint = breakpointsEntity.getPosition();
|
|
@@ -171,21 +172,22 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
AnglePO playerAnglePO = user.getPlayerAngle();
|
|
|
AngleUe4 playerAngle = createAngle(playerAnglePO.getPitch(),playerAnglePO.getYaw(),playerAnglePO.getRoll());
|
|
|
Space player = createSpace(playerPosition,playerAngle);
|
|
|
-
|
|
|
- PointPO cameraPoint = rotateFrameEntity.getCameraPosition();
|
|
|
- Point cameraPosition = createPoint(String.valueOf(cameraPoint.getX()),String.valueOf(cameraPoint.getY()),String.valueOf(cameraPoint.getZ()));
|
|
|
- AnglePO cameraAnglePO = rotateFrameEntity.getCameraAngle();
|
|
|
-
|
|
|
+
|
|
|
double hAngle = horizontal_move * 90;
|
|
|
int offFrameIndex = (int)Math.ceil(hAngle);
|
|
|
int currentFrame = rotateFrameEntity.getFrameIndex(); //从数据库里读取
|
|
|
currentFrame +=offFrameIndex;
|
|
|
currentFrame = currentFrame % 359;
|
|
|
//currentFrame
|
|
|
-
|
|
|
+ log.info("currentFrame{}",currentFrame);
|
|
|
+ String appId = user.getAppId();
|
|
|
+ rotateFrameEntity = rotateFrameService.findByAppIdAndBreakPointIdAndFrameIndex(appId,breakPointId,currentFrame);
|
|
|
+ PointPO cameraPoint = rotateFrameEntity.getCameraPosition();
|
|
|
+ Point cameraPosition = createPoint(String.valueOf(cameraPoint.getX()),String.valueOf(cameraPoint.getY()),String.valueOf(cameraPoint.getZ()));
|
|
|
+ AnglePO cameraAnglePO = rotateFrameEntity.getCameraAngle();
|
|
|
AngleUe4 cameraAngle = createAngle(cameraAnglePO.getPitch(),cameraAnglePO.getYaw(),cameraAnglePO.getRoll());
|
|
|
Space camera = createSpace(cameraPosition,cameraAngle);
|
|
|
-
|
|
|
+
|
|
|
//对准player
|
|
|
Point cameraCenter = createPoint(String.valueOf(playerPoint.getX()),String.valueOf(playerPoint.getY()),String.valueOf(playerPoint.getZ()));
|
|
|
|
|
@@ -238,9 +240,10 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
String user_id = request.getUserId();
|
|
|
|
|
|
UserEntity user = userService.findById(user_id);
|
|
|
- BreakpointsEntity breakpointsEntity = breakpointsService.findById(user.getBreakPointId());
|
|
|
+ Long breakPointId = user.getBreakPointId();
|
|
|
+ BreakpointsEntity breakpointsEntity = breakpointsService.findById(breakPointId);
|
|
|
RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
|
|
|
-
|
|
|
+
|
|
|
Point start = null; //从user表里取
|
|
|
//计算路径
|
|
|
|
|
@@ -275,9 +278,9 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
AnglePO playerAnglePO = user.getPlayerAngle();
|
|
|
AngleUe4 playerAngle = createAngle(playerAnglePO.getPitch(),playerAnglePO.getYaw(),playerAnglePO.getRoll());
|
|
|
Space player = createSpace(playerPosition,playerAngle);
|
|
|
-
|
|
|
+
|
|
|
AnglePO cameraAnglePO = rotateFrameEntity.getCameraAngle();
|
|
|
-
|
|
|
+
|
|
|
int angle = cameraAnglePO.getYaw();
|
|
|
int offAngle = 0;
|
|
|
offAngle = angle%45;
|
|
@@ -287,19 +290,21 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
else {
|
|
|
offAngle = -1*offAngle;
|
|
|
}
|
|
|
-
|
|
|
- //循环
|
|
|
- //for()
|
|
|
-
|
|
|
+ List<RotateFrameEntity> rotateFrameEntityList = rotateFrameService.findByAppIdAndBreakPointIdBetweenFrameIndex(appId, breakPointId, angle, offAngle + angle);
|
|
|
+ //循环
|
|
|
+ //rotateFrameEntityList for()
|
|
|
+
|
|
|
PointPO cameraPoint = rotateFrameEntity.getCameraPosition();
|
|
|
Point cameraPosition = createPoint(String.valueOf(cameraPoint.getX()),String.valueOf(cameraPoint.getY()),String.valueOf(cameraPoint.getZ()));
|
|
|
AngleUe4 cameraAngle = createAngle(cameraAnglePO.getPitch(),cameraAnglePO.getYaw(),cameraAnglePO.getRoll());
|
|
|
Space camera = createSpace(cameraPosition,cameraAngle);
|
|
|
-
|
|
|
+
|
|
|
Point cameraCenter = createPoint(String.valueOf(playerPoint.getX()),String.valueOf(playerPoint.getY()),String.valueOf(playerPoint.getZ()));
|
|
|
State playerState = createPlayerState( player, camera, cameraCenter);
|
|
|
RenderInfo renderInfo = createRenderInfo();
|
|
|
Event event = createEvent();
|
|
|
+
|
|
|
+
|
|
|
UserState userState = createUserState( user_id, playerState, renderInfo, event);
|
|
|
|
|
|
MoveReply res = MoveReply.newBuilder()
|
|
@@ -348,9 +353,9 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
AnglePO playerAnglePO = user.getPlayerAngle();
|
|
|
AngleUe4 playerAngle = createAngle(playerAnglePO.getPitch(),playerAnglePO.getYaw(),playerAnglePO.getRoll());
|
|
|
Space player = createSpace(playerPosition,playerAngle);
|
|
|
-
|
|
|
+
|
|
|
AnglePO cameraAnglePO = rotateFrameEntity.getCameraAngle();
|
|
|
-
|
|
|
+
|
|
|
int angle = cameraAnglePO.getYaw();
|
|
|
int offAngle = 0;
|
|
|
offAngle = angle%45;
|
|
@@ -360,15 +365,15 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
else {
|
|
|
offAngle = -1*offAngle;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//循环
|
|
|
//for()
|
|
|
-
|
|
|
+
|
|
|
PointPO cameraPoint = rotateFrameEntity.getCameraPosition();
|
|
|
Point cameraPosition = createPoint(String.valueOf(cameraPoint.getX()),String.valueOf(cameraPoint.getY()),String.valueOf(cameraPoint.getZ()));
|
|
|
AngleUe4 cameraAngle = createAngle(cameraAnglePO.getPitch(),cameraAnglePO.getYaw(),cameraAnglePO.getRoll());
|
|
|
Space camera = createSpace(cameraPosition,cameraAngle);
|
|
|
-
|
|
|
+
|
|
|
Point cameraCenter = createPoint(String.valueOf(playerPoint.getX()),String.valueOf(playerPoint.getY()),String.valueOf(playerPoint.getZ()));
|
|
|
State playerState = createPlayerState( player, camera, cameraCenter);
|
|
|
RenderInfo renderInfo = createRenderInfo();
|
|
@@ -454,17 +459,18 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
*/
|
|
|
int actionType = request.getActionType();
|
|
|
DirAction dirAction = request.getDirAction();
|
|
|
-
|
|
|
+
|
|
|
String trace_id = request.getTraceId();
|
|
|
String user_id = request.getUserId();
|
|
|
String packet_id = request.getPacketId();
|
|
|
-
|
|
|
+
|
|
|
UserEntity user = userService.findById(user_id);
|
|
|
Long breakPointId = user.getBreakPointId();
|
|
|
//获得当前点所有邻居点
|
|
|
+ //TODO 获取棋盘
|
|
|
//找到与角度move_angle最近的邻居点
|
|
|
//移动player,并且更新相机角度
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
catch(Exception e) {
|
|
|
e.printStackTrace();
|