map.proto 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744
  1. // message结构的属性名请使用 驼峰小写字母开始
  2. syntax = "proto3";
  3. option go_package = "/pb";
  4. package pb;
  5. import "base_type.proto";
  6. // 玩家拥有的地图对象列表
  7. message OwnerMapObjects {
  8. repeated OwnerMapObject list = 1;
  9. }
  10. // 玩家拥有的地图对象
  11. message OwnerMapObject {
  12. // 对象唯一id
  13. int64 objectID = 1;
  14. // 对象所在坐标点
  15. Point point = 2;
  16. // 对象类型,见 map.go -> ObjectType 地块对象类型
  17. int32 objectType = 3;
  18. // 对象配置ID
  19. int32 configID = 4;
  20. // 建筑对象信息
  21. OwnerMapObjectBuild build = 5;
  22. // 资源对象信息
  23. OwnerMapObjectRes res = 6;
  24. }
  25. // 玩家拥有的地图对象-资源
  26. message OwnerMapObjectRes {
  27. // 放弃截止时间(ms)
  28. int64 discardTime = 1;
  29. // 免战结束时间(毫秒)
  30. int64 invincibleEndTime = 2;
  31. }
  32. // 玩家拥有的地图对象-建筑
  33. message OwnerMapObjectBuild {
  34. // 是否正在建造中
  35. bool isBuilding = 1;
  36. // 建造完成时间(毫秒)
  37. int64 buildEndTime = 2;
  38. // 是否正在升级中
  39. bool isUpgrading = 3;
  40. // 升级完成时间(毫秒)
  41. int64 upgradeEndTime = 4;
  42. // 建筑等级
  43. int32 level = 5;
  44. // 放弃截止时间(ms)
  45. int64 discardTime = 6;
  46. // 免战结束时间(毫秒)
  47. int64 invincibleEndTime = 7;
  48. // 如果当前建筑是营帐 则为营帐下标1-5 其他默认为0
  49. int32 index = 8;
  50. }
  51. // 地图对象列表
  52. message MapObjects {
  53. // 对象列表
  54. repeated MapObject objectList = 1;
  55. // 军团列表
  56. repeated MapLegion legionList = 2;
  57. }
  58. // 地图玩家对象列表
  59. message MapPlayers {
  60. repeated MapPlayer list = 1;
  61. }
  62. // 地图联盟对象列表
  63. message MapLeagues {
  64. repeated MapLeague list = 1;
  65. }
  66. // 地图中的玩家对象信息
  67. message MapPlayer {
  68. // 玩家ID
  69. int64 playerID = 1;
  70. // 玩家名
  71. string playerName = 2;
  72. // 主将头像?
  73. }
  74. // 地图中的联盟对象信息
  75. message MapLeague {
  76. // 联盟ID
  77. int64 leagueID = 1;
  78. // 联盟名
  79. string leagueName = 2;
  80. // 联盟简称
  81. string leagueAbbName = 3;
  82. // 旗帜背景ID L-联盟-旗帜表旗帜ID
  83. int32 flagBg = 4;
  84. // 旗帜图标ID L-联盟-旗帜表旗帜ID
  85. int32 flagIcon = 5;
  86. }
  87. // 地图对象
  88. message MapObject {
  89. // 对象唯一id
  90. int64 objectID = 1;
  91. // 所有者的玩家ID
  92. int64 playerID = 2;
  93. // 所有者的联盟ID
  94. int64 leagueID = 3;
  95. // 对象所在坐标点
  96. Point point = 4;
  97. // 对象类型,用来读取下面对应的配置ID和结构
  98. // 见 map.go -> ObjectType 地块对象类型
  99. int32 objectType = 5;
  100. // 对象配置ID
  101. int32 configID = 6;
  102. // 寻路信息(运用于行军/军团等可移动对象)
  103. MapPath path = 7;
  104. // 免战结束时间(毫秒)
  105. int64 invincibleEndTime = 8;
  106. // 系统城对象信息
  107. MapCastle castle = 11;
  108. // 建筑对象信息
  109. MapBuild build = 12;
  110. // 怪物对象信息
  111. MapMonster monster = 13;
  112. // 资源对象信息
  113. MapRes res = 14;
  114. // 行军对象信息
  115. MapMarch march = 15;
  116. }
  117. // 地图对象寻路结构
  118. message MapPath {
  119. // 行军的起点与终点
  120. Point2 fromTo = 1;
  121. // 路径列表(后续只发路径关键点)
  122. repeated Point points = 2;
  123. // 路点下标(当前在第几个点)
  124. int32 pointIndex = 3;
  125. // 路径最后一次更新时间(毫秒)
  126. int64 lastTime = 4;
  127. // 行军速度
  128. int64 speed = 5;
  129. // 行军类型
  130. // 见 map.go -> MarchType 行军类型
  131. int32 marchType = 6;
  132. // 行军状态
  133. // 见 map.go -> MarchState 行军状态
  134. int32 marchState = 7;
  135. // 状态开始时间(毫秒)
  136. int64 stateStartTime = 8;
  137. // 状态结束时间(毫秒)
  138. int64 stateEndTime = 9;
  139. }
  140. // 城池对象
  141. message MapCastle {
  142. // 驻城部队数量
  143. int32 garrisonArimes = 1;
  144. // 当前耐久度
  145. int32 durability = 2;
  146. // 耐久恢复时间(毫秒)
  147. int64 recoverTime = 3;
  148. // 调动数量
  149. int32 redeployNum = 4;
  150. // 封印结束时间(毫秒)
  151. int64 sealEndTime = 5;
  152. // 首次占领的联盟ID
  153. int64 firstLeagueID = 10;
  154. // 首次占领的联盟名称
  155. string firstLeagueName = 11;
  156. // 首次占领的联盟简称
  157. string firstLeagueAbbName = 12;
  158. // 首次占领的联盟图标
  159. int32 firstLeagueIcon = 13;
  160. // 关联的建筑对象ID列表
  161. repeated int64 buildObjectIDList = 20 [deprecated = true];
  162. // 宣战结束时间(毫秒)
  163. int64 startWarEndTime = 21;
  164. // 攻城结束时间(毫秒)
  165. int64 siegeEndTime = 22;
  166. // 子对象ID列表
  167. repeated int64 childObjectIDs = 23;
  168. // 父对象ID
  169. int64 parentObjectID = 24;
  170. }
  171. // 建筑对象
  172. message MapBuild {
  173. // 是否正在建造中
  174. bool isBuilding = 1;
  175. // 建造完成时间(毫秒)
  176. int64 buildEndTime = 2;
  177. // 是否正在升级中
  178. bool isUpgrading = 3;
  179. // 升级完成时间(毫秒)
  180. int64 upgradeEndTime = 4;
  181. // 建筑等级
  182. int32 level = 5;
  183. // 如果当前建筑是营帐 则为营帐下标1-5 其他默认为0
  184. int32 index = 6;
  185. // 调动数量
  186. int32 redeployNum = 7;
  187. // 建筑外观ID D-地图-主城外观表主城外观ID
  188. int32 showID = 8;
  189. // 驻城部队数量
  190. int32 garrisonArimes = 10;
  191. // 当前耐久度
  192. int32 durability = 11;
  193. // 耐久恢复时间(毫秒)
  194. int64 recoverTime = 12;
  195. // 最大耐久度
  196. int32 maxDurability = 13;
  197. // 放弃截止时间(ms)
  198. int64 discardTime = 20;
  199. // 关联的城池对象castleObjectIDID
  200. int64 castleObjectID = 21 [deprecated = true];
  201. // 宣战结束时间(毫秒)
  202. int64 startWarEndTime = 22 [deprecated = true];
  203. // 攻城结束时间(毫秒)
  204. int64 siegeEndTime = 23 [deprecated = true];
  205. // 整顿结束时间(毫秒)
  206. int64 reorganizeEndTime = 30;
  207. // 加固准备结束时间(毫秒)
  208. int64 reinforcePrepareEndTime = 31;
  209. // 加固结束时间(毫秒)
  210. int64 reinforceEndTime = 32;
  211. }
  212. // 怪物对象
  213. message MapMonster {
  214. // 存活截止时间(毫秒)
  215. int64 aliveTime = 1;
  216. // 是否被讨伐中
  217. bool isCrusade = 2;
  218. }
  219. // 资源对象
  220. message MapRes {
  221. // 采集中的行军对象ID
  222. int64 gatherObjectID = 1;
  223. // 存活终止时间(毫秒)
  224. int64 aliveTime = 2;
  225. // 剩余资源量
  226. int64 remain = 3;
  227. // 放弃截止时间(ms)
  228. int64 discardTime = 11;
  229. }
  230. // 军团(包含多个行军对象)
  231. message MapLegion {
  232. // 对象唯一id
  233. int64 objectID = 1;
  234. // 所属的联盟ID
  235. int64 leagueID = 2;
  236. // 军团的名称
  237. string legionName = 3;
  238. // 对象所在坐标点
  239. Point point = 4;
  240. // 寻路信息(运用于行军/军团等可移动对象)
  241. MapPath path = 5;
  242. // 军团的行军对象列表
  243. repeated MapObject marchList = 6;
  244. // 军团领队的对象ID
  245. int64 leadObjectID = 7;
  246. }
  247. // 行军对象
  248. message MapMarch {
  249. // 行军展示ID(配置文件中)
  250. int32 marchViewID = 1 [deprecated = true];
  251. // 兵种ID1
  252. int32 armID1 = 2 [deprecated = true];
  253. // 兵种ID2
  254. int32 armID2 = 3 [deprecated = true];
  255. // 兵种ID3
  256. int32 armID3 = 4 [deprecated = true];
  257. // 负重比例(0-100)对应资源运输表的ID
  258. int32 loadRatio = 5;
  259. // 调动目标建筑对象ID
  260. int64 redeployObjectID = 6;
  261. // 征兵结束时间(毫秒)
  262. int64 conscriptEndTime = 7;
  263. // 行军展示信息
  264. MarchView marchView = 8;
  265. }
  266. // 行军请求
  267. message MapMarchRequest {
  268. // 选择的队伍ID
  269. int32 teamID = 1;
  270. // 行军类型,意图
  271. // 见 map.go -> MarchType 行军类型
  272. int32 marchType = 2;
  273. // 行军的目标坐标点
  274. Point point = 3;
  275. // 行军的目标对象ID
  276. int64 targetObjectID = 4;
  277. // 是否自动回城
  278. bool isAutoRetreat = 10;
  279. // 是否自动征兵
  280. bool isAutoConscript = 11;
  281. }
  282. // 建造请求
  283. message MapBuildRequest {
  284. // 地图建筑的配置ID
  285. int32 configID = 1;
  286. // 建造的中心坐标点
  287. Point point = 2;
  288. }
  289. // 建筑升级请求
  290. message MapBuildUpgradeRequest {
  291. // 地图建筑的对象ID
  292. int64 objectID = 1;
  293. // 地图建筑的配置ID
  294. int32 configID = 2;
  295. // 当前等级
  296. int32 level = 3;
  297. }
  298. // 地图对象更新列表
  299. message MapObjectsUpdate {
  300. repeated MapObjectUpdate list = 1;
  301. }
  302. // 地图对象更新
  303. message MapObjectUpdate {
  304. // 是否删除
  305. bool isDelete = 1;
  306. // 对象ID
  307. int64 objectID = 2;
  308. // 配置ID
  309. int32 configID = 3;
  310. // 对象类型
  311. int32 objectType = 4;
  312. // 坐标
  313. Point point = 5;
  314. // 时间(毫秒)
  315. int64 time = 6;
  316. }
  317. // 行军对象的状态
  318. message MapMarchState {
  319. // 行军对象ID
  320. int64 objectID = 1;
  321. // 行军对象当前坐标点
  322. Point point = 2;
  323. // 行军对象当前状态
  324. // 见 map.go -> MarchState 行军状态
  325. int32 state = 3;
  326. // 状态开始时间 (毫秒)
  327. int64 stateStartTime = 4;
  328. // 状态结束时间 (毫秒)
  329. int64 stateEndTime = 5;
  330. // 行军速度
  331. int64 speed = 6;
  332. // 调动目标建筑对象ID
  333. int64 redeployObjectID = 7;
  334. }
  335. // 玩家登录地图后,带下去一些进入地图之前需要知道必要的信息
  336. message MapLoginResponse {
  337. // 玩家出生州ID(0表示未选州)
  338. int32 bornStateID = 1;
  339. // 玩家声望
  340. int32 prestige = 2;
  341. }
  342. // 玩家进入地图成功后下发的信息
  343. message MapEnterResponse {
  344. // 地基建造截止时间 (毫秒)
  345. int64 cityBaseEndTime = 1;
  346. // 迁城冷却截止时间 (毫秒)
  347. int64 relocateEndTime = 2;
  348. // 再起截止时间(毫秒)
  349. int64 comebackEndTime = 4;
  350. // 选州截止时间(毫秒)
  351. int64 rechooseComebackEndTime = 5;
  352. // 加固准备结束时间(毫秒)
  353. int64 reinforcePrepareEndTime = 6;
  354. // 加固生效结束时间(毫秒)
  355. int64 reinforceEffectEndTime = 7;
  356. // 加固冷却结束时间(毫秒)
  357. int64 reinforceCooldownEndTime = 8;
  358. // 资源守军恢复倒计时(秒) key: objectID value: 恢复时间
  359. I64Map resDefends = 10;
  360. }
  361. // 地图攻城信息
  362. message MapSiege {
  363. // 系统城对象ID
  364. int64 castleObjectID = 1;
  365. // 系统城配置ID
  366. int32 castleConfigID = 2;
  367. // 攻城大营对象ID
  368. int64 siegeCampObjectID = 3;
  369. // 当前攻城阶段
  370. // 见 siege_stage.go 文件 SiegeStage 枚举
  371. int32 siegeStage = 11;
  372. // 当前阶段结束时间(毫秒)
  373. int64 stageEndTime = 12;
  374. }
  375. // 发起集结请求
  376. message MapAssembleRequest {
  377. // 要集结的队伍ID
  378. int32 teamID = 1;
  379. // 集结的目标对象ID
  380. int64 objectID = 2;
  381. // 集结的目标对象类型
  382. int32 objectType = 3;
  383. // 集结的目标坐标
  384. Point point = 4;
  385. // 集结时间(分钟)
  386. int32 assembleTime = 5;
  387. // 是否自动回城
  388. bool isAutoRetreat = 6;
  389. }
  390. // 加入集结请求
  391. message MapAssembleJoinRequest {
  392. // 要加入的队伍ID
  393. int32 teamID = 1;
  394. // 要加入的集结ID
  395. int64 assembleID = 2;
  396. // 是否自动回城
  397. bool isAutoRetreat = 3;
  398. }
  399. message MapAssembleList {
  400. repeated MapAssemble list = 1;
  401. }
  402. // 地图集结信息
  403. message MapAssemble {
  404. // 集结信息唯一ID
  405. int64 assembleID = 1;
  406. // 发起人玩家ID
  407. int64 leadPlayerID = 2;
  408. // 出发坐标点
  409. Point startPoint = 3;
  410. // 集结结束时间(毫秒)
  411. int64 assembleEndTime = 4;
  412. // 集结对象列表
  413. repeated MapAssembleMarch marchList = 5;
  414. // 是否已出发(讨伐中)
  415. bool isDepart = 6;
  416. // 集结目标对象ID
  417. int64 targetObjectID = 11;
  418. // 集结目标配置ID
  419. int32 targetConfigID = 12;
  420. // 集结目标对象类型
  421. int32 targetConfigType = 13;
  422. // 集结目标的坐标
  423. Point targetPoint = 14;
  424. }
  425. // 地图中的集结对象信息
  426. message MapAssembleMarch {
  427. // 集结的玩家ID
  428. int64 playerID = 1;
  429. // 集结的玩家名
  430. string playerName = 2;
  431. // 集结的行军对象ID
  432. int64 marchObjectID = 10;
  433. // 集结行军对象到达时间
  434. int64 marchArriveTime = 11;
  435. // 行军对象的主将英雄配置ID
  436. int32 heroConfigID = 12;
  437. // 行军对象的主将英雄等级
  438. int32 heroLevel = 13;
  439. // 行军对象的主将英雄星级
  440. int32 heroStar = 14;
  441. // 行军对象的兵力
  442. int32 troopsNum = 15;
  443. }
  444. // 地图标记列表
  445. message MapMarkList {
  446. repeated MapMark list = 1;
  447. }
  448. // 玩家地图标记
  449. message MapMark {
  450. // 标记ID
  451. int32 markID = 1;
  452. // 标记标题 如果为玩家标记 当前为空时 则使用地块名称
  453. string title = 2;
  454. // 标记描述
  455. string desc = 3;
  456. // 标记坐标
  457. Point point = 4;
  458. // 标记指令 0未选择 1撤退 2集合 3防守 4进攻 5扎营 6建造
  459. int32 command = 5;
  460. // 标记时间戳 单位秒
  461. int64 markTime = 6;
  462. }
  463. // 玩家地图标记
  464. message MapMarkRequest {
  465. // 标记标题 如果为玩家标记 当前为空时 则使用地块名称
  466. string title = 1;
  467. // 标记描述
  468. string desc = 2;
  469. // 标记坐标
  470. Point point = 3;
  471. // 标记指令 0未选择 1撤退 2集合 3防守 4进攻 5扎营 6建造
  472. int32 command = 4;
  473. }
  474. // 玩家地图标记
  475. message MapMarkEditRequest {
  476. // 地图标记ID
  477. int32 markID = 1;
  478. // 标记标题 如果为玩家标记 当前为空时 则使用地块名称
  479. string title = 2;
  480. // 标记描述
  481. string desc = 3;
  482. // 标记指令 0未选择 1撤退 2集合 3防守 4进攻 5扎营 6建造
  483. int32 command = 4;
  484. }
  485. // 地图战斗推送
  486. message MapBattlePush {
  487. // 进攻方的行军对象ID
  488. int64 attackMarchObjectID = 1;
  489. // 进攻方主将英雄配置ID
  490. int32 attackHeroConfigID = 2;
  491. // 进攻方行军展示信息
  492. MarchView attackMarchView = 3;
  493. // 防守方的行军对象ID(PVE为0)
  494. int64 defendMarchObjectID = 11;
  495. // 防守方主将英雄配置ID
  496. int32 defendHeroConfigID = 12;
  497. // 防守方行军展示信息
  498. MarchView defendMarchView = 13;
  499. // 防守方的怪物组ID(PVP为0)
  500. int32 defendMonsterGroupID = 14;
  501. // 战斗类型,区分PVE和PVP
  502. // 见 tile_battle_type.go -> TileBattleType 战斗类型
  503. int32 battleType = 21;
  504. // 是否胜利(以进攻方为视角)
  505. bool isWin = 22;
  506. // 发生战斗的坐标
  507. Point point = 23;
  508. }
  509. // [请求] 攻城集结
  510. message SiegeAssembleRequest {
  511. // 队伍ID
  512. int32 teamID = 1;
  513. // 攻城大营对象ID
  514. int64 siegeBaseObjectID = 2;
  515. // 是否作为攻城主力部队
  516. bool isMainForce = 3;
  517. }
  518. // 地图战争信息
  519. message War {
  520. // 宣战的系统城对象ID
  521. int64 castleObjectID = 1;
  522. // 宣战的系统城配置ID
  523. int32 castleConfigID = 2;
  524. // 宣战的系统城坐标
  525. Point castlePoint = 3;
  526. // 宣战的攻城地基对象ID
  527. int64 siegeBaseObjectID = 4;
  528. // 宣战的攻城地基配置ID
  529. int32 siegeBaseConfigID = 5;
  530. // 宣战的攻城地基坐标
  531. Point siegeBasePoint = 6;
  532. // 战争阶段, 见 siege_stage.go 文件 SiegeStage 枚举
  533. int32 stage = 10;
  534. // 当前阶段结束时间(毫秒)
  535. int64 stageEndTime = 11;
  536. // 攻城主力部队数量
  537. int32 mainForceNum = 20;
  538. // 攻城拆迁部队数量
  539. int32 siegeSquadNum = 21;
  540. }
  541. // 地图战争列表
  542. message WarList {
  543. repeated War list = 1;
  544. }
  545. // 攻城首占排名
  546. message SiegeRank {
  547. // 建筑对象ID
  548. int64 buildObjectID = 1;
  549. // 杀敌排行 key: 杀敌数 value: 玩家名
  550. repeated I32Str killRank = 2;
  551. // 耐久排行 key: 耐久数 value: 玩家名
  552. repeated I32Str durabilityRank = 3;
  553. }
  554. // 攻城结果推送
  555. message SiegeResult {
  556. // 联盟ID
  557. int64 leagueID = 1;
  558. // 联盟名
  559. string leagueName = 2;
  560. // 建筑ID
  561. int64 buildObjectID = 10;
  562. // 建筑配置ID
  563. int32 buildConfigID = 11;
  564. // 杀敌数据
  565. repeated SiegeData killData = 20;
  566. // 攻城数据
  567. repeated SiegeData siegeData = 21;
  568. // 最后一击玩家信息
  569. SiegePlayer lastKill = 22;
  570. }
  571. // 攻城结果
  572. message SiegeData {
  573. // 玩家信息
  574. SiegePlayer player = 1;
  575. // 值
  576. int32 value = 2;
  577. }
  578. message SiegePlayer {
  579. // 玩家ID
  580. int64 playerID = 1;
  581. // 玩家名
  582. string playerName = 2;
  583. // 玩家头像
  584. int32 iconID = 3;
  585. // 玩家头像框ID
  586. int32 frameID = 4;
  587. }
  588. // 行军展示信息
  589. message MarchView {
  590. // 行军展示ID(配置文件中)
  591. int32 marchViewID = 1;
  592. // 兵种ID1
  593. int32 armID1 = 2;
  594. // 兵种ID2
  595. int32 armID2 = 3;
  596. // 兵种ID3
  597. int32 armID3 = 4;
  598. }
  599. // 寻路请求
  600. message MapFindPathRequest {
  601. // 选择的队伍ID
  602. int32 teamID = 1;
  603. // 目标坐标点
  604. Point point = 2;
  605. }
  606. // 再起信息
  607. message ComebackResponse {
  608. // 新的坐标点
  609. Point point = 1;
  610. // 冷却结束时间(毫秒)
  611. int64 comebackEndTime = 2;
  612. }
  613. // 重新出生推送
  614. message RebornPush {
  615. // 新的坐标点
  616. Point point = 1;
  617. // 是否出生失败(客户端要重试)
  618. bool isFailed = 2;
  619. }
  620. // 地图ui层-行军对象列表
  621. message MapUIMarchs {
  622. // 对象列表
  623. repeated MapUIMarch list = 1;
  624. }
  625. // 地图ui层-行军
  626. message MapUIMarch {
  627. // 对象唯一id
  628. int64 objectID = 1;
  629. // 对象配置ID
  630. int32 configID = 2;
  631. // 行军状态
  632. // 见 map.go -> MarchState 行军状态
  633. int32 marchState = 3;
  634. // 行军展示信息
  635. MarchView marchView = 4;
  636. // 寻路信息(运用于行军/军团等可移动对象)
  637. MapPath path = 5;
  638. // 对象所在坐标点
  639. Point point = 6;
  640. // 所有者的玩家ID
  641. int64 playerID = 7;
  642. // 所有者的联盟ID
  643. int64 leagueID = 8;
  644. }
  645. // 地图ui层-系统城对象列表
  646. message MapUICastles {
  647. // 对象列表
  648. repeated MapUICastle list = 1;
  649. }
  650. // 地图ui层-系统城对象列表
  651. message MapUICastle {
  652. // 对象唯一id
  653. int64 objectID = 1;
  654. // 对象所在坐标点
  655. Point point = 2;
  656. // 对象配置ID
  657. int32 configID = 3;
  658. // 占领的联盟ID
  659. int64 leagueID = 4;
  660. // 占领的联盟名称
  661. string leagueName = 5;
  662. // 占领的联盟简称
  663. string leagueAbbName = 6;
  664. // 旗帜背景ID L-联盟-旗帜表旗帜ID
  665. int32 flagBg = 7;
  666. // 旗帜图标ID L-联盟-旗帜表旗帜ID
  667. int32 flagIcon = 8;
  668. }
  669. // 获取指定对象的坐标
  670. message MapObjectPositionRequest {
  671. // 对象唯一id
  672. int64 objectID = 1;
  673. // 对象类型,见 map.go -> ObjectType 地块对象类型
  674. int32 objectType = 2;
  675. }
  676. // 侦察列表(侦察中+空闲)
  677. message MapScoutList {
  678. repeated MapScout list = 1;
  679. }
  680. // 侦察信息
  681. message MapScout {
  682. // 侦察队列ID
  683. int32 queueID = 1;
  684. // 侦察坐标 如果为空,则为空闲
  685. Point point = 2;
  686. // 侦察结束时间戳(行军+侦察时间) 单位毫秒 0表示空闲
  687. int64 endTime = 3;
  688. }