//版本 syntax = "proto3"; package scene; option java_multiple_files = true; // grpc插件生成的类的报名,随便写 option java_package = "com.fdkk.fdkkmeta.grpc"; // grpc的方法 service SceneGrpcService { // rpc testMethod (SceneRequest) returns (SceneReply){} rpc getRoute (RouteRequest) returns (RouteReply){} rpc init (InitRequest) returns (NormalReply){} rpc rotate (RotateRequest) returns (NormalReply){} rpc move (MoveRequest) returns (MoveReply){} rpc getBreakPoint (BreakPointRequest) returns (BreakPointReply){} rpc joystick (JoystickRequest) returns (NormalReply){} //操作杆 } // 全局对象 message Point { string x=1; //应该换成double string y=2; string z=3; } // 全局对象 message AngleUe4 { int32 pitch=1; int32 yaw=2; int32 roll=3; } // 全局对象 message RouteArray{ int32 id=1; Point location=2; } // getRoute入参对象 message RouteRequest { Point s_location=1; Point e_location=2; string sceneCode=3; } // getRoute出参对象 message RouteReply{ repeated RouteArray in=1; } // // 入参对象 // message SceneRequest { // string id=1; // string name=2; // } // // 出参对象 // message SceneReply { // string res=1; // } /***********************************************************/ message Space { Point position=1; AngleUe4 angle=2; } message State { string roomTypeId=1; int32 person=2; string avatarId=3; string skinId=4; string roomId=5; bool isHost=6; bool isFollowHost=7; string skinDataVersion=8; string avatarComponents=9; string nickName=10; int32 movingMode=11; string attitude=12; string areaName=13; string pathName=14; string pathId=15; int32 avatarSize=16; string extra=17; bool prioritySync=18; Space player=19; Space camera=20; Point cameraCenter=21; } message RenderInfo{ int32 renderType=1; string videoFrame=2; int32 cameraStateType=3; int32 isMoving=4; int32 needIfr=5; int32 isVideo=6; int32 stillFrame=7; int32 isRotating=8; int32 isFollowing=9; repeated string clientPanoTitlesBitmap=10; string clientPanoTreceId=11; string prefetchVideoId=12; bool noMedia=13; } message Event{ string id=1; int32 type =2; repeated Point points=3; string rotateEvent=4; string removeVisitorEvent=5; } message UserState{ string userId=1; State playerState=2; RenderInfo renderInfo=3; Event event=4; int32 relation=5; } /***********************************************************/ // init入参对象 message InitRequest { string user_id=1; string nick_name=2; string skin_id=3; string avatar_id=4; string room_id=5; string app_id=6; } /**********************************************************/ //全局对象,旋转的参数 message rotation_action{ int32 vertical_move=1; double horizontal_move=2; } // rotate入参对象 message RotateRequest { int32 action_type=1; string rotation_action=2; string trace_id=3; string user_id=4; } /**********************************************************/ //正常的反馈 message NormalReply { repeated string traceIds=1; string vehicle=2; repeated UserState newUserStates=3; repeated int32 actionResponses=4; int32 getStateType=5; int32 code=6; string msg=7; string frameSrc=8; //视频路径 } /**********************************************************/ // message ClickingAction { Point clicking_point=1; int32 clicking_type=2; string extra=3; string attitude=4; } message MoveRequest { int32 action_type=1; ClickingAction clicking_action=2; State clicking_state=3; string trace_id=4; string user_id=5; } // 开始请求漫游 message StartMoveRequest { int32 action_type=1; ClickingAction clicking_action=2; State clicking_state=3; string trace_id=4; string user_id=5; } // 请求移动下一段 message MoveNextNeighborRequest { int32 user_id=1; string trace_id=2; bool next=3; } // 结束移动下一段(一般是有新的请求) message EndMoveNextNeighborRequest { int32 user_id=1; string trace_id=2; bool next=3; } // move出参对象 // 这需要自定义 message MoveReply { repeated string traceIds=1; string vehicle=2; repeated UserState newUserStates=3; //自己的话,不要有player,camera和cameraCenter。自己对应的这三个属性在8,9,10上,到webrtc服务器上组装 repeated int32 actionResponses=4; int32 getStateType=5; int32 code=6; string msg=7; //每一段的人物和相机坐标,第一段可能还有初始旋转 repeated Space player=8; repeated Space camera=9; repeated Point cameraCenter=10; bool isEnd=11; //false表示可以继续移动,true表示这次移动已经结束 } /**********************************************************/ /**********************************************************/ message DirAction{ int32 move_angle=1; int32 speed_level=2; } //控制杆移动 message JoystickRequest { int32 action_type=1; DirAction dir_action=2; string trace_id=3; string user_id=4; string packet_id=5; } /**********************************************************/ /**********************************************************/ message NeighborPointsAction{ Point point=1; int32 level=2; bool containSelf=3; int32 searchRange=4; } // move入参对象 message BreakPointRequest{ int32 action_type=1; NeighborPointsAction get_neighbor_points_action=2; string trace_id=3; string user_id=4; } // move出参对象 message BreakPointReply { int32 actionType=1; int32 pointType=2; string extra=3; string traceId=4; string packetId=5; repeated Point nps=6; int32 peopleNum=7; string zoneId=8; string echoMsg=9; string reserveDetail=10; repeated string userWithAvatarList=11; repeated UserState newUserStates=12; int32 code=13; string msg=14; } /**********************************************************/