Explorar o código

坐骑图标和立绘重命名

zhenglijun hai 3 días
pai
achega
c2e59d51bb
Modificáronse 96 ficheiros con 775 adicións e 214 borrados
  1. 22 29
      Assets/AssetConfigs/Addressable/CustomSearch.txt
  2. 12 0
      Assets/AssetConfigs/Addressable/ProductAssetManifest.asset
  3. BIN=BIN
      Assets/Res/Addressable/FGUI/Common/Common_fui.bytes
  4. BIN=BIN
      Assets/Res/Addressable/FGUI/Mount/Mount_fui.bytes
  5. BIN=BIN
      Assets/Res/Addressable/Tables/ItemTable.bytes
  6. BIN=BIN
      Assets/Res/Addressable/Tables/JumpTable.bytes
  7. BIN=BIN
      Assets/Res/Addressable/Tables/MonsterTable.bytes
  8. BIN=BIN
      Assets/Res/Addressable/Tables/artifactInfoTable.bytes
  9. BIN=BIN
      Assets/Res/Addressable/Tables/callTable.bytes
  10. 7 0
      Assets/Res/Addressable/Tables/callTable.bytes.meta
  11. BIN=BIN
      Assets/Res/Addressable/Tables/collect_rewardTable.bytes
  12. BIN=BIN
      Assets/Res/Addressable/Tables/epigraphCallTable.bytes
  13. 7 0
      Assets/Res/Addressable/Tables/epigraphCallTable.bytes.meta
  14. BIN=BIN
      Assets/Res/Addressable/Tables/partnerCallTable.bytes
  15. 7 0
      Assets/Res/Addressable/Tables/partnerCallTable.bytes.meta
  16. BIN=BIN
      Assets/Res/Addressable/Tables/zuoqiBaseTable.bytes
  17. 28 3
      Assets/Res/Addressable/UI/Atlas/MountIcon/atlas_rauam_mounticon.spriteatlas
  18. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10001.png
  19. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10001.png.meta
  20. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10002.png
  21. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10002.png.meta
  22. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10003.png
  23. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10003.png.meta
  24. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10004.png
  25. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10004.png.meta
  26. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10005.png
  27. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10005.png.meta
  28. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10006.png
  29. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10006.png.meta
  30. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10007.png
  31. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10007.png.meta
  32. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10008.png
  33. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10008.png.meta
  34. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_20001.png
  35. 0 0
      Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_20001.png.meta
  36. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10001.png
  37. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10001.png.meta
  38. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10002.png
  39. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10002.png.meta
  40. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10003.png
  41. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10003.png.meta
  42. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10004.png
  43. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10004.png.meta
  44. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10005.png
  45. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10005.png.meta
  46. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10006.png
  47. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10006.png.meta
  48. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10007.png
  49. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10007.png.meta
  50. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10008.png
  51. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10008.png.meta
  52. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_20001.png
  53. 0 0
      Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_20001.png.meta
  54. 1 1
      Assets/Res/Addressable/UI/Sprites/Partners/partner2_20111.png.meta
  55. 3 40
      Assets/Res/Static/UI/Atlas/MainMap/atlas_rsuam_mainmap.spriteatlas
  56. 2 2
      Assets/Scripts/Business/Domain/Database/DatabaseVersion.cs
  57. 12 0
      Assets/Scripts/Business/Domain/Database/Repositories/callTableRepo.cs
  58. 11 0
      Assets/Scripts/Business/Domain/Database/Repositories/callTableRepo.cs.meta
  59. 12 0
      Assets/Scripts/Business/Domain/Database/Repositories/epigraphCallTableRepo.cs
  60. 11 0
      Assets/Scripts/Business/Domain/Database/Repositories/epigraphCallTableRepo.cs.meta
  61. 12 0
      Assets/Scripts/Business/Domain/Database/Repositories/partnerCallTableRepo.cs
  62. 11 0
      Assets/Scripts/Business/Domain/Database/Repositories/partnerCallTableRepo.cs.meta
  63. 4 0
      Assets/Scripts/Business/Domain/Database/Tables/JumpTable.cs
  64. 57 0
      Assets/Scripts/Business/Domain/Database/Tables/callTable.cs
  65. 11 0
      Assets/Scripts/Business/Domain/Database/Tables/callTable.cs.meta
  66. 42 0
      Assets/Scripts/Business/Domain/Database/Tables/epigraphCallTable.cs
  67. 11 0
      Assets/Scripts/Business/Domain/Database/Tables/epigraphCallTable.cs.meta
  68. 42 0
      Assets/Scripts/Business/Domain/Database/Tables/partnerCallTable.cs
  69. 11 0
      Assets/Scripts/Business/Domain/Database/Tables/partnerCallTable.cs.meta
  70. 5 0
      Assets/Scripts/Business/Domain/Database/Tables/zuoqiBaseTable.cs
  71. 21 20
      Assets/Scripts/Business/Runtime/Data/Mount/MountData.cs
  72. 26 4
      Assets/Scripts/Business/Runtime/Data/Mount/MountService.cs
  73. 20 0
      Assets/Scripts/Business/Runtime/Event/EventDefine.cs
  74. 1 1
      Assets/Scripts/Business/Runtime/FGUI/Mount/AttrItemList/MountAttrItemListCtrl.cs
  75. 135 2
      Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.Advanced.cs
  76. 22 0
      Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.Train.cs
  77. 29 37
      Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.Upgrade.cs
  78. 65 4
      Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.cs
  79. 13 11
      Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelVM.Gen.cs
  80. 3 10
      Assets/Scripts/Business/Runtime/FGUI/Mount/MountListItem/MountMountListItemCtrl.cs
  81. 2 0
      Assets/Scripts/Business/Runtime/FGUI/Mount/MountListItem/MountMountListItemVM.Gen.cs
  82. 1 1
      Assets/Scripts/Business/Runtime/FGUI/Player/MainPanel/PlayerMainPanelCtrl.cs
  83. 16 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ActMountBuweiPushCtrl.cs
  84. 3 0
      Assets/Scripts/Business/Runtime/Network/Controllers/ActMountExpPushCtrl.cs
  85. 16 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ActMountMountListPushCtrl.cs
  86. 1 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ActMountPushCtrl.cs
  87. 3 1
      Assets/Scripts/Business/Runtime/Network/Controllers/ActMountUsePushCtrl.cs
  88. 2 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MountTiShengAllResponseCtrl.cs
  89. 2 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MountTishengResponseCtrl.cs
  90. 2 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MountUpStarResponseCtrl.cs
  91. 2 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MountUseSkillResponseCtrl.cs
  92. 2 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MountXunyangAllResponseCtrl.cs
  93. 2 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MountXunyangResponseCtrl.cs
  94. 4 6
      fl-fgui-project/assets/Common/Components/ComCostNested.xml
  95. 34 32
      fl-fgui-project/assets/Mount/DevelopPanel.xml
  96. 7 1
      fl-fgui-project/assets/Mount/MountListItem.xml

+ 22 - 29
Assets/AssetConfigs/Addressable/CustomSearch.txt

@@ -1,4 +1,4 @@
-644
+637
 Assets/Res/Addressable/Tables/achieveRewardTable.bytes
 Assets/Res/Addressable/Fonts/ALIMAMA_SDF.asset
 Assets/Res/Addressable/Fonts/ALIMAMA_SDF_outline.mat
@@ -52,6 +52,7 @@ Assets/Res/Addressable/Map/Effects_20241010/bullet_205611.prefab
 Assets/Res/Addressable/Map/Effects_20240703/bullet_205711_1.prefab
 Assets/Res/Addressable/Map/Effects_20240703/bullet_205711_2.prefab
 Assets/Res/Addressable/Map/Effects_20241010/bullet_5002.prefab
+Assets/Res/Addressable/Tables/callTable.bytes
 Assets/Res/Addressable/Tables/careerTable.bytes
 Assets/Res/Addressable/Tables/ChapterTable.bytes
 Assets/Res/Addressable/Tables/chapterTaskTable.bytes
@@ -194,6 +195,7 @@ Assets/Res/Addressable/UI/Atlas/Partner/epigraph_pztype_5.png
 Assets/Res/Addressable/UI/Atlas/Partner/epigraph_pztype_6.png
 Assets/Res/Addressable/UI/Atlas/Partner/epigraph_pztype_7.png
 Assets/Res/Addressable/UI/Atlas/Partner/epigraph_pztype_8.png
+Assets/Res/Addressable/Tables/epigraphCallTable.bytes
 Assets/Res/Addressable/Tables/EpigraphTable.bytes
 Assets/Res/Addressable/Tables/epigraphUpTable.bytes
 Assets/Res/Addressable/FGUI/Equip/Equip_fui.bytes
@@ -237,25 +239,15 @@ Assets/Res/Addressable/Map/Effects_20240703/hit_205511_3.prefab
 Assets/Res/Addressable/Map/Effects_20241010/hit_205611.prefab
 Assets/Res/Addressable/Map/Effects_20240703/hit_205711.prefab
 Assets/Res/Addressable/Map/Effects_20241010/hit_5002.prefab
-Assets/Res/Addressable/UI/Atlas/Icons/icon0.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon1.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon2.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon3.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon4.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon5.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon6.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon7.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon8.png
-Assets/Res/Addressable/UI/Atlas/Icons/icon9.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10001.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10002.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10003.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10004.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10005.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10006.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10007.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10008.png
-Assets/Res/Addressable/UI/Atlas/MountIcon/icon_20001.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10001.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10002.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10003.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10004.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10005.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10006.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10007.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10008.png
+Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_20001.png
 Assets/Res/Addressable/Playable/info_job_1001_1_SkeletonData.asset
 Assets/Res/Addressable/Tables/infoTable.bytes
 Assets/Res/Addressable/FGUI/Item/Item_atlas0.png
@@ -523,18 +515,19 @@ Assets/Res/Addressable/UI/Atlas/StarLvIcon/Partner_Star_5.png
 Assets/Res/Addressable/UI/Atlas/StarLvIcon/Partner_Star_6.png
 Assets/Res/Addressable/UI/Atlas/StarLvIcon/Partner_Star_7.png
 Assets/Res/Addressable/UI/Atlas/StarLvIcon/Partner_Star_8.png
+Assets/Res/Addressable/Tables/partnerCallTable.bytes
 Assets/Res/Addressable/Tables/partnerLvUpTable.bytes
 Assets/Res/Addressable/Tables/partnerStarUpTable.bytes
 Assets/Res/Addressable/Tables/PartnerTable.bytes
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10001.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10002.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10003.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10004.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10005.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10006.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10007.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_10008.png
-Assets/Res/Addressable/UI/Sprites/Mounts/picture_20001.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10001.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10002.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10003.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10004.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10005.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10006.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10007.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10008.png
+Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_20001.png
 Assets/Res/Addressable/Map/Player.prefab
 Assets/Res/Addressable/FGUI/Player/Player_atlas0.png
 Assets/Res/Addressable/FGUI/Player/Player_atlas0_1.png

+ 12 - 0
Assets/AssetConfigs/Addressable/ProductAssetManifest.asset

@@ -225,6 +225,10 @@ MonoBehaviour:
     addressableName: bullet_5002
     assetGUID: 83f9b2f595174554d995e174bffa9a28
     relativePath: 
+  - addressableId: 3278771533
+    addressableName: calltable
+    assetGUID: 0d405125adfc63f4e9f2a5af9a1fc57d
+    relativePath: 
   - addressableId: 3173661177
     addressableName: careertable
     assetGUID: 5b3ed74a286a6424fb0cece875755789
@@ -793,6 +797,10 @@ MonoBehaviour:
     addressableName: epigraph_pztype_8
     assetGUID: 0df56f58b15e3074194c5a96db6c4181
     relativePath: 
+  - addressableId: 3459862815
+    addressableName: epigraphcalltable
+    assetGUID: 2b7906d39b6767d428fc9d49a8ccab11
+    relativePath: 
   - addressableId: 3884837827
     addressableName: epigraphtable
     assetGUID: 261f37e2c0f6f1c439bb9fdd57b83dde
@@ -2069,6 +2077,10 @@ MonoBehaviour:
     addressableName: partner_star_8
     assetGUID: 3aa631cea8b09ed48a1ff01a0e8dfa51
     relativePath: 
+  - addressableId: 1042864762
+    addressableName: partnercalltable
+    assetGUID: 97e59edfc3b95fd49ad9a524d0b429b6
+    relativePath: 
   - addressableId: 622487863
     addressableName: partnerlvuptable
     assetGUID: 4c9471b2a78666f4f83720a3feff98ce

BIN=BIN
Assets/Res/Addressable/FGUI/Common/Common_fui.bytes


BIN=BIN
Assets/Res/Addressable/FGUI/Mount/Mount_fui.bytes


BIN=BIN
Assets/Res/Addressable/Tables/ItemTable.bytes


BIN=BIN
Assets/Res/Addressable/Tables/JumpTable.bytes


BIN=BIN
Assets/Res/Addressable/Tables/MonsterTable.bytes


BIN=BIN
Assets/Res/Addressable/Tables/artifactInfoTable.bytes


BIN=BIN
Assets/Res/Addressable/Tables/callTable.bytes


+ 7 - 0
Assets/Res/Addressable/Tables/callTable.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Dy4btS+sUX4g68xW5y+ObsxZ6z+umGG7yrok5/xNYl3jT2W8762LLoA=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/Res/Addressable/Tables/collect_rewardTable.bytes


BIN=BIN
Assets/Res/Addressable/Tables/epigraphCallTable.bytes


+ 7 - 0
Assets/Res/Addressable/Tables/epigraphCallTable.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DSgYvCqrB3ggVe0Ydp+E/ftx063Sk5z/Xrxz3FooPkGV5+TFwDlCJyo=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/Res/Addressable/Tables/partnerCallTable.bytes


+ 7 - 0
Assets/Res/Addressable/Tables/partnerCallTable.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Bn1KsCP4By38qmGmrmHR/naPZyYIwKnGYDBj+SN8ISHZfnZlkizZsGI=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN=BIN
Assets/Res/Addressable/Tables/zuoqiBaseTable.bytes


+ 28 - 3
Assets/Res/Addressable/UI/Atlas/MountIcon/atlas_rauam_mounticon.spriteatlas

@@ -80,12 +80,37 @@ SpriteAtlas:
     bindAsDefault: 1
     isAtlasV2: 0
     cachedData: {fileID: 0}
-    packedSpriteRenderDataKeys: []
+    packedSpriteRenderDataKeys:
+    - 8f5c4681fb5465c49a3138d656bc77da: 21300000
+    - 748e6ca20c133bc41b27cfbf09b4d0bd: 21300000
+    - 6b60fa05ec1243e4f9703f7a52590475: 21300000
+    - 7b53c347bbdd0b34587a9aed3139b5b1: 21300000
+    - df9a1547337fce1408dfcf887568dfff: 21300000
+    - 80c30609252b5ed4d9f6b12e0a72f060: 21300000
+    - 18699629da8e59c4a98c5f5bda8edb12: 21300000
+    - 54dc5fdb4230a54468314a29f6c938c3: 21300000
+    - 179bb77da214afa42890cb111b690eaf: 21300000
   m_MasterAtlas: {fileID: 0}
   m_PackedSprites:
-  - {fileID: 21300000, guid: 8b6458543cadab045bde92a02b23b600, type: 3}
+  - {fileID: 21300000, guid: 8f5c4681fb5465c49a3138d656bc77da, type: 3}
+  - {fileID: 21300000, guid: 748e6ca20c133bc41b27cfbf09b4d0bd, type: 3}
+  - {fileID: 21300000, guid: 6b60fa05ec1243e4f9703f7a52590475, type: 3}
+  - {fileID: 21300000, guid: 7b53c347bbdd0b34587a9aed3139b5b1, type: 3}
+  - {fileID: 21300000, guid: df9a1547337fce1408dfcf887568dfff, type: 3}
+  - {fileID: 21300000, guid: 80c30609252b5ed4d9f6b12e0a72f060, type: 3}
+  - {fileID: 21300000, guid: 18699629da8e59c4a98c5f5bda8edb12, type: 3}
+  - {fileID: 21300000, guid: 54dc5fdb4230a54468314a29f6c938c3, type: 3}
+  - {fileID: 21300000, guid: 179bb77da214afa42890cb111b690eaf, type: 3}
   m_PackedSpriteNamesToIndex:
-  - vcard_img_mingpian_exhbition_bg
+  - mountIcon_10005
+  - mountIcon_10003
+  - mountIcon_10008
+  - mountIcon_10001
+  - mountIcon_10007
+  - mountIcon_10006
+  - mountIcon_10002
+  - mountIcon_10004
+  - mountIcon_20001
   m_RenderDataMap: {}
   m_Tag: atlas_rauam_mounticon
   m_IsVariant: 0

+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10001.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10001.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10001.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10001.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10002.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10002.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10002.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10002.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10003.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10003.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10003.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10003.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10004.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10004.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10004.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10004.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10005.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10005.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10005.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10005.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10006.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10006.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10006.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10006.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10007.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10007.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10007.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10007.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10008.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10008.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_10008.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_10008.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_20001.png → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_20001.png


+ 0 - 0
Assets/Res/Addressable/UI/Atlas/MountIcon/icon_20001.png.meta → Assets/Res/Addressable/UI/Atlas/MountIcon/mountIcon_20001.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10001.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10001.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10001.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10001.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10002.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10002.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10002.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10002.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10003.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10003.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10003.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10003.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10004.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10004.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10004.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10004.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10005.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10005.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10005.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10005.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10006.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10006.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10006.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10006.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10007.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10007.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10007.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10007.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10008.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10008.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_10008.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_10008.png.meta


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_20001.png → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_20001.png


+ 0 - 0
Assets/Res/Addressable/UI/Sprites/Mounts/picture_20001.png.meta → Assets/Res/Addressable/UI/Sprites/Mounts/mountPicture_20001.png.meta


+ 1 - 1
Assets/Res/Addressable/UI/Sprites/Partners/partner2_20111.png.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 60ada5698ae059c469b6855aa0148c7e
+guid: CXpO4XuoVXK4slipJgECO1mY1ZYgA2sQzNAcBSHzlrFz3WmtwzbBu9E=
 TextureImporter:
   internalIDToNameTable: []
   externalObjects: {}

+ 3 - 40
Assets/Res/Static/UI/Atlas/MainMap/atlas_rsuam_mainmap.spriteatlas

@@ -92,49 +92,12 @@ SpriteAtlas:
     bindAsDefault: 1
     isAtlasV2: 0
     cachedData: {fileID: 0}
-    packedSpriteRenderDataKeys:
-    - d48d5630ca24e654e864a2b844235d1c: 21300000
-    - 986fa950e8d232a4a94537fc08049529: 21300000
-    - c79afe110c73c9448a046e75db90dbe1: 21300000
-    - 0a0517b57293c7c4e8b5381382730408: 21300000
-    - 6de6d0c5bb728324cb60e9668f4af343: 21300000
-    - c7dda376c5bef764b932a86e90985acf: 21300000
-    - 314da558ba3e17547a38dcc425515908: 21300000
-    - 51377f3a17e442c4da56171f237e8c14: 21300000
-    - eed5889a61370624b9e6239335a491aa: 21300000
-    - af804ebae43185c47a211893483c5171: 21300000
-    - ced3f0fad2d68cf4499bea768bc95b3b: 21300000
-    - 0a843abb9deee764aa4f277f89ede312: 21300000
-    - b965ac4d435288349a4df15522476f8a: 21300000
+    packedSpriteRenderDataKeys: []
   m_MasterAtlas: {fileID: 0}
   m_PackedSprites:
-  - {fileID: 21300000, guid: d48d5630ca24e654e864a2b844235d1c, type: 3}
-  - {fileID: 21300000, guid: 986fa950e8d232a4a94537fc08049529, type: 3}
-  - {fileID: 21300000, guid: c79afe110c73c9448a046e75db90dbe1, type: 3}
-  - {fileID: 21300000, guid: 0a0517b57293c7c4e8b5381382730408, type: 3}
-  - {fileID: 21300000, guid: 6de6d0c5bb728324cb60e9668f4af343, type: 3}
-  - {fileID: 21300000, guid: c7dda376c5bef764b932a86e90985acf, type: 3}
-  - {fileID: 21300000, guid: 314da558ba3e17547a38dcc425515908, type: 3}
-  - {fileID: 21300000, guid: 51377f3a17e442c4da56171f237e8c14, type: 3}
-  - {fileID: 21300000, guid: eed5889a61370624b9e6239335a491aa, type: 3}
-  - {fileID: 21300000, guid: af804ebae43185c47a211893483c5171, type: 3}
-  - {fileID: 21300000, guid: ced3f0fad2d68cf4499bea768bc95b3b, type: 3}
-  - {fileID: 21300000, guid: 0a843abb9deee764aa4f277f89ede312, type: 3}
-  - {fileID: 21300000, guid: b965ac4d435288349a4df15522476f8a, type: 3}
+  - {fileID: 21300000, guid: 8b6458543cadab045bde92a02b23b600, type: 3}
   m_PackedSpriteNamesToIndex:
-  - boss
-  - Hourglass
-  - BossBloodbg
-  - Bloodhudun
-  - PlayerBloodbg
-  - LevelProgress1
-  - Map
-  - LevelBar
-  - BossBlood
-  - tzboss
-  - PlayerBlood
-  - xiaoguaiBlood
-  - LevelProgress2
+  - vcard_img_mingpian_exhbition_bg
   m_RenderDataMap: {}
   m_Tag: atlas_rsuam_mainmap
   m_IsVariant: 0

+ 2 - 2
Assets/Scripts/Business/Domain/Database/DatabaseVersion.cs

@@ -5,7 +5,7 @@ namespace XGame.Database
 {
     public static class DatabaseVersion
     {
-        // version 1732098665
+        // version 1732177512
         static long _version = -1;
 
         public static long Version
@@ -14,7 +14,7 @@ namespace XGame.Database
             {
                 if (_version == -1)
                 {
-                    _version = 1732098665;
+                    _version = 1732177512;
                 }
                 return _version;
             }

+ 12 - 0
Assets/Scripts/Business/Domain/Database/Repositories/callTableRepo.cs

@@ -0,0 +1,12 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+
+
+namespace XGame.Database
+{
+    public partial class callTableRepo : TableRepository<callTable, callTableRepo>
+    {
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Domain/Database/Repositories/callTableRepo.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: B34a4SykWnnlAvrdY9w1di1Ceh3v9IKsGbxXXiseKf5v4nhbcSRF4cE=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 12 - 0
Assets/Scripts/Business/Domain/Database/Repositories/epigraphCallTableRepo.cs

@@ -0,0 +1,12 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+
+
+namespace XGame.Database
+{
+    public partial class epigraphCallTableRepo : TableRepository<epigraphCallTable, epigraphCallTableRepo>
+    {
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Domain/Database/Repositories/epigraphCallTableRepo.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: D34asHv8Bi6dd049k9XKxs678KOayX5VLIOf/SdtHra9WlZYa5jw5MU=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 12 - 0
Assets/Scripts/Business/Domain/Database/Repositories/partnerCallTableRepo.cs

@@ -0,0 +1,12 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+
+
+namespace XGame.Database
+{
+    public partial class partnerCallTableRepo : TableRepository<partnerCallTable, partnerCallTableRepo>
+    {
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Domain/Database/Repositories/partnerCallTableRepo.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: WXJNvC3+AijU8XjXc6h/wYuesx+RkOdOQFwk2X/+lN682vQS42zOVyw=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 0
Assets/Scripts/Business/Domain/Database/Tables/JumpTable.cs

@@ -26,6 +26,8 @@ namespace XGame.Database
         /// <summary> 透传参数 </summary>
         public int[] Param { get; private set; } // c
 
+        public string Icon { get; private set; } // c
+
         void ISerializable.Deserialize(IReader reader)
         {
             Id = reader.ReadInt();
@@ -33,6 +35,7 @@ namespace XGame.Database
             Name = reader.ReadString();
             Desc = reader.ReadString();
             Param = reader.ReadEnumerable<int[]>();
+            Icon = reader.ReadString();
         }
 
         void ISerializable.Serialize(IWriter writer)
@@ -42,6 +45,7 @@ namespace XGame.Database
             writer.Write(Name);
             writer.Write(Desc);
             writer.Write(Param);
+            writer.Write(Icon);
         }
     }
 }

+ 57 - 0
Assets/Scripts/Business/Domain/Database/Tables/callTable.cs

@@ -0,0 +1,57 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+using XGame.Framework.Serialization;
+
+namespace XGame.Database
+{
+    /// <summary> call </summary>
+    public sealed class callTable : ITable
+    {
+        long ITable.Key => Id;
+
+        /// <summary> 功能id1000*抽奖类型+1 </summary>
+        public int Id { get; private set; }
+
+        /// <summary> 抽奖类型1=圣兵2=铭文 </summary>
+        public int Type { get; private set; }
+
+        /// <summary> 抽奖消耗抽奖消耗+抽奖道具+抽奖次数 </summary>
+        public int[] Cost { get; private set; }
+
+        /// <summary> 抽奖保底次数达到次数后获得保底奖励 </summary>
+        public int Floors { get; private set; }
+
+        /// <summary> 抽奖经验 </summary>
+        public int CallExp { get; private set; }
+
+        /// <summary> 每日广告每日广告次数+抽奖次数 </summary>
+        public int[] AdNumber { get; private set; }
+
+        /// <summary> 每日分享每日分享次数+道县id+道具数量 </summary>
+        public int[] ShareNumber { get; private set; }
+
+        void ISerializable.Deserialize(IReader reader)
+        {
+            Id = reader.ReadInt();
+            Type = reader.ReadInt();
+            Cost = reader.ReadEnumerable<int[]>();
+            Floors = reader.ReadInt();
+            CallExp = reader.ReadInt();
+            AdNumber = reader.ReadEnumerable<int[]>();
+            ShareNumber = reader.ReadEnumerable<int[]>();
+        }
+
+        void ISerializable.Serialize(IWriter writer)
+        {
+            writer.Write(Id);
+            writer.Write(Type);
+            writer.Write(Cost);
+            writer.Write(Floors);
+            writer.Write(CallExp);
+            writer.Write(AdNumber);
+            writer.Write(ShareNumber);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Domain/Database/Tables/callTable.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: DCgXtXusVX5UKDdEdxVkeZInt/0P6wiOdVFy499VP959oYZHec7C4cU=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 42 - 0
Assets/Scripts/Business/Domain/Database/Tables/epigraphCallTable.cs

@@ -0,0 +1,42 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+using XGame.Framework.Serialization;
+
+namespace XGame.Database
+{
+    /// <summary> epigraphCall </summary>
+    public sealed class epigraphCallTable : ITable
+    {
+        long ITable.Key => Id;
+
+        /// <summary> 宝箱等级 </summary>
+        public int Id { get; private set; }
+
+        /// <summary> 奖池(道具id)道具id+道具数量+道具权重(万) </summary>
+        public int[] Reward { get; private set; }
+
+        /// <summary> 升级经验 </summary>
+        public int NeedExp { get; private set; }
+
+        /// <summary> 保底奖励道具id+道具数量+道具权重(万) </summary>
+        public int[] FloorsReward { get; private set; }
+
+        void ISerializable.Deserialize(IReader reader)
+        {
+            Id = reader.ReadInt();
+            Reward = reader.ReadEnumerable<int[]>();
+            NeedExp = reader.ReadInt();
+            FloorsReward = reader.ReadEnumerable<int[]>();
+        }
+
+        void ISerializable.Serialize(IWriter writer)
+        {
+            writer.Write(Id);
+            writer.Write(Reward);
+            writer.Write(NeedExp);
+            writer.Write(FloorsReward);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Domain/Database/Tables/epigraphCallTable.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: XX0XvH7+W3O9nF/Cgdz6JUZhN6k1galmBaoll7q0WyxdmXaaCxCiA7o=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 42 - 0
Assets/Scripts/Business/Domain/Database/Tables/partnerCallTable.cs

@@ -0,0 +1,42 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+using XGame.Framework.Serialization;
+
+namespace XGame.Database
+{
+    /// <summary> partnerCall </summary>
+    public sealed class partnerCallTable : ITable
+    {
+        long ITable.Key => Id;
+
+        /// <summary> 宝箱等级 </summary>
+        public int Id { get; private set; }
+
+        /// <summary> 奖池(道具id)道具id+道具数量+道具权重(万) </summary>
+        public int[] Reward { get; private set; }
+
+        /// <summary> 升级经验 </summary>
+        public int NeedExp { get; private set; }
+
+        /// <summary> 保底奖励道具id+道具数量+道具权重(万) </summary>
+        public int[] FloorsReward { get; private set; }
+
+        void ISerializable.Deserialize(IReader reader)
+        {
+            Id = reader.ReadInt();
+            Reward = reader.ReadEnumerable<int[]>();
+            NeedExp = reader.ReadInt();
+            FloorsReward = reader.ReadEnumerable<int[]>();
+        }
+
+        void ISerializable.Serialize(IWriter writer)
+        {
+            writer.Write(Id);
+            writer.Write(Reward);
+            writer.Write(NeedExp);
+            writer.Write(FloorsReward);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Domain/Database/Tables/partnerCallTable.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: XSlM4yOlUXNHakPN+byoYQDQvDUeG8uqBOWFDCXbKpffnlfV9S2Azko=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5 - 0
Assets/Scripts/Business/Domain/Database/Tables/zuoqiBaseTable.cs

@@ -32,6 +32,9 @@ namespace XGame.Database
         /// <summary> 品质 </summary>
         public int Quality { get; private set; } // c
 
+        /// <summary> 坐骑解锁道具id+道具数量 </summary>
+        public int[] Unlock { get; private set; }
+
         void ISerializable.Deserialize(IReader reader)
         {
             Id = reader.ReadInt();
@@ -41,6 +44,7 @@ namespace XGame.Database
             Icon = reader.ReadString();
             StarOwnAttr = reader.ReadEnumerable<int[]>();
             Quality = reader.ReadInt();
+            Unlock = reader.ReadEnumerable<int[]>();
         }
 
         void ISerializable.Serialize(IWriter writer)
@@ -52,6 +56,7 @@ namespace XGame.Database
             writer.Write(Icon);
             writer.Write(StarOwnAttr);
             writer.Write(Quality);
+            writer.Write(Unlock);
         }
     }
 }

+ 21 - 20
Assets/Scripts/Business/Runtime/Data/Mount/MountData.cs

@@ -1,6 +1,5 @@
 using System;
 using System.Collections.Generic;
-using XGame.Database;
 using XGame.Framework.Data;
 
 namespace FL
@@ -10,8 +9,8 @@ namespace FL
         public int universalId { get; set; } // 通用坐骑的星阶对应的zuoqiInfo表的id
 
         public int exp { set; get; }        // 通用坐骑升星进度条
-        public int mountModelId { set; get; } // 当前使用的坐骑外观模型id(zuoqiInfo表格)
-        public int useSkillId { set; get; } // 启用的高级坐骑的技能id
+        public int mountModelId { set; get; } // 当前使用的坐骑外观模型id(通用坐骑用的是zuoqiInfo表格,高级坐骑对应的是zuoqiBase表格)
+        public int useSkillMountId { set; get; } // 启用的高级坐骑的技能的坐骑id
         public int mountPartExp{  set; get; }// 坐骑部位驯养经验条
 
         private Dictionary<int, int> _advancedMountsMap; // 已解锁的坐骑星级数据
@@ -26,23 +25,25 @@ namespace FL
         }
 
 
-        ///// <summary>
-        ///// 高级坐骑列表数据
-        ///// </summary>
-        ///// <param name="ordinaryMountsList"></param>
-        ///// <param name="advancedMountsList"></param>
-        //public void GetMountData(ref List<zuoqiBaseTable> advancedMountsList)
-        //{
-        //    advancedMountsList.Clear();
-        //    foreach (var item in _advancedMountsMap)
-        //    {
-        //        var mountInfo = zuoqiBaseTableRepo.Get(item.Key);
-        //        if (mountInfo.Type == 2)
-        //        {
-        //            advancedMountsList.Add(mountInfo);
-        //        }
-        //    }
-        //}
+        /// <summary>
+        /// 高级坐骑是否已解锁状态
+        /// </summary>
+        /// <param name="advancedMountId"></param>
+        /// <returns></returns>
+        public bool IsUnLock(int advancedMountId)
+        {
+            return _advancedMountsMap.ContainsKey(advancedMountId);
+        }
+
+
+        /// <summary>
+        /// 获取高级坐骑的等级
+        /// </summary>
+        /// <param name="mountId"></param>
+        public int GetAdvancedMountLv(int mountId)
+        {
+            return _advancedMountsMap.ContainsKey(mountId) ? _advancedMountsMap[mountId] : 0;
+        }
 
     }
 }

+ 26 - 4
Assets/Scripts/Business/Runtime/Data/Mount/MountService.cs

@@ -7,6 +7,15 @@ namespace FL
     public class MountService : DataSingleton<MountService>
     {
         /// <summary>
+        /// 坐骑激活功能时初始化,只需请求一次(解锁坐骑功能时请求)
+        /// </summary>
+        public void SendTo()
+        {
+            NetModule.Request(new MountMountInitRequest() { });
+        }
+
+
+        /// <summary>
         /// 请求坐骑相关数据
         /// </summary>
         public void SendToMountData()
@@ -15,17 +24,17 @@ namespace FL
         }
 
         /// <summary>
-        /// 一键提升通用坐骑
+        /// 一键提升通用坐骑(喂养)
         /// </summary>
-        public void SendToOneKeyUpgrade()
+        public void SendToOneKeyFeedMount()
         {
             NetModule.Request(new MountTiShengAllRequest() { });
         }
 
         /// <summary>
-        /// 通用坐骑升阶,提升
+        /// 通用坐骑(喂养)提升
         /// </summary>
-        public void SendToUpgrade()
+        public void SendToFeedMount()
         {
             NetModule.Request(new MountTishengRequest() { });
         }
@@ -82,6 +91,19 @@ namespace FL
         }
 
         /// <summary>
+        /// 请求解锁某个高级坐骑
+        /// </summary>
+        /// <param name="mountId"></param>
+        public void SendToUnlockAdvancedMount(int mountId)
+        {
+            var msg = new MountAddMountRequest()
+            {
+                mountId = mountId
+            };
+            NetModule.Request(msg);
+        }
+
+        /// <summary>
         /// 高级坐骑升星
         /// </summary>
         /// <param name="mountId"></param>

+ 20 - 0
Assets/Scripts/Business/Runtime/Event/EventDefine.cs

@@ -288,6 +288,26 @@
         /// 坐骑骑乘状态变化
         /// </summary>
         ChangeRideState,
+        /// <summary>
+        /// 通用坐骑升级(喂养)成功
+        /// </summary>
+        FeedMountSucessful,
+        /// <summary>
+        /// 坐骑(部位)驯养成功
+        /// </summary>
+        TrainMountSucessful,
+        /// <summary>
+        /// 解锁高级坐骑
+        /// </summary>
+        UnlockAdvancedMountSucessful,
+        /// <summary>
+        /// 启用某个高级坐骑技能
+        /// </summary>
+        UseMountSkillSucessful,
+        /// <summary>
+        /// 高级坐骑升级成功
+        /// </summary>
+        UpgradeAdvancedMountSucessful,
         #endregion
     }
 }

+ 1 - 1
Assets/Scripts/Business/Runtime/FGUI/Mount/AttrItemList/MountAttrItemListCtrl.cs

@@ -41,7 +41,7 @@ namespace FL.FGUI
             if (attributeInfo != null)
             {
                 VM.MaxCtrl.selectedIndex = data.nextVal == 0 ? 1 : 0;
-                VM.AttrNameLabl.text = attributeInfo.Name;
+                VM.AttrNameLabl.text = attributeInfo.ShowName;
                 VM.AttrValLabl.text = TableUtils.ToRealDouble(data.curVal).ToString("F3") + "%";
                 if (data.nextVal > 0)
                 {

+ 135 - 2
Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.Advanced.cs

@@ -4,6 +4,7 @@
 /// 该脚本由模板创建
 /// created by cb 2024
 
+using FL.Data;
 using System.Collections.Generic;
 using XGame.Database;
 using XGame.Framework.UI;
@@ -16,6 +17,7 @@ namespace FL.FGUI
     /// <typeparam name=""></typeparam>
     public partial class MountDevelopPanelCtrl : UIController<MountDevelopPanelVM>
     {
+        private int _curAdvancedIndex; // 当前选择的高级坐骑索引
         private List<zuoqiBaseTable> _advancedMountsInfoList; // 高级坐骑信息列表数据
 
         private void GetAdvanceMountData()
@@ -54,7 +56,100 @@ namespace FL.FGUI
         /// <param name="selectIndex"></param>
         private void ShowSelectAdvancedMount(int selectIndex)
         {
+            _curAdvancedIndex = selectIndex;
+            var advancedMountInfo = _advancedMountsInfoList[selectIndex];
+            if (advancedMountInfo != null) 
+            {
+                bool bUnlock = MountData.Instance.IsUnLock(advancedMountInfo.Id);
+                int lv = MountData.Instance.GetAdvancedMountLv(advancedMountInfo.Id);
+                ShowAttrUI(lv, advancedMountInfo.Id, bUnlock);
+                if (bUnlock)
+                {
+                    ShowRideUI(true, advancedMountInfo.Id == MountData.Instance.mountModelId);
+                    ShowEnableSkillBtn(true, advancedMountInfo.Id == MountData.Instance.useSkillMountId);
+                }
+                if (lv > 0) ShowMountStar(true);
+                ShowAdvanceMountStarUI(lv);
+            }
+        }
 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="bShow"></param>
+        private void ShowEnableSkillBtn(bool bShow, bool bEnable = false)
+        {
+            VM.EnableSkillBtn.visible = bShow;
+            if (bShow)
+            {
+                VM.SkillCtrl.selectedIndex = bEnable ? 1 : 0;
+            }
+        }
+
+        /// <summary>
+        /// 是否显示高级坐骑升级预览
+        /// </summary>
+        /// <param name="bShow"></param>
+        private void ShowUpgradePreviewBtn(bool bShow)
+        {
+            VM.UpgradePreviewBtn.visible = bShow;
+        }
+
+        /// <summary>
+        /// 高级坐骑拥有的效果
+        /// </summary>
+        /// <param name="curLv"></param>
+        /// <param name="mountId"></param>
+        private void ShowAttrUI(int curLv, int mountId, bool bUnlock)
+        {
+            int attrType = 0;
+            int attrVal = 0;
+            if (curLv == 0) 
+            {
+                var mountBaseInfo = zuoqiBaseTableRepo.Get(mountId);
+                XGame.Framework.Assert.IsNotNull(mountBaseInfo,$"坐骑表zuoqiBase中不存在id:{mountId}");
+                ShowCostUI(mountBaseInfo.Unlock);
+                attrType = mountBaseInfo.StarOwnAttr[0];
+                if (mountBaseInfo.StarOwnAttr.Length > 1)
+                    attrVal = mountBaseInfo.StarOwnAttr[1];
+            }
+            else
+            {
+                //1000*坐骑id+等级
+                var mountStarInfo = zuoqiStarTableRepo.Get(mountId*1000 + curLv);
+                XGame.Framework.Assert.IsNotNull(mountStarInfo, $"坐骑表zuoqiStar中不存在id:{mountId * 1000 + curLv}");
+                ShowCostUI(mountStarInfo.StarUpCost);
+                attrType = mountStarInfo.LevelOwnAttr[0];
+                if (mountStarInfo.LevelOwnAttr.Length > 1)
+                    attrVal = mountStarInfo.LevelOwnAttr[1];
+            }
+            ShowCurAtrrDesc(attrType, attrVal);
+            var nextMountStarInfo = zuoqiStarTableRepo.Get(mountId * 1000 + curLv+1);
+            if (nextMountStarInfo?.LevelOwnAttr?.Length > 1)
+            {
+                VM.NextMountAttrDescLabel.text = TableUtils.ToRealDouble(nextMountStarInfo.LevelOwnAttr[1]).ToString("F3") + "%";
+            }
+            VM.AdvanceMountStateCtrl.selectedIndex = bUnlock ? (nextMountStarInfo == null ? 2 : 1) : 0;
+            if (bUnlock)ShowUpgradePreviewBtn(nextMountStarInfo != null);
+        }
+
+        private void ShowCurAtrrDesc(int attrType, int attrValue)
+        {
+            var attributeInfo = AttrDescTableRepo.Get(attrType);
+            if (attributeInfo != null)
+            {
+                VM.MountAttrDescLabel.text = attributeInfo.ShowName + TableUtils.ToRealDouble(attrValue).ToString("F3") + "%";
+            }
+        }
+
+        /// <summary>
+        /// 高级坐骑解锁|升级消耗UI
+        /// </summary>
+        /// <param name="cost"></param>
+        private void ShowCostUI(int[] cost)
+        {
+            var item = ItemService.Instance.GetItemBase(cost[0], cost[1], 0);
+            VM.UnlockMountItem.Ctrl.ShowUI(item);
         }
 
         /// <summary>
@@ -63,16 +158,54 @@ namespace FL.FGUI
         /// <param name="starLv"></param>
         private void ShowAdvanceMountStarUI(int starLv)
         {
-
+            VM.MountStar.GetController("StarLvCtrl").selectedIndex = starLv;
         }
 
         /// <summary>
         /// 选择某个高级坐骑
         /// </summary>
         /// <param name="index"></param>
-        private void ClickAdvancedMountItem(int index) 
+        private void ClickAdvancedMountItem(int index)
+        {
+            ShowSelectAdvancedMount(index);
+            var mountItemList = VM.AdvancedMountList.GetChildren();
+            for (int i = 0; i < mountItemList.Length; i++)
+            {
+                if (mountItemList[i] == null)
+                {
+                    (mountItemList[i].asCom).GetController("SelectCtrl").selectedIndex = i == index ? 1 : 0;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 解锁某个高级坐骑成功
+        /// </summary>
+        /// <param name="eventId"></param>
+        /// <param name="args"></param>
+        private void UnlockAdvancedMountSucessful(int eventId, object args)
+        {
+            ShowSelectAdvancedMount(_curAdvancedIndex);
+        }
+
+        /// <summary>
+        /// 成功启用某个高级坐骑技能
+        /// </summary>
+        /// <param name="eventId"></param>
+        /// <param name="args"></param>
+        private void UseMountSkillSucessful(int eventId, object args)
         {
+            ShowEnableSkillBtn(true, _advancedMountsInfoList[_curAdvancedIndex].Id == MountData.Instance.useSkillMountId);
+        }
 
+        /// <summary>
+        /// 高级坐骑升级成功
+        /// </summary>
+        /// <param name="eventId"></param>
+        /// <param name="args"></param>
+        private void UpgradeAdvancedMountSucessful(int eventId, object args)
+        {
+            ShowSelectAdvancedMount(_curAdvancedIndex);
         }
     }
 }

+ 22 - 0
Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.Train.cs

@@ -25,6 +25,18 @@ namespace FL.FGUI
         private int _trainCostItemId; // 驯养需要的道具id
         private List<MountTrainingAreaNestedView> _trainPartsList; // 训练部位列表
 
+
+        private void ShowTrainPartUI(bool bShow)
+        {
+            foreach (var item in _trainPartsList)
+            {
+                if (bShow) 
+                    item.Enable(null);
+                else
+                    item.Disable();
+            }
+        }
+
         /// <summary>
         /// 坐骑升级UI(普通坐骑)
         /// </summary>
@@ -84,5 +96,15 @@ namespace FL.FGUI
             VM.FeedCostItem.Ctrl.ShowCostUI(_trainCostItemId, 1);
         }
 
+        /// <summary>
+        /// 坐骑训练成功
+        /// </summary>
+        /// <param name="eventId"></param>
+        /// <param name="args"></param>
+        private void TrainMountSucessful(int eventId, object args)
+        {
+            ShowTrainMountsUI();
+        }
+
     }
 }

+ 29 - 37
Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.Upgrade.cs

@@ -32,6 +32,7 @@ namespace FL.FGUI
     public partial class MountDevelopPanelCtrl : UIController<MountDevelopPanelVM>
     {
         private int _mountIndex; // 当前显示的坐骑的索引
+        private int _universalId; 
         private int _feedCostItemId; // 升星需要的道具id
         private zuoqiInfoTable _curMountInfo;
         private List<MountModelParam> _mountModelList; // 普通坐骑模型列表
@@ -46,8 +47,14 @@ namespace FL.FGUI
         /// </summary>
         private void GetMouuntModelData()
         {
+            _universalId = MountData.Instance.universalId;
             _curMountInfo = zuoqiInfoTableRepo.Get(MountData.Instance.universalId);
             XGame.Framework.Assert.IsNotNull(_curMountInfo, $"坐骑表zuoqiInfo信息不存在,id:{MountData.Instance.universalId}");
+            var mountBaseInfo = zuoqiBaseTableRepo.Get(_curMountInfo.Zqid);
+            if (mountBaseInfo != null)
+            {
+                ShowMountName(mountBaseInfo.Name);
+            }
             _feedCostItemId = _curMountInfo.StarNeed[0];
             ShowFeedCostUI();
             _mountModelList.Clear();
@@ -80,16 +87,6 @@ namespace FL.FGUI
         private void ShowUniversalMountsUI()
         {
             ShowSelectMount(_mountIndex);
-            //zuoqiInfoTable nextMountInfo;
-            //if (_curMountInfo.Star < 10)
-            //{
-            //    nextMountInfo = zuoqiInfoTableRepo.Get(_curMountInfo.Id + 1);
-            //}
-            //else
-            //{
-            //    //坐骑id * 10000 + 阶级 * 100 + 星级
-            //    nextMountInfo = zuoqiInfoTableRepo.Get(_curMountInfo.Zqid * 10000 + _curMountInfo.Step * 100);
-            //}
             ShowMountBaseAttr(_curMountInfo.Star);
             ShowMountSpecialAttr(_curMountInfo.Star);
 
@@ -146,6 +143,7 @@ namespace FL.FGUI
         private void ShowMountBaseAttr(int starLv)
         {
             VM.BaseStarLvLabel.text = starLv.ToString();
+            _mountBaseAttrList.Clear();
             var nextInfo = zuoqiInfoTableRepo.Get(_curMountInfo.Id + 1);
             bool bMax = nextInfo == null;
             int count = _curMountInfo.StepOwnAttr.Length;
@@ -170,17 +168,29 @@ namespace FL.FGUI
             var param = _mountModelList[_mountIndex];
             if (param.tableId > 0)
             {
-                ShowMountName(param.spineName);
-                ShowRideUI(true, !param.bLock);
+                ShowMountPicture(param.spineName);
+                ShowRideUI(!param.bLock);
                 if (param.bLock)
                 {
+                    ShowUnlockLv(true);
                     VM.UnLockModelLabel.text = string.Format(StringDefine.UnlockMountStep, param.unlockStep);
                 }
+                else
+                    ShowRideUI(true);
             }
             ShowSwitchMountBtnState();
         }
 
         /// <summary>
+        /// 是否显示解锁条件
+        /// </summary>
+        /// <param name="bShow"></param>
+        private void ShowUnlockLv(bool bShow)
+        {
+            VM.UnLockModelLabel.visible = bShow;
+        }
+
+        /// <summary>
         /// 坐骑的立绘
         /// </summary>
         /// <param name="mountPicture"></param>
@@ -203,36 +213,18 @@ namespace FL.FGUI
         }
 
         /// <summary>
-        /// 骑乘状态UI
-        /// </summary>
-        /// <param name="bShow"></param>
-        /// <param name="bRide"></param>
-        private void ShowRideUI(bool bShow, bool bRide = false)
-        {
-            VM.RideBtn.visible = bShow && bRide;
-            VM.UnLockModelLabel.visible = bShow && !bRide;
-            if (bShow)
-            {
-                VM.RideCtrl.selectedIndex = bRide ? 1 : 0;
-            }
-        }
-
-        /// <summary>
-        /// 坐骑骑乘状态变化
+        /// 坐骑成功喂养
         /// </summary>
         /// <param name="eventId"></param>
         /// <param name="args"></param>
-        private void ChangeRideState(int eventId, object args)
+        private void FeedMountSucessful(int eventId, object args)
         {
-            if (_pageIndex == 0)
-            {
-                var param = _mountModelList[_mountIndex];
-                if (param.tableId > 0)
-                {
-                    ShowRideUI(true, !param.bLock);
-                }
-            }
+            if (_universalId == MountData.Instance.universalId) return;
+            GetMouuntModelData();
+            ShowUniversalMountsUI();
         }
+
+
         #endregion
 
     }

+ 65 - 4
Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelCtrl.cs

@@ -5,7 +5,6 @@
 /// created by cb 2024
 
 using FairyGUI;
-using FL.Data;
 using FL.Network;
 using System.Collections.Generic;
 using XGame.Database;
@@ -110,14 +109,14 @@ namespace FL.FGUI
         private void OnClickFeedBtn(EventContext context)
         {
             if (_pageIndex == 0)
-                MountService.Instance.SendToUpgrade();
+                MountService.Instance.SendToFeedMount();
             else if (_pageIndex == 1)
                 MountService.Instance.SendToTrainingMountPart();
         }
         private void OnClickOneClickFeedingBtn(EventContext context)
         {
             if (_pageIndex == 0)
-                MountService.Instance.SendToOneKeyUpgrade();
+                MountService.Instance.SendToOneKeyFeedMount();
             else if (_pageIndex == 1)
                 MountService.Instance.SendToOneKeyTraining();
         }
@@ -127,12 +126,15 @@ namespace FL.FGUI
         }
         private void OnClickEnableSkillBtn(EventContext context)
         {
+            MountService.Instance.SendToEnableAdvancedSkill(_advancedMountsInfoList[_curAdvancedIndex].Id);
         }
         private void OnClickUpgradeMountBtn(EventContext context)
         {
+            MountService.Instance.SendToUpgradeStar(_advancedMountsInfoList[_curAdvancedIndex].Id);
         }
         private void OnClickUnlockMountBtn(EventContext context)
         {
+            MountService.Instance.SendToUnlockAdvancedMount(_advancedMountsInfoList[_curAdvancedIndex].Id);
         }
 
         #endregion
@@ -142,12 +144,22 @@ namespace FL.FGUI
             EventSingle.Instance.AddListener(EventDefine.RefreshMountInfo, RefreshMountInfo);
             EventSingle.Instance.AddListener(EventDefine.ChangeRideState, ChangeRideState);
             EventSingle.Instance.AddListener(EventDefine.UpdataItemData, OnUpdateItemNum);
+            EventSingle.Instance.AddListener(EventDefine.FeedMountSucessful, FeedMountSucessful);
+            EventSingle.Instance.AddListener(EventDefine.TrainMountSucessful, TrainMountSucessful);
+            EventSingle.Instance.AddListener(EventDefine.UnlockAdvancedMountSucessful, UnlockAdvancedMountSucessful);
+            EventSingle.Instance.AddListener(EventDefine.UseMountSkillSucessful, UseMountSkillSucessful);
+            EventSingle.Instance.AddListener(EventDefine.UpgradeAdvancedMountSucessful, UpgradeAdvancedMountSucessful);
         }
         private void RemoveEventListener()
         {
             EventSingle.Instance.RemoveListener(EventDefine.RefreshMountInfo, RefreshMountInfo);
             EventSingle.Instance.RemoveListener(EventDefine.ChangeRideState, ChangeRideState);
             EventSingle.Instance.RemoveListener(EventDefine.UpdataItemData, OnUpdateItemNum);
+            EventSingle.Instance.RemoveListener(EventDefine.FeedMountSucessful, FeedMountSucessful);
+            EventSingle.Instance.RemoveListener(EventDefine.TrainMountSucessful, TrainMountSucessful);
+            EventSingle.Instance.RemoveListener(EventDefine.UnlockAdvancedMountSucessful, UnlockAdvancedMountSucessful);
+            EventSingle.Instance.RemoveListener(EventDefine.UseMountSkillSucessful, UseMountSkillSucessful);
+            EventSingle.Instance.RemoveListener(EventDefine.UpgradeAdvancedMountSucessful, UpgradeAdvancedMountSucessful);
         }
 
         private void Init()
@@ -217,8 +229,12 @@ namespace FL.FGUI
         {
             _pageIndex = pageIndex;
             VM.PageCtrl.selectedIndex = pageIndex;
-            ShowRideUI(pageIndex == 0);
             ShowAdvancedMountBtn(false);
+            ShowUnlockLv(false);
+            ShowEnableSkillBtn(false);
+            ShowUpgradePreviewBtn(false);
+            ShowMountStar(false);
+            ShowTrainPartUI(pageIndex == 1);
             if (pageIndex == 0)
             {
                 ShowUniversalMountsUI();
@@ -226,6 +242,7 @@ namespace FL.FGUI
             else if(pageIndex == 1)
             {
                 ShowTrainMountsUI();
+                ShowRideUI(false);
             }
             else if (pageIndex == 2)
             {
@@ -234,6 +251,15 @@ namespace FL.FGUI
         }
 
         /// <summary>
+        /// 是否显示高级坐骑的星级
+        /// </summary>
+        /// <param name="bShow"></param>
+        private void ShowMountStar(bool bShow)
+        {
+            VM.MountStar.visible = bShow;
+        }
+
+        /// <summary>
         /// 显示坐骑名称
         /// </summary>
         /// <param name="name"></param>
@@ -242,5 +268,40 @@ namespace FL.FGUI
             VM.MountNameLabel.text = name;
         }
 
+        /// <summary>
+        /// 骑乘状态UI
+        /// </summary>
+        /// <param name="bShow"></param>
+        /// <param name="bRide"></param>
+        private void ShowRideUI(bool bShow, bool bRide = false)
+        {
+            VM.RideBtn.visible = bShow;
+            if (bShow)
+            {
+                VM.RideCtrl.selectedIndex = bRide ? 1 : 0;
+            }
+        }
+
+        /// <summary>
+        /// 坐骑骑乘状态变化
+        /// </summary>
+        /// <param name="eventId"></param>
+        /// <param name="args"></param>
+        private void ChangeRideState(int eventId, object args)
+        {
+            if (_pageIndex == 0)
+            {
+                var param = _mountModelList[_mountIndex];
+                if (param.tableId > 0)
+                {
+                    ShowRideUI(!param.bLock, param.tableId == MountData.Instance.mountModelId);
+                }
+            }
+            else if (_pageIndex == 2)
+            {
+                int mountId = _advancedMountsInfoList[_curAdvancedIndex].Id;
+                ShowRideUI(MountData.Instance.IsUnLock(mountId), mountId == MountData.Instance.mountModelId);
+            }
+        }
     }
 }

+ 13 - 11
Assets/Scripts/Business/Runtime/FGUI/Mount/DevelopPanel/MountDevelopPanelVM.Gen.cs

@@ -23,14 +23,15 @@ namespace FL.FGUI
         public Controller RideCtrl { get; private set; }
         public Controller UpgradeCtrl { get; private set; }
         public Controller MaxUpgradeStep { get; private set; }
+        public Controller SkillCtrl { get; private set; }
         public CommonBackGroundNestedView MaskBg { get; private set; }
         public GButton UpgradeBtn { get; private set; }
         public GButton TrainBtn { get; private set; }
         public GButton AdvancedMountBtn { get; private set; }
-        public GLoader MountPicture { get; private set; }
-        public GLoader TrainMountPicture { get; private set; }
         public GTextField MountNameLabel { get; private set; }
         public GComponent MountStar { get; private set; }
+        public GLoader MountPicture { get; private set; }
+        public GLoader TrainMountPicture { get; private set; }
         public GButton LastBtn { get; private set; }
         public GButton NextBtn { get; private set; }
         public GButton RideBtn { get; private set; }
@@ -55,9 +56,9 @@ namespace FL.FGUI
         public GLoader SkillIcon { get; private set; }
         public GTextField SkillNameLabel { get; private set; }
         public GTextField SkillDescLabel { get; private set; }
-        public GTextField SkillAttrNameLabel { get; private set; }
-        public GTextField SkillAttrDescLabel { get; private set; }
-        public MountMountListItemView MountItem { get; private set; }
+        public GTextField MountAttrDescLabel { get; private set; }
+        public GTextField NextMountAttrDescLabel { get; private set; }
+        public CommonItemBaseView UnlockMountItem { get; private set; }
         public GButton UpgradeMountBtn { get; private set; }
         public GButton UnlockMountBtn { get; private set; }
         public GList AdvancedMountList { get; private set; }
@@ -70,15 +71,16 @@ namespace FL.FGUI
             RideCtrl = panel.GetController("RideCtrl");
             UpgradeCtrl = panel.GetController("UpgradeCtrl");
             MaxUpgradeStep = panel.GetController("MaxUpgradeStep");
+            SkillCtrl = panel.GetController("SkillCtrl");
             MaskBg = adapter.CreateNested<CommonBackGroundNestedView>(new FguiNested(panel.GetChild("MaskBg").asCom), true);
             AddChild(MaskBg);
             UpgradeBtn = panel.GetChild("UpgradeBtn") as GButton;
             TrainBtn = panel.GetChild("TrainBtn") as GButton;
             AdvancedMountBtn = panel.GetChild("AdvancedMountBtn") as GButton;
-            MountPicture = panel.GetChild("MountPicture") as GLoader;
-            TrainMountPicture = panel.GetChild("TrainMountPicture") as GLoader;
             MountNameLabel = panel.GetChild("MountNameLabel") as GTextField;
             MountStar = panel.GetChild("MountStar") as GComponent;
+            MountPicture = panel.GetChild("MountPicture") as GLoader;
+            TrainMountPicture = panel.GetChild("TrainMountPicture") as GLoader;
             LastBtn = panel.GetChild("LastBtn") as GButton;
             NextBtn = panel.GetChild("NextBtn") as GButton;
             RideBtn = panel.GetChild("RideBtn") as GButton;
@@ -109,10 +111,10 @@ namespace FL.FGUI
             SkillIcon = panel.GetChild("SkillIcon") as GLoader;
             SkillNameLabel = panel.GetChild("SkillNameLabel") as GTextField;
             SkillDescLabel = panel.GetChild("SkillDescLabel") as GTextField;
-            SkillAttrNameLabel = panel.GetChild("SkillAttrNameLabel") as GTextField;
-            SkillAttrDescLabel = panel.GetChild("SkillAttrDescLabel") as GTextField;
-            MountItem = adapter.CreateNested<MountMountListItemView>(new FguiNested(panel.GetChild("MountItem").asCom), true);
-            AddChild(MountItem);
+            MountAttrDescLabel = panel.GetChild("MountAttrDescLabel") as GTextField;
+            NextMountAttrDescLabel = panel.GetChild("NextMountAttrDescLabel") as GTextField;
+            UnlockMountItem = adapter.CreateNested<CommonItemBaseView>(new FguiNested(panel.GetChild("UnlockMountItem").asCom), true);
+            AddChild(UnlockMountItem);
             UpgradeMountBtn = panel.GetChild("UpgradeMountBtn") as GButton;
             UnlockMountBtn = panel.GetChild("UnlockMountBtn") as GButton;
             AdvancedMountList = panel.GetChild("AdvancedMountList") as GList;

+ 3 - 10
Assets/Scripts/Business/Runtime/FGUI/Mount/MountListItem/MountMountListItemCtrl.cs

@@ -4,8 +4,6 @@
 /// 该脚本由模板创建
 /// created by cb 2024
 
-using FairyGUI;
-using System;
 using XGame.Database;
 using XGame.Framework.UI;
 
@@ -41,15 +39,10 @@ namespace FL.FGUI
         {
             VM.QualityImg.icon = AddressableDefine.MountQualityFrame(mountBaseInfo.Quality);
             VM.MountIcon.icon = mountBaseInfo.Icon;
+            VM.LockCtrl.selectedIndex = MountData.Instance.IsUnLock(mountBaseInfo.Id) ? 0 : 1;
+            VM.RideCtrl.selectedIndex = MountData.Instance.mountModelId == mountBaseInfo.Id ? 1 : 0;
+            VM.SelectCtrl.selectedIndex = 0;
         }
 
-        /// <summary>
-        /// 是否显示选中状态
-        /// </summary>
-        /// <param name="bSelect"></param>
-        public void ShowSelect(bool bSelect)
-        {
-            VM.SelectImg.visible = bSelect;
-        }
     }
 }

+ 2 - 0
Assets/Scripts/Business/Runtime/FGUI/Mount/MountListItem/MountMountListItemVM.Gen.cs

@@ -20,6 +20,7 @@ namespace FL.FGUI
     {
         public Controller LockCtrl { get; private set; }
         public Controller RideCtrl { get; private set; }
+        public Controller SelectCtrl { get; private set; }
         public GLoader QualityImg { get; private set; }
         public GLoader MountIcon { get; private set; }
         public GImage SelectImg { get; private set; }
@@ -28,6 +29,7 @@ namespace FL.FGUI
         {
             LockCtrl = panel.GetController("LockCtrl");
             RideCtrl = panel.GetController("RideCtrl");
+            SelectCtrl = panel.GetController("SelectCtrl");
             QualityImg = panel.GetChild("QualityImg") as GLoader;
             MountIcon = panel.GetChild("MountIcon") as GLoader;
             SelectImg = panel.GetChild("SelectImg") as GImage;

+ 1 - 1
Assets/Scripts/Business/Runtime/FGUI/Player/MainPanel/PlayerMainPanelCtrl.cs

@@ -88,7 +88,7 @@ namespace FL.FGUI
         }
         private void OnClickMountBtn(EventContext context)
         {
-            Context.ShowTips("打开坐骑界面");
+            Context.UI.OpenAsync(UIKeys.MountDevelopPanel);
         }
         private void OnClickArtifactBtn(EventContext context)
         {

+ 16 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ActMountBuweiPushCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,21 @@ namespace FL.Network
     {
         protected override void OnProcess(ActMountBuweiPush message, object context)
         {
+            if (message.buwei?.Count > 0)
+            {
+                var mountsPartsMap = MountData.Instance.MountsPartsMap;
+                foreach (var item in message.buwei)
+                {
+                    if (mountsPartsMap.ContainsKey(item.bwId))
+                    {
+                        mountsPartsMap[item.bwId] = item.level;
+                    }
+                    else
+                    {
+                        mountsPartsMap.Add(item.bwId, item.level);
+                    }
+                }
+            }
         }
     }
 }

+ 3 - 0
Assets/Scripts/Business/Runtime/Network/Controllers/ActMountExpPushCtrl.cs

@@ -1,3 +1,4 @@
+using XGame.Database;
 using XGame.Framework.Network;
 
 namespace FL.Network
@@ -6,6 +7,8 @@ namespace FL.Network
     {
         protected override void OnProcess(ActMountExpPush message, object context)
         {
+            MountData.Instance.exp = message.exp;
+            MountData.Instance.universalId = message.id;
         }
     }
 }

+ 16 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ActMountMountListPushCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,21 @@ namespace FL.Network
     {
         protected override void OnProcess(ActMountMountListPush message, object context)
         {
+            if (message.mountList?.Count > 0)
+            {
+                var advancedMountsMap = MountData.Instance.AdvancedMountsMap;
+                foreach (var item in message.mountList)
+                {
+                    if (advancedMountsMap.ContainsKey(item.mountId))
+                    {
+                        advancedMountsMap[item.mountId] = item.star;
+                    }
+                    else
+                    {
+                        advancedMountsMap.Add(item.mountId, item.star);
+                    }
+                }
+            }
         }
     }
 }

+ 1 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ActMountPushCtrl.cs

@@ -10,7 +10,7 @@ namespace FL.Network
             MountData.Instance.universalId = message.id;
             MountData.Instance.exp = message.exp;
             MountData.Instance.mountModelId = message.use;
-            MountData.Instance.useSkillId = message.useSkill;
+            MountData.Instance.useSkillMountId = message.useSkill;
             MountData.Instance.mountPartExp = message.bwExp;
             // (已解锁)高级坐骑升星数据
             if (message.mountList != null) 

+ 3 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/ActMountUsePushCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,8 @@ namespace FL.Network
     {
         protected override void OnProcess(ActMountUsePush message, object context)
         {
+            MountData.Instance.useSkillMountId = message.useSkill;
+            MountData.Instance.mountModelId = message.use;
         }
     }
 }

+ 2 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/MountTiShengAllResponseCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MountTiShengAllResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.FeedMountSucessful);
         }
     }
 }

+ 2 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/MountTishengResponseCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MountTishengResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.FeedMountSucessful);
         }
     }
 }

+ 2 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/MountUpStarResponseCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MountUpStarResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UpgradeAdvancedMountSucessful);
         }
     }
 }

+ 2 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/MountUseSkillResponseCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MountUseSkillResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UseMountSkillSucessful);
         }
     }
 }

+ 2 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/MountXunyangAllResponseCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MountXunyangAllResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.TrainMountSucessful);
         }
     }
 }

+ 2 - 1
Assets/Scripts/Business/Runtime/Network/Controllers/MountXunyangResponseCtrl.cs

@@ -1,4 +1,4 @@
-using XGame.Framework.Network;
+using XGame.Framework.Network;
 
 namespace FL.Network
 {
@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MountXunyangResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.TrainMountSucessful);
         }
     }
 }

+ 4 - 6
fl-fgui-project/assets/Common/Components/ComCostNested.xml

@@ -1,11 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
-<component size="170,32" extention="Label">
+<component size="134,32" extention="Label">
   <displayList>
-    <loader id="n0_jofv" name="CostIcon" xy="25,-6" pivot="0.5,0.5" size="46,46" group="n3_xo2n" aspect="true" url="ui://gt6q23qwq0v63z" align="center" vAlign="middle" fill="scaleFree" clearOnPublish="true"/>
-    <text id="n1_jofv" name="CostLabel" xy="73,0" pivot="0,0.5" size="82,32" group="n3_xo2n" fontSize="22" color="#ffffff" vAlign="middle" leading="0" ubb="true" autoClearText="true" text="123456"/>
-    <group id="n3_xo2n" name="n3" xy="25,-6" size="129,46" advanced="true">
-      <relation target="" sidePair="center-center"/>
-    </group>
+    <loader id="n0_jofv" name="CostIcon" xy="1,-6" pivot="0.5,0.5" size="46,46" aspect="true" url="ui://gt6q23qwq0v63z" align="center" vAlign="middle" fill="scaleFree" shrinkOnly="true" clearOnPublish="true"/>
+    <text id="n1_jofv" name="CostLabel" xy="50,0" pivot="0,0.5" size="82,32" fontSize="22" color="#ffffff" align="center" vAlign="middle" leading="0" ubb="true" autoClearText="true" text="123456"/>
   </displayList>
+  <relation target="n1_jofv" sidePair="rightext-right"/>
   <scriptData genuitypejofv3h="1" gencodejofv3h="1" genuitypej7yv3n="1" gencodej7yv3n="1"/>
 </component>

+ 34 - 32
fl-fgui-project/assets/Mount/DevelopPanel.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <component size="756,1344" designImage="ui://s58m5vbw9sqt0" designImageOffsetX="-149">
-  <controller name="PageCtrl" pages="0,,1,,2," selected="2">
+  <controller name="PageCtrl" pages="0,,1,,2," selected="1">
     <remark page="0" value="坐骑升级"/>
     <remark page="1" value="坐骑驯养"/>
     <remark page="2" value="高级坐骑"/>
   </controller>
-  <controller name="AdvanceMountStateCtrl" pages="0,,1,,2," selected="0">
+  <controller name="AdvanceMountStateCtrl" pages="0,,1,,2," selected="1">
     <remark page="0" value="未解锁"/>
     <remark page="1" value="已解锁可升级"/>
     <remark page="2" value="已达最大等级"/>
@@ -22,44 +22,48 @@
     <remark page="0" value="通用坐骑可升阶"/>
     <remark page="1" value="通用坐骑已达最高阶"/>
   </controller>
+  <controller name="SkillCtrl" pages="0,,1," selected="0">
+    <remark page="0" value="坐骑技能可以启用"/>
+    <remark page="1" value="取消坐骑技能使用状态"/>
+  </controller>
   <displayList>
     <component id="n4_j7sp" name="MaskBg" src="c95i2g" fileName="BackGroundNested.xml" pkg="gt6q23qw" xy="378,672" pivot="0.5,0.5" anchor="true">
       <relation target="" sidePair="width-width,height-height"/>
     </component>
     <component id="n0_j7sp" name="n0" src="j7sp54" fileName="Components/PopWin/PopWin5.xml" pkg="gt6q23qw" xy="13,97" size="729,1028" group="n85_f8ih">
       <gearText controller="PageCtrl" pages="0,1,2" values="坐骑升级|坐骑驯养|高级坐骑"/>
-      <Label title="高级坐骑"/>
+      <Label title="坐骑驯养"/>
     </component>
-    <image id="n14_j7sp" name="n14" src="rwcw4" fileName="images/pop/tanchuangdiban2.png" pkg="gt6q23qw" xy="32,571" size="692,557" group="n85_f8ih">
+    <image id="n14_j7sp" name="n14" src="rwcw4" fileName="images/pop/tanchuangdiban2.png" pkg="gt6q23qw" xy="32,571" size="692,426" group="n85_f8ih">
       <gearSize controller="PageCtrl" pages="2" values="692,557,1,1" default="692,426,1,1"/>
     </image>
-    <loader id="n5_j7sp" name="n5" xy="33,205" size="689,370" group="n85_f8ih" url="ui://s58m5vbwj7spi" align="center" vAlign="middle" autoSize="true">
+    <loader id="n5_j7sp" name="n5" xy="33,205" size="689,547" group="n85_f8ih" url="ui://s58m5vbwj7spj" align="center" vAlign="middle" autoSize="true">
       <gearIcon controller="PageCtrl" pages="1" values="ui://s58m5vbwj7spj" default="ui://s58m5vbwj7spi"/>
     </loader>
     <component id="n1_j7sp" name="UpgradeBtn" src="jofv4y" fileName="Components/ComButtons/ComPageBtn.xml" pkg="gt6q23qw" xy="76,1148" group="n85_f8ih">
       <Button title="坐骑升级" controller="PageCtrl" page="0"/>
     </component>
     <component id="n2_j7sp" name="TrainBtn" src="jofv4y" fileName="Components/ComButtons/ComPageBtn.xml" pkg="gt6q23qw" xy="298,1148" group="n85_f8ih">
-      <Button title="坐骑驯养" controller="PageCtrl" page="1"/>
+      <Button checked="true" title="坐骑驯养" controller="PageCtrl" page="1"/>
     </component>
     <component id="n3_j7sp" name="AdvancedMountBtn" src="jofv4y" fileName="Components/ComButtons/ComPageBtn.xml" pkg="gt6q23qw" xy="525,1148" group="n85_f8ih">
-      <Button checked="true" title="高级坐骑" controller="PageCtrl" page="2"/>
+      <Button title="高级坐骑" controller="PageCtrl" page="2"/>
     </component>
     <image id="n7_j7sp" name="n7" src="9sqtc" fileName="Images/mingzidikuang.png" xy="159,266" pivot="0.5,0.5" anchor="true" size="246,85" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="0,2"/>
     </image>
-    <loader id="n8_j7sp" name="MountPicture" xy="405,362" pivot="0.5,0.5" anchor="true" size="211,283" group="n85_f8ih" url="ui://s58m5vbw9sqtg" clearOnPublish="true">
-      <gearDisplay controller="PageCtrl" pages="0,2"/>
-    </loader>
-    <loader id="n90_eib7" name="TrainMountPicture" xy="416,530" pivot="0.5,0.5" anchor="true" size="211,283" group="n85_f8ih" url="ui://s58m5vbw9sqtg" clearOnPublish="true">
-      <gearDisplay controller="PageCtrl" pages="1"/>
-    </loader>
     <text id="n10_j7sp" name="MountNameLabel" xy="67,226" pivot="0,0.5" size="164,44" group="n48_j7sp" fontSize="32" color="#fefefe" vAlign="middle" leading="0" autoClearText="true" text="坐骑的名称"/>
     <component id="n43_j7sp" name="MountStar" src="j7spt" fileName="Components/MountStar.xml" xy="147,287" pivot="0.5,0.5" anchor="true" group="n48_j7sp"/>
     <group id="n48_j7sp" name="n48" xy="67,226" size="164,79" group="n85_f8ih" advanced="true" layout="vt" excludeInvisibles="true">
       <gearDisplay controller="PageCtrl" pages="0,2"/>
-      <relation target="" sidePair="middle-middle"/>
+      <relation target="n7_j7sp" sidePair="middle-middle"/>
     </group>
+    <loader id="n8_j7sp" name="MountPicture" xy="394,362" pivot="0.5,0.5" anchor="true" size="211,283" group="n85_f8ih" url="ui://s58m5vbw9sqtg" align="center" vAlign="middle" autoSize="true" clearOnPublish="true">
+      <gearDisplay controller="PageCtrl" pages="0,2"/>
+    </loader>
+    <loader id="n90_eib7" name="TrainMountPicture" xy="392,530" pivot="0.5,0.5" anchor="true" size="211,283" group="n85_f8ih" url="ui://s58m5vbw9sqtg" align="center" vAlign="middle" autoSize="true" clearOnPublish="true">
+      <gearDisplay controller="PageCtrl" pages="1"/>
+    </loader>
     <component id="n11_j7sp" name="LastBtn" src="j7spo" fileName="Components/ArrowBtn.xml" xy="36,371" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="0"/>
     </component>
@@ -95,7 +99,7 @@
     </text>
     <text id="n23_j7sp" name="SpecialStarLvLabel" xy="262,627" pivot="1,0.5" size="52,34" group="n85_f8ih" fontSize="24" color="#6187ca" align="right" vAlign="middle" leading="0" autoClearText="true" text="当前">
       <gearDisplay controller="PageCtrl" pages="0"/>
-      <gearXY controller="MaxUpgradeStep" pages="1" values="623,627" default="262,627"/>
+      <gearXY controller="MaxUpgradeStep" pages="0,1" values="262,627|623,627"/>
     </text>
     <component id="n22_j7sp" name="SpecialAttrItem" src="j7spq" fileName="AttrItemList.xml" xy="377,678" pivot="0.5,0.5" anchor="true" size="588,32" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="0"/>
@@ -104,12 +108,13 @@
       <gearDisplay controller="PageCtrl" pages="0"/>
       <gearDisplay2 controller="UpgradeCtrl" pages="0" condition="0"/>
     </image>
-    <image id="n73_j7sp" name="n73" src="j7spp" fileName="Images/shengji.png" xy="377,822" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
+    <image id="n73_j7sp" name="n73" src="j7spp" fileName="Images/shengji.png" xy="377,830" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="0"/>
       <gearDisplay2 controller="UpgradeCtrl" pages="0" condition="0"/>
     </image>
     <image id="n39_j7sp" name="n39" src="j7spp" fileName="Images/shengji.png" xy="378,823" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="2"/>
+      <gearDisplay2 controller="AdvanceMountStateCtrl" pages="0,1" condition="0"/>
     </image>
     <text id="n25_j7sp" name="NextStarLvLabel" xy="496,628" pivot="0,0.5" size="180,34" group="n85_f8ih" fontSize="24" color="#0cca3d" vAlign="middle" leading="0" text="99阶99星后解锁">
       <gearDisplay controller="PageCtrl" pages="0"/>
@@ -136,7 +141,7 @@
       <gearDisplay controller="PageCtrl" pages="0"/>
       <ProgressBar value="50" max="100"/>
     </component>
-    <component id="n37_j7sp" name="FeedCostItem" src="j7yv3n" fileName="Components/ComCostNested.xml" pkg="gt6q23qw" xy="196,1029" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
+    <component id="n37_j7sp" name="FeedCostItem" src="j7yv3n" fileName="Components/ComCostNested.xml" pkg="gt6q23qw" xy="194,1029" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="0,1"/>
       <gearDisplay2 controller="UpgradeCtrl" pages="0" condition="0"/>
     </component>
@@ -144,13 +149,13 @@
       <gearDisplay controller="PageCtrl" pages="0,1"/>
       <gearText controller="PageCtrl" pages="1" values="赋能" default="喂养"/>
       <gearDisplay2 controller="UpgradeCtrl" pages="0" condition="0"/>
-      <Button title="喂养"/>
+      <Button title="赋能"/>
     </component>
     <component id="n35_j7sp" name="OneClickFeedingBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="452,1050" size="228,75" group="n85_f8ih" aspect="true">
       <gearDisplay controller="PageCtrl" pages="0,1"/>
       <gearText controller="PageCtrl" pages="1" values="一键赋能" default="一键喂养"/>
       <gearDisplay2 controller="UpgradeCtrl" pages="0" condition="0"/>
-      <Button title="一键喂养"/>
+      <Button title="一键赋能"/>
     </component>
     <text id="n50_j7sp" name="n50" xy="72,935" pivot="0,0.5" size="82,36" group="n85_f8ih" fontSize="26" color="#4e517e" vAlign="middle" leading="0" text="驯养值">
       <gearDisplay controller="PageCtrl" pages="1"/>
@@ -159,15 +164,9 @@
       <gearDisplay controller="PageCtrl" pages="1"/>
       <ProgressBar value="50" max="100"/>
     </component>
-    <component id="n55_j7sp" name="TrainingTheHead" src="j7spu" fileName="TrainingAreaNested.xml" xy="388,304" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
-      <gearDisplay controller="PageCtrl" pages="1"/>
-    </component>
-    <component id="n56_j7sp" name="TrainingTheBody" src="j7spu" fileName="TrainingAreaNested.xml" xy="178,632" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
-      <gearDisplay controller="PageCtrl" pages="1"/>
-    </component>
-    <component id="n57_j7sp" name="TrainingFeet" src="j7spu" fileName="TrainingAreaNested.xml" xy="602,632" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
-      <gearDisplay controller="PageCtrl" pages="1"/>
-    </component>
+    <component id="n55_j7sp" name="TrainingTheHead" src="j7spu" fileName="TrainingAreaNested.xml" xy="388,304" pivot="0.5,0.5" anchor="true" group="n85_f8ih"/>
+    <component id="n56_j7sp" name="TrainingTheBody" src="j7spu" fileName="TrainingAreaNested.xml" xy="178,632" pivot="0.5,0.5" anchor="true" group="n85_f8ih"/>
+    <component id="n57_j7sp" name="TrainingFeet" src="j7spu" fileName="TrainingAreaNested.xml" xy="602,632" pivot="0.5,0.5" anchor="true" group="n85_f8ih"/>
     <text id="n58_j7sp" name="n58" xy="265,705" pivot="0,0.5" size="246,32" group="n85_f8ih" fontSize="22" color="#fff603" vAlign="middle" leading="0" text="驯养属性对所有坐骑生效">
       <gearDisplay controller="PageCtrl" pages="1"/>
     </text>
@@ -184,6 +183,7 @@
       <gearDisplay controller="PageCtrl" pages="2"/>
     </component>
     <component id="n69_j7sp" name="EnableSkillBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="519,600" size="152,50" group="n85_f8ih" aspect="true">
+      <gearText controller="SkillCtrl" pages="1" values="取消使用" default="使用"/>
       <Button title="使用" titleFontSize="26"/>
     </component>
     <loader id="n70_j7sp" name="SkillIcon" xy="131,685" pivot="0.5,0.5" anchor="true" size="82,94" group="n85_f8ih">
@@ -195,17 +195,19 @@
     <text id="n72_j7sp" name="SkillDescLabel" xy="192,678" size="475,29" group="n85_f8ih" fontSize="20" color="#58608f" leading="4" autoSize="height" autoClearText="true" text="技能描述:">
       <gearDisplay controller="PageCtrl" pages="2"/>
     </text>
-    <text id="n75_j7sp" name="SkillAttrNameLabel" xy="94,822" pivot="0,0.5" anchor="true" size="173,36" group="n85_f8ih" fontSize="26" color="#58608f" vAlign="middle" leading="0" text="属性名称:0%">
+    <text id="n75_j7sp" name="MountAttrDescLabel" xy="94,822" pivot="0,0.5" anchor="true" size="173,36" group="n85_f8ih" fontSize="26" color="#58608f" vAlign="middle" leading="0" text="属性名称:0%">
       <gearDisplay controller="PageCtrl" pages="2"/>
     </text>
-    <text id="n76_j7sp" name="SkillAttrDescLabel" xy="530,822" pivot="0,0.5" anchor="true" size="58,36" group="n85_f8ih" fontSize="26" color="#58608f" vAlign="middle" leading="0" text="99%">
+    <text id="n76_j7sp" name="NextMountAttrDescLabel" xy="530,822" pivot="0,0.5" anchor="true" size="58,36" group="n85_f8ih" fontSize="26" color="#58608f" vAlign="middle" leading="0" text="99%">
       <gearDisplay controller="PageCtrl" pages="2"/>
+      <gearDisplay2 controller="AdvanceMountStateCtrl" pages="0,1" condition="0"/>
     </text>
     <image id="n77_j7sp" name="n77" src="j7spy" fileName="Images/fengexian.png" xy="378,847" pivot="0.5,0.5" anchor="true" size="564,5" group="n85_f8ih">
       <gearDisplay controller="PageCtrl" pages="2"/>
     </image>
-    <component id="n82_rkls" name="MountItem" src="j7spz" fileName="MountListItem.xml" xy="266,916" pivot="0.5,0.5" anchor="true" group="n85_f8ih">
+    <component id="n82_rkls" name="UnlockMountItem" src="me3q0" fileName="ItemBase.xml" pkg="gt6q23qw" xy="266,916" pivot="0.5,0.5" anchor="true" group="n85_f8ih" scale="0.75,0.75">
       <gearDisplay controller="PageCtrl" pages="2"/>
+      <gearDisplay2 controller="AdvanceMountStateCtrl" pages="0,1" condition="0"/>
     </component>
     <component id="n80_j7sp" name="UpgradeMountBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="396,890" size="152,50" group="n85_f8ih" aspect="true">
       <gearDisplay controller="PageCtrl" pages="2"/>
@@ -227,7 +229,7 @@
       <item/>
       <item/>
     </list>
-    <text id="n83_f8ih" name="n83" xy="383,896" pivot="0,0.5" size="184,42" group="n85_f8ih" fontSize="30" vAlign="middle" leading="0" text="已达最高星级">
+    <text id="n83_f8ih" name="n83" xy="286,896" pivot="0,0.5" size="184,42" group="n85_f8ih" fontSize="30" vAlign="middle" leading="0" text="已达最高星级">
       <gearDisplay controller="PageCtrl" pages="2"/>
       <gearDisplay2 controller="AdvanceMountStateCtrl" pages="2" condition="0"/>
     </text>

+ 7 - 1
fl-fgui-project/assets/Mount/MountListItem.xml

@@ -8,10 +8,16 @@
     <remark page="0" value="无"/>
     <remark page="1" value="骑乘状态"/>
   </controller>
+  <controller name="SelectCtrl" pages="0,,1," selected="0">
+    <remark page="0" value="未选中"/>
+    <remark page="1" value="选中状态"/>
+  </controller>
   <displayList>
     <loader id="n5_p7zr" name="QualityImg" xy="-4,1" pivot="0.5,0.5" size="120,120" touchable="false" url="ui://s58m5vbwp7zr13" align="center" vAlign="middle" fill="scaleFree" clearOnPublish="true"/>
     <loader id="n6_p7zr" name="MountIcon" xy="6,11" pivot="0.5,0.5" size="100,100" touchable="false" url="ui://s58m5vbwp7zr14" align="center" vAlign="middle" fill="scaleFree" clearOnPublish="true"/>
-    <image id="n3_j7sp" name="SelectImg" src="9sqtf" fileName="Images/xuanzhongkuang.png" xy="56,60" pivot="0.5,0.5" anchor="true"/>
+    <image id="n3_j7sp" name="SelectImg" src="9sqtf" fileName="Images/xuanzhongkuang.png" xy="56,60" pivot="0.5,0.5" anchor="true">
+      <gearDisplay controller="SelectCtrl" pages="1"/>
+    </image>
     <image id="n1_j7sp" name="n1" src="9sqtb" fileName="Images/dikuang02.png" xy="76,17" pivot="0.5,0.5" anchor="true" size="72,36">
       <gearDisplay controller="RideCtrl" pages="1"/>
     </image>