syntax = "proto3"; package KYFramework.Network; message C2R_Ping // IRequest { int32 RpcId = 90; } message R2C_Ping // IResponse { int32 RpcId = 90; int32 Error = 91; string Message = 92; } message C2S_Test // IRequest { int32 RpcId = 90; string Message = 92; } message S2C_Test // IResponse { int32 RpcId = 90; int32 Error = 91; string Message = 92; } message C2S_TestMessage // IMessage { string Message = 90; } message S2C_TestMessage // IMessage { string Message = 90; } /* 地理点:经纬高 */ message Point { double Longitude = 1; double Latitude = 2; double Altitude = 3; } /* 基地 */ message Base { string BaseName = 1; Point BaseLocation = 2; } /* 行政区气象数据 */ message CityWeather { /* 行政区域名称:XX市 */ string CityName = 1; /* 天气状况:晴/多云/雨等 */ string WeatherCondition = 2; /* 风向:东南西北 */ string WindDirection = 3; /* 风速 */ double WindVelocity = 4; /* 温度 */ double Temperature = 5; /* 湿度 */ double Humidity = 6; /* 能见度 */ double Visibility = 7; } /* 航线 */ message AirRoute { string Name = 1; repeated Point PointArr = 2; } /* 圆形禁飞区 */ message NoFlyZoneCircle { string NoFlyZoneType = 1; Point NoFlyZoneCenterLocation = 2; double NoFlyZoneRadius = 3; } /* 矩形禁飞区 */ message NoFlyZoneRect { string NoFlyZoneType = 1; repeated Point NoFlyZoneRectangleLocation = 2; } /* 爬升航段 */ message ClimbSegment { double ClimbVelocity = 1; double ClimbFuelConsumptionRate = 2; } /* 下降航段 */ message DescentSegment { double DescentVelocity = 1; double DescentFuelConsumptionRate = 2; } /* 巡航航段 */ message CruiseSegment { double CruiseAltitude = 1; double CruiseVelocity = 2; double CruiseFuelConsumptionRate = 3; } /* 转弯航段 */ message TurningSegment { double TurningRadius = 1; double TurningVelocity = 2; double ClimbFuelConsumptionRate = 3; } /* 飞行计划编辑器(输入) */ message C2S_FlyPlanInput // IMessage { /* ------------------------------ 任务 ------------------------------ */ /* 任务名称 */ string MissionName = 1; /* 任务类型 */ string MissionType = 2; /* 任务矩形区域顶点集合 */ repeated Point MissionRectangle = 3; /* ------------------------------ 飞机 ------------------------------ */ /* 最大起飞重量 */ double MaxTakeoffWeight = 4; /* 起飞空重 */ double TakeoffEmptyWeight = 5; /* 最大航程 */ double MaxFlightRange = 6; /* 续航时间 */ double MaxFlightTime = 7; /* 实用升限 */ double ServiceCeiling = 8; /* 最大载油量 */ double MaxFuelCapacity = 9; /* 最大商载量 */ double MaxWeightCapacity = 10; /* 载荷名称 */ string LoadName = 11; /* 载荷数量 */ int32 LoadQuantity = 12; /* 载荷重量 */ double LoadWeight = 13; /* ------------------------------ 气象 ------------------------------ */ /* 行政区气象集合 */ repeated CityWeather CityWeatherArr = 14; /* ------------------------------ 基地 ------------------------------ */ /* 基地集合 */ repeated Base BaseArr = 15; /* ------------------------------ 航线 ------------------------------ */ /* 航线集合 */ repeated AirRoute AirRouteArr = 16; /* ------------------------------ 终点 ------------------------------ */ /* 任务终点选择:Base代表返回基地,Point代表前往定点,Hover代表原地盘旋等待 */ string EndSelection = 17; /* 终点位置集合 */ repeated Point TerminusLocation = 18; /* ------------------------------ 禁飞区 ------------------------------ */ /* 圆形禁飞区集合 */ repeated NoFlyZoneCircle NoFlyZoneCircleArr = 19; /* 矩形禁飞区集合 */ repeated NoFlyZoneRect NoFlyZoneRectArr = 20; /* ------------------------------ 火场 ------------------------------ */ /* 目视距离 */ double VisualDistance = 21; /* 火场绕行方向:Clockwise表示顺时针,Anticlockwise表示逆时针 */ string DetourDirection = 22; /* 火场绕行圈数 */ int32 NumberOfDetour = 23; /* 绕行间隔距离 */ double DetourIntervalDistance = 24; /* 绕行速度 */ double DetourVelocity = 25; /* 火点位置集合 */ repeated Point FirePointLocation = 26; /* ------------------------------ 航段 ------------------------------ */ /* 最小转弯半径 */ double MinTurningRadius = 27; /* 最大转弯速度 */ double MaxTurningVelocity = 28; /* 最大爬升速度 */ double MaxClimbVelocity = 29; /* 最大下降速度 */ double MaxDescentVelocity = 30; /* 最大巡航速度 */ double MaxCruiseVelocity = 31; /* 爬升航段集合 */ repeated ClimbSegment ClimbSegmentArr = 32; /* 下降航段集合 */ repeated DescentSegment DescentSegmentArr = 33; /* 巡航航段集合 */ repeated CruiseSegment CruiseSegmentArr = 34; /* 转弯航段集合 */ repeated TurningSegment TurningSegmentArr = 35; /* ------------------------------ 飞行器编号 ------------------------------ */ /* 飞行器编号:按照“子任务-编队号-机号”方式命名” */ string AircraftID = 36; } /* 飞行计划编辑器(输出) */ message S2C_FlyPlanOutput // IMessage { /* 飞行器编号 */ string AircraftID = 1; /* 飞行航路点集合 */ repeated PlanTurningPoint PlanTurningPointArr = 2; } /* 计划航路点 */ message PlanTurningPoint { /* 名称:爬升、巡航、转弯、下降、观测火场 */ string Name = 1; /* 位置 */ Point Location = 2; /* 类型:普通、转弯、取水任务、灭火任务 */ string Type = 3; /* 速度 */ double Velocity = 4; /* 航段油耗 */ double SegmentConsumption = 5; /* 航段飞行时间 */ double SegmentTime = 6; /* 转弯半径 */ double Radius = 7; } /* 航路曲线(输入) */ /* 航路曲线(输出) */ message S2C_TurningPointOutput // IMessage { /* 飞行器编号 */ string AircraftID = 1; /* 飞行航路点名称 */ string TurningPointName = 2; /* 飞行航路点位置列表 */ repeated Point TurningPointLocation = 3; /* 当前任务阶段 */ string PresentMission = 4; /* 当前飞行目标点 */ string PresentTarget = 5; /* 航路开始日期 */ string StartDate = 6; /* 航路开始时间 */ string StartTime = 7; /* 航路结束日期 */ string EndDate = 8; /* 航路结束时间 */ string EndTime = 9; /* 已飞行时间 */ double ElapsedTime = 10; /* 当前日期 */ string PresentDate = 11; /* 当前时刻 */ string PresentTime = 12; /* 当前位置 */ Point PresentLocation = 13; /* 当前已消耗油量 */ double PresentFuelConsumption = 14; /* 当前剩余油量 */ double PresentRemainingFuel = 15; /* 当前飞行速度 */ double PresentVelocity = 16; } message C2S_GetReport // IRequest { int32 RpcId = 90; } message S2C_GetReport // IResponse { int32 RpcId = 90; int32 Error = 91; string Message = 92; repeated ResportWithTaskName Reports = 93; } message ResportWithTaskName { int32 FirePointId = 1; repeated EntitySheetReportValue EntitySheetReportValueArr = 2; } /* 仿真开始 */ message C2S_StmulationStart // IMessage { } /* 仿真倍速调整 */ message C2S_StmulationTimeScale // IMessage { int32 TimeScale = 1; } /* 仿真结束 */ message S2C_StmulationEnd // IMessage { int32 FirePointId = 1; repeated EntitySheetReportValue EntitySheetReportValueArr = 2; } message EntitySheetReportValue { string Name = 1; repeated SheetReportValue SheetReportValueArr = 2; } message SheetReportValue { string Name = 1; repeated ReportValue ValueArr = 2; } message ReportValue { string Name = 1; string Value = 2; } /* 请求 效能评估 */ message C2S_SimulationResult // IRequest { int32 RpcId = 90; } /* 返回 效能评估 */ message S2C_SimulatinResult // IResponse { int32 RpcId = 1; int32 Error = 2; string Message = 3; /* 任务响应时间(秒) */ double TaskResponseTime = 4; /* 总任务耗时(秒) */ double TaskTotalTime = 5; /* 单机入场时间(秒) */ double SingleJoinTime = 6; /* 单机有效任务时长(秒) */ double SingleEffectiveTaskTime = 7; /* 单机总投送人数(人) */ double SingleAll_Peopeo = 8; /* 单机单次投送人数(人) */ double SingleEach_People = 9; /* 巡护速度(km/h) */ double Speed_Patrol = 10; /* 巡护航程 (km)*/ double Voyage_Patrol = 11; /* 总巡护耗时 (秒)*/ double Time_AllPatrol = 12; /* 火情入场时间 (秒)*/ double FireJoinTime = 13; /* 单机总油耗 (kg)*/ double Fuel_Single = 14; /* 单机机场使用情况 */ string AirportUseSituation = 15; /* 单机导航使用情况 */ string NavUseSituation = 16; /* 消防巡护任务经济性评估参数 */ /* 单机总任务时长(秒) */ double FireJoinTime_Economical = 17; /* 单机总油耗(kg) */ double Fuel_Single_Economical = 18; /* 单机机场使用情况 */ string AirportUseSituation_Economical = 19; /* 单机导航使用情况 */ string NavUseSituation_Economical = 20; } /* 火焰蔓延输出 */ message S2C_FireSpread // IMessage { string AircraftId = 1; int32 FirePointId = 2; double fireGrids = 3; double firedGrids = 4; }