zhengweijie hace 3 días
padre
commit
3fe88d96eb
Se han modificado 80 ficheros con 1722 adiciones y 22 borrados
  1. 8 0
      Assets/Res/Addressable/FGUI/Mail.meta
  2. BIN
      Assets/Res/Addressable/FGUI/Mail/Mail_atlas0.png
  3. 189 0
      Assets/Res/Addressable/FGUI/Mail/Mail_atlas0.png.meta
  4. BIN
      Assets/Res/Addressable/FGUI/Mail/Mail_fui.bytes
  5. 7 0
      Assets/Res/Addressable/FGUI/Mail/Mail_fui.bytes.meta
  6. BIN
      Assets/Res/Addressable/Tables/artifactBuweiTable.bytes
  7. 7 0
      Assets/Res/Addressable/Tables/artifactBuweiTable.bytes.meta
  8. BIN
      Assets/Res/Addressable/Tables/artifactProbTable.bytes
  9. 7 0
      Assets/Res/Addressable/Tables/artifactProbTable.bytes.meta
  10. 196 3
      Assets/Res/Addressable/UI/Atlas/Partner/atlas_rauap_partner.spriteatlas
  11. 130 3
      Assets/Res/Addressable/UI/Atlas/SkillIcon/atlas_rauas_skillicon.spriteatlas
  12. 43 3
      Assets/Res/Static/UI/Atlas/MainMap/atlas_rsuam_mainmap.spriteatlas
  13. 12 0
      Assets/Scripts/Business/Domain/Database/Repositories/artifactBuweiTableRepo.cs
  14. 11 0
      Assets/Scripts/Business/Domain/Database/Repositories/artifactBuweiTableRepo.cs.meta
  15. 12 0
      Assets/Scripts/Business/Domain/Database/Repositories/artifactProbTableRepo.cs
  16. 11 0
      Assets/Scripts/Business/Domain/Database/Repositories/artifactProbTableRepo.cs.meta
  17. 47 0
      Assets/Scripts/Business/Domain/Database/Tables/artifactBuweiTable.cs
  18. 11 0
      Assets/Scripts/Business/Domain/Database/Tables/artifactBuweiTable.cs.meta
  19. 52 0
      Assets/Scripts/Business/Domain/Database/Tables/artifactProbTable.cs
  20. 11 0
      Assets/Scripts/Business/Domain/Database/Tables/artifactProbTable.cs.meta
  21. 1 1
      Assets/Scripts/Business/Domain/Network/act_task_main.cs.meta
  22. 1 1
      Assets/Scripts/Business/Domain/Network/fuben_c.cs.meta
  23. 1 1
      Assets/Scripts/Business/Domain/Network/fuser_all.cs.meta
  24. 1 1
      Assets/Scripts/Business/Domain/Network/model/act_achv_m.cs.meta
  25. 1 1
      Assets/Scripts/Business/Domain/Network/model/act_jjc_log_m.cs.meta
  26. 1 1
      Assets/Scripts/Business/Domain/Network/model/act_jjc_m.cs.meta
  27. 1 1
      Assets/Scripts/Business/Domain/Network/model/act_job_class_m.cs.meta
  28. 1 1
      Assets/Scripts/Business/Domain/Network/mount_c.cs.meta
  29. 1 1
      Assets/Scripts/Business/Domain/Network/rank_my.cs.meta
  30. 1 1
      Assets/Scripts/Business/Domain/Network/taskDaily_c.cs.meta
  31. 1 1
      Assets/Scripts/Business/Domain/Network/taskMain_c.cs.meta
  32. 8 0
      Assets/Scripts/Business/Runtime/Data/Mail.meta
  33. 18 0
      Assets/Scripts/Business/Runtime/Data/Mail/MailData.cs
  34. 11 0
      Assets/Scripts/Business/Runtime/Data/Mail/MailData.cs.meta
  35. 58 0
      Assets/Scripts/Business/Runtime/Data/Mail/MailService.cs
  36. 11 0
      Assets/Scripts/Business/Runtime/Data/Mail/MailService.cs.meta
  37. 5 0
      Assets/Scripts/Business/Runtime/Event/EventDefine.cs
  38. 8 0
      Assets/Scripts/Business/Runtime/FGUI/Mail.meta
  39. 8 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel.meta
  40. 214 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelCtrl.cs
  41. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelCtrl.cs.meta
  42. 68 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelVM.Gen.cs
  43. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelVM.Gen.cs.meta
  44. 34 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelView.cs
  45. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelView.cs.meta
  46. 8 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem.meta
  47. 84 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemCtrl.cs
  48. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemCtrl.cs.meta
  49. 40 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemVM.Gen.cs
  50. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemVM.Gen.cs.meta
  51. 21 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.ListItem.cs
  52. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.ListItem.cs.meta
  53. 23 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.cs
  54. 11 0
      Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.cs.meta
  55. 2 1
      Assets/Scripts/Business/Runtime/FGUI/Main/HomePanel/MainHomePanelCtrl.cs
  56. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailDelAllResponseCtrl.cs
  57. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailDelResponseCtrl.cs
  58. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailIntoResponseCtrl.cs
  59. 24 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailListPushCtrl.cs
  60. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailRedAllResponseCtrl.cs
  61. 1 1
      Assets/Scripts/Business/Runtime/Network/Controllers/MailRedAllResponseCtrl.cs.meta
  62. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailRwdAllResponseCtrl.cs
  63. 1 0
      Assets/Scripts/Business/Runtime/Network/Controllers/MailRwdResponseCtrl.cs
  64. 2 0
      Assets/Scripts/Business/Runtime/Nodes/GameMain/UIComponent.cs
  65. 8 0
      Assets/Scripts/Business/Runtime/Nodes/Mail.meta
  66. 31 0
      Assets/Scripts/Business/Runtime/Nodes/Mail/MailNode.cs
  67. 11 0
      Assets/Scripts/Business/Runtime/Nodes/Mail/MailNode.cs.meta
  68. 22 0
      Assets/Scripts/Business/Runtime/Nodes/Mail/UIComponent.cs
  69. 11 0
      Assets/Scripts/Business/Runtime/Nodes/Mail/UIComponent.cs.meta
  70. BIN
      fl-fgui-project/assets/Common/images/red.png
  71. 1 0
      fl-fgui-project/assets/Common/package.xml
  72. 54 0
      fl-fgui-project/assets/Mail/Components/MailPanelItem.xml
  73. BIN
      fl-fgui-project/assets/Mail/Image/gou.png
  74. BIN
      fl-fgui-project/assets/Mail/Image/kuang01.png
  75. BIN
      fl-fgui-project/assets/Mail/Image/kuang02.png
  76. BIN
      fl-fgui-project/assets/Mail/Image/kuangzhezhao.png
  77. BIN
      fl-fgui-project/assets/Mail/Image/xin01.png
  78. BIN
      fl-fgui-project/assets/Mail/Image/xin02.png
  79. 74 0
      fl-fgui-project/assets/Mail/MailPanel.xml
  80. 14 0
      fl-fgui-project/assets/Mail/package.xml

+ 8 - 0
Assets/Res/Addressable/FGUI/Mail.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: WXsbsSmpBnl4UWeU8i5vNIrJeRs2MEfG5YOCbPae0FEGpNgNIl/zans=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Res/Addressable/FGUI/Mail/Mail_atlas0.png


+ 189 - 0
Assets/Res/Addressable/FGUI/Mail/Mail_atlas0.png.meta

@@ -0,0 +1,189 @@
+fileFormatVersion: 2
+guid: DSwW4C+oVX6Lb0BfHo6C+lMYaqgGAMGSpmHvvjGKRHaENjghC7YfiwA=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: 50
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Res/Addressable/FGUI/Mail/Mail_fui.bytes


+ 7 - 0
Assets/Res/Addressable/FGUI/Mail/Mail_fui.bytes.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XHNK5y+vUn2SCIcGamMR/eOKBjTDaQ3JpQes+AOIs/isudpMktgDbmo=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Res/Addressable/Tables/artifactBuweiTable.bytes


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

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DHkXsnivAH+WUklKGPMOSZ5aAV0twwh1QbMeTV2YGRW9aEzy2p1TKzE=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Res/Addressable/Tables/artifactProbTable.bytes


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

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: BnpKsX+pV31Qvkp20WxMV9EwI/stq7WJUN2510m0WEKAbeMW/SCIw24=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 196 - 3
Assets/Res/Addressable/UI/Atlas/Partner/atlas_rauap_partner.spriteatlas

@@ -80,12 +80,205 @@ SpriteAtlas:
     bindAsDefault: 1
     isAtlasV2: 0
     cachedData: {fileID: 0}
-    packedSpriteRenderDataKeys: []
+    packedSpriteRenderDataKeys:
+    - 7963e680b36428741b28edd9f006d9c9: 21300000
+    - 4e1ed421d3509a2448f2f0fd353fe061: 21300000
+    - be3fca415234a1b4685d1a2573270753: 21300000
+    - fecfa332fbc09b24b98f32c9cc9d421f: 21300000
+    - c6e35a6229056dc4a9a6acd3fc176317: 21300000
+    - 0331f8c29a15a924bbd40992f1db02b0: 21300000
+    - b5ad480345a197643b2a909f75792d20: 21300000
+    - af513c93eea18c542a538ae31fc742cd: 21300000
+    - d00e61b3ec78a25409c3cf7059bd2cd7: 21300000
+    - d75c40140ef5f4847ba7a3d9c3b60fe4: 21300000
+    - d080aa44dd5497c4e8722a9c7ed88ae2: 21300000
+    - 5fb74ab4c6908364fb847afe4bb8ad8a: 21300000
+    - 62857935cb718254c80306d94a02322c: 21300000
+    - 28e24b65f0c900f47a665b7d05526906: 21300000
+    - d997cfb5985a42e479ee01f698a55f12: 21300000
+    - 24c4f816025819e4f8d8974f9e98d68d: 21300000
+    - 6014f6263903c7e449a4ff273718f898: 21300000
+    - 78a95d26e838c2442a9af4d91cf20d4b: 21300000
+    - 928e7266c93fd9b44ab13c4e72950b4f: 21300000
+    - a489756687ac9bb43a47e99d168c5b81: 21300000
+    - 131aabb6441e4954b9183a33e4f3ca8e: 21300000
+    - 17ecf90731ce6ff4392eeff168cbbf51: 21300000
+    - 24ef1847a11535c419dd65bcca7cabbc: 21300000
+    - b30484c782024804280e6598747ed018: 21300000
+    - fd69ead73c6b3124ba67546bbc905594: 21300000
+    - 7e8140f7aafa5ec419b699bf57646c46: 21300000
+    - e7e190f78351d134eaf1408c6eafbe3d: 21300000
+    - 431106185aba18046bee6c24c895b739: 21300000
+    - f517b448493d4524491bf3b483ca7819: 21300000
+    - 0df56f58b15e3074194c5a96db6c4181: 21300000
+    - 1bcaefa8c04acd7419776b6915412804: 21300000
+    - 103cf5198ffe9434f992c85ec0cdb4f7: 21300000
+    - 1cb0b1298af1d0744ad588c352493fdf: 21300000
+    - 46728559ad51d3a47b47707c536655e0: 21300000
+    - 0b850ad9f12423f41a855d412e9f29ec: 21300000
+    - 92394c1a1208af644bee54d7e9f73cf3: 21300000
+    - 1303926a12f069640827f2bdcbc0c7c6: 21300000
+    - 3d81a37a927ceb04aa80d928f9794d14: 21300000
+    - 30af1a7abe853734d9eb3e2b062628e6: 21300000
+    - f1b601aa043e7204eb5a34adcc814939: 21300000
+    - 5d1103fa526d54446984e1d8b20d2e8a: 21300000
+    - 626d912bd1d82704da6f14e1a7d36e71: 21300000
+    - 15fb624bff181af4085095606c278112: 21300000
+    - a4f3689b37972234496dd91d79bafdf4: 21300000
+    - 6bc668abf6357a74ca311513ffb36953: 21300000
+    - 838fb90c0e02d454a8442aacba8414e5: 21300000
+    - 30ae4c1c6aad83b4194879ae4e53cffe: 21300000
+    - 820b2ccc16e5fe84bae23af243bfcb60: 21300000
+    - 58e393fc6a6dbf44a99203e46b0a79c6: 21300000
+    - 94fc971df928d6e478bca59d7a236a29: 21300000
+    - 794f7f2d026e2504c8d940726259c269: 21300000
+    - ff78e35de8728a5428e5850a13622edb: 21300000
+    - 46b2b97d5fda8b244a944a99729f4c46: 21300000
+    - 5cc42dadf49af514fbcc4e4003a65f26: 21300000
+    - b9e79cbef0c6aea4ab680a44ac30e9cc: 21300000
+    - 4f3ffcbe3f7219a44a790bae47163632: 21300000
+    - 7f037bcef4637a14d90259f40190a50c: 21300000
+    - ffaafecec25f9d44da7a38472722357e: 21300000
+    - a0e52fce8a7a08b4ab0011094188c4b8: 21300000
+    - 986d0cfe25cbd5a41b1c190cd8b0410e: 21300000
+    - 34ca522fe11e9124eb3e4c75c372ca91: 21300000
+    - b2b9d27f5f31d8141a86896d551c74ec: 21300000
+    - 8e34167fe65877e4299bc86699a11872: 21300000
+    - ed7e619f930a86e4f96668b995953164: 21300000
+    - 4262cecf5fa2e874997471733abc1420: 21300000
   m_MasterAtlas: {fileID: 0}
   m_PackedSprites:
-  - {fileID: 21300000, guid: 8b6458543cadab045bde92a02b23b600, type: 3}
+  - {fileID: 21300000, guid: 7963e680b36428741b28edd9f006d9c9, type: 3}
+  - {fileID: 21300000, guid: 4e1ed421d3509a2448f2f0fd353fe061, type: 3}
+  - {fileID: 21300000, guid: be3fca415234a1b4685d1a2573270753, type: 3}
+  - {fileID: 21300000, guid: fecfa332fbc09b24b98f32c9cc9d421f, type: 3}
+  - {fileID: 21300000, guid: c6e35a6229056dc4a9a6acd3fc176317, type: 3}
+  - {fileID: 21300000, guid: 0331f8c29a15a924bbd40992f1db02b0, type: 3}
+  - {fileID: 21300000, guid: b5ad480345a197643b2a909f75792d20, type: 3}
+  - {fileID: 21300000, guid: af513c93eea18c542a538ae31fc742cd, type: 3}
+  - {fileID: 21300000, guid: d00e61b3ec78a25409c3cf7059bd2cd7, type: 3}
+  - {fileID: 21300000, guid: d75c40140ef5f4847ba7a3d9c3b60fe4, type: 3}
+  - {fileID: 21300000, guid: d080aa44dd5497c4e8722a9c7ed88ae2, type: 3}
+  - {fileID: 21300000, guid: 5fb74ab4c6908364fb847afe4bb8ad8a, type: 3}
+  - {fileID: 21300000, guid: 62857935cb718254c80306d94a02322c, type: 3}
+  - {fileID: 21300000, guid: 28e24b65f0c900f47a665b7d05526906, type: 3}
+  - {fileID: 21300000, guid: d997cfb5985a42e479ee01f698a55f12, type: 3}
+  - {fileID: 21300000, guid: 24c4f816025819e4f8d8974f9e98d68d, type: 3}
+  - {fileID: 21300000, guid: 6014f6263903c7e449a4ff273718f898, type: 3}
+  - {fileID: 21300000, guid: 78a95d26e838c2442a9af4d91cf20d4b, type: 3}
+  - {fileID: 21300000, guid: 928e7266c93fd9b44ab13c4e72950b4f, type: 3}
+  - {fileID: 21300000, guid: a489756687ac9bb43a47e99d168c5b81, type: 3}
+  - {fileID: 21300000, guid: 131aabb6441e4954b9183a33e4f3ca8e, type: 3}
+  - {fileID: 21300000, guid: 17ecf90731ce6ff4392eeff168cbbf51, type: 3}
+  - {fileID: 21300000, guid: 24ef1847a11535c419dd65bcca7cabbc, type: 3}
+  - {fileID: 21300000, guid: b30484c782024804280e6598747ed018, type: 3}
+  - {fileID: 21300000, guid: fd69ead73c6b3124ba67546bbc905594, type: 3}
+  - {fileID: 21300000, guid: 7e8140f7aafa5ec419b699bf57646c46, type: 3}
+  - {fileID: 21300000, guid: e7e190f78351d134eaf1408c6eafbe3d, type: 3}
+  - {fileID: 21300000, guid: 431106185aba18046bee6c24c895b739, type: 3}
+  - {fileID: 21300000, guid: f517b448493d4524491bf3b483ca7819, type: 3}
+  - {fileID: 21300000, guid: 0df56f58b15e3074194c5a96db6c4181, type: 3}
+  - {fileID: 21300000, guid: 1bcaefa8c04acd7419776b6915412804, type: 3}
+  - {fileID: 21300000, guid: 103cf5198ffe9434f992c85ec0cdb4f7, type: 3}
+  - {fileID: 21300000, guid: 1cb0b1298af1d0744ad588c352493fdf, type: 3}
+  - {fileID: 21300000, guid: 46728559ad51d3a47b47707c536655e0, type: 3}
+  - {fileID: 21300000, guid: 0b850ad9f12423f41a855d412e9f29ec, type: 3}
+  - {fileID: 21300000, guid: 92394c1a1208af644bee54d7e9f73cf3, type: 3}
+  - {fileID: 21300000, guid: 1303926a12f069640827f2bdcbc0c7c6, type: 3}
+  - {fileID: 21300000, guid: 3d81a37a927ceb04aa80d928f9794d14, type: 3}
+  - {fileID: 21300000, guid: 30af1a7abe853734d9eb3e2b062628e6, type: 3}
+  - {fileID: 21300000, guid: f1b601aa043e7204eb5a34adcc814939, type: 3}
+  - {fileID: 21300000, guid: 5d1103fa526d54446984e1d8b20d2e8a, type: 3}
+  - {fileID: 21300000, guid: 626d912bd1d82704da6f14e1a7d36e71, type: 3}
+  - {fileID: 21300000, guid: 15fb624bff181af4085095606c278112, type: 3}
+  - {fileID: 21300000, guid: a4f3689b37972234496dd91d79bafdf4, type: 3}
+  - {fileID: 21300000, guid: 6bc668abf6357a74ca311513ffb36953, type: 3}
+  - {fileID: 21300000, guid: 838fb90c0e02d454a8442aacba8414e5, type: 3}
+  - {fileID: 21300000, guid: 30ae4c1c6aad83b4194879ae4e53cffe, type: 3}
+  - {fileID: 21300000, guid: 820b2ccc16e5fe84bae23af243bfcb60, type: 3}
+  - {fileID: 21300000, guid: 58e393fc6a6dbf44a99203e46b0a79c6, type: 3}
+  - {fileID: 21300000, guid: 94fc971df928d6e478bca59d7a236a29, type: 3}
+  - {fileID: 21300000, guid: 794f7f2d026e2504c8d940726259c269, type: 3}
+  - {fileID: 21300000, guid: ff78e35de8728a5428e5850a13622edb, type: 3}
+  - {fileID: 21300000, guid: 46b2b97d5fda8b244a944a99729f4c46, type: 3}
+  - {fileID: 21300000, guid: 5cc42dadf49af514fbcc4e4003a65f26, type: 3}
+  - {fileID: 21300000, guid: b9e79cbef0c6aea4ab680a44ac30e9cc, type: 3}
+  - {fileID: 21300000, guid: 4f3ffcbe3f7219a44a790bae47163632, type: 3}
+  - {fileID: 21300000, guid: 7f037bcef4637a14d90259f40190a50c, type: 3}
+  - {fileID: 21300000, guid: ffaafecec25f9d44da7a38472722357e, type: 3}
+  - {fileID: 21300000, guid: a0e52fce8a7a08b4ab0011094188c4b8, type: 3}
+  - {fileID: 21300000, guid: 986d0cfe25cbd5a41b1c190cd8b0410e, type: 3}
+  - {fileID: 21300000, guid: 34ca522fe11e9124eb3e4c75c372ca91, type: 3}
+  - {fileID: 21300000, guid: b2b9d27f5f31d8141a86896d551c74ec, type: 3}
+  - {fileID: 21300000, guid: 8e34167fe65877e4299bc86699a11872, type: 3}
+  - {fileID: 21300000, guid: ed7e619f930a86e4f96668b995953164, type: 3}
+  - {fileID: 21300000, guid: 4262cecf5fa2e874997471733abc1420, type: 3}
   m_PackedSpriteNamesToIndex:
-  - vcard_img_mingpian_exhbition_bg
+  - sb_pzdi_5
+  - partner_pzdi_5
+  - epigraph_pzempty_7
+  - epigraph_pzempty_5
+  - partner_elementType_3
+  - partner_pzdi_2
+  - sb_elementType_4
+  - partner_elementType_2
+  - sb_pzdi_2
+  - partner_pzdi_8
+  - epigraph_pzempty_2
+  - sb_elementType_2
+  - sb_pzdi_7
+  - epigraph_mwpz_8
+  - partner_jindutiao_7
+  - epigraph_mwpz_1
+  - sb_pzdi_8
+  - epigraph_mwpz_7
+  - sb_type_5
+  - epigraph_pztype_4
+  - partner_jindutiao_5
+  - sb_type_2
+  - sb_type_1
+  - epigraph_pztype_3
+  - epigraph_mwpz_6
+  - epigraph_pztype_6
+  - epigraph_pzempty_8
+  - epigraph_mwpz_2
+  - sb_pzdi_3
+  - epigraph_pztype_8
+  - partner_emptydi
+  - partner_jindutiao_2
+  - epigraph_pztype_5
+  - sb_pzdi_4
+  - sb_pzdi_1
+  - partner_jindutiao_1
+  - partner_pzdi_1
+  - sb_elementType_5
+  - epigraph_pztype_2
+  - sb_elementType_3
+  - epigraph_mwpz_4
+  - partner_jindutiao_4
+  - sb_pzdi_6
+  - epigraph_pztype_1
+  - partner_pzdi_4
+  - epigraph_mwpz_3
+  - partner_pzdi_7
+  - partner_pzdi_6
+  - sb_type_4
+  - epigraph_pzempty_1
+  - epigraph_mwpz_5
+  - epigraph_pzempty_3
+  - partner_jindutiao_3
+  - partner_elementType_5
+  - epigraph_pztype_7
+  - epigraph_pzempty_4
+  - sb_type_3
+  - sb_emptydi
+  - partner_jindutiao_8
+  - sb_elementType_1
+  - partner_elementType_1
+  - partner_elementType_4
+  - epigraph_pzempty_6
+  - partner_pzdi_3
+  - partner_jindutiao_6
   m_RenderDataMap: {}
   m_Tag: atlas_rauap_partner
   m_IsVariant: 0

+ 130 - 3
Assets/Res/Addressable/UI/Atlas/SkillIcon/atlas_rauas_skillicon.spriteatlas

@@ -80,12 +80,139 @@ SpriteAtlas:
     bindAsDefault: 1
     isAtlasV2: 0
     cachedData: {fileID: 0}
-    packedSpriteRenderDataKeys: []
+    packedSpriteRenderDataKeys:
+    - 3c1576000163de846850a309e6b9c531: 21300000
+    - 9e4e964082d3c7e498c0b6a807155847: 21300000
+    - 4b02fc802b31e3f49942e9e379784ef8: 21300000
+    - eb783e4104694844999f7fe79947e985: 21300000
+    - ac4da3727f20e21449d87b30fc6a12bb: 21300000
+    - 86bb72a2ce0056b49ac28e4a0904043f: 21300000
+    - 14c6a7a260d3b464ea5fe787559c5849: 21300000
+    - ee7942a4b4531e34d854c4052fecda5d: 21300000
+    - 0eae66f469433894bb78c404d1d5dd7f: 21300000
+    - 50205bf456a9abf41a0fd1d51a774178: 21300000
+    - 1120bef4b9139ff4ab42080664de3589: 21300000
+    - e78f9415ea1952a40adfd75bda1a0921: 21300000
+    - 0fb595c5d6441c64590731d049694e3f: 21300000
+    - b2c9d6e53e819d1459527b4f1370cbde: 21300000
+    - dd4249362a2ce4349a0f24fcdab99e86: 21300000
+    - fc611546b4d1d614fb2c02f98cdcc291: 21300000
+    - b3c31f96d6f35304b9549815c13edf51: 21300000
+    - d80f6d2785f904740ac92c78848e2d7c: 21300000
+    - de149248fa30d86448787e87e8c7c129: 21300000
+    - 696b5678f3155fe4d8e28afb4f9139f2: 21300000
+    - 429b500996049b346aad419646a0ee50: 21300000
+    - 76321309f0a16ad42b65c562b27155bb: 21300000
+    - 26073c292d15d5e47ba55a235ac08c07: 21300000
+    - 7d048249b6ecc334493e90225b0cffb2: 21300000
+    - a8ebcff948302dc40a6796275173488c: 21300000
+    - a24d87aa7f1837b48b14b37c907fd947: 21300000
+    - ed7e5c8bd930c424da239e84ebad1ed6: 21300000
+    - 368dfeab669450e41b3bf6a33a2b489c: 21300000
+    - e97f9bcb1270c3643aa6a63e185b33ae: 21300000
+    - 18d680db340f2084989f7dc66b738553: 21300000
+    - 7e7a15eb5df23304c9f17d61c7c95cb3: 21300000
+    - 77c005ac32b21194a91f4b2c7e893f0f: 21300000
+    - a68ac26d16227b4439dd22df28a1baf4: 21300000
+    - 7981276d5c484f84d998749585ed5fcf: 21300000
+    - c2563edd0711d5f429b9a043ce921acf: 21300000
+    - 37cb253eba269a84b8ae3594e14e8b8f: 21300000
+    - 41d5306e9b6ddc044a7de19e45f399af: 21300000
+    - d871888e3dff6b24d86887410860f759: 21300000
+    - 34c0ab8e5ad196d4e80cbe91c9d275c7: 21300000
+    - fe878bae5c25e5f4983488f02c3e043a: 21300000
+    - d69207bec2130b14cb65e0a8cbe33b7b: 21300000
+    - 2a779bdf8897ba04485af057865e57e3: 21300000
+    - 093fabef49be52b4b9e2633f9a9fcf7b: 21300000
   m_MasterAtlas: {fileID: 0}
   m_PackedSprites:
-  - {fileID: 21300000, guid: 8b6458543cadab045bde92a02b23b600, type: 3}
+  - {fileID: 21300000, guid: 3c1576000163de846850a309e6b9c531, type: 3}
+  - {fileID: 21300000, guid: 9e4e964082d3c7e498c0b6a807155847, type: 3}
+  - {fileID: 21300000, guid: 4b02fc802b31e3f49942e9e379784ef8, type: 3}
+  - {fileID: 21300000, guid: eb783e4104694844999f7fe79947e985, type: 3}
+  - {fileID: 21300000, guid: ac4da3727f20e21449d87b30fc6a12bb, type: 3}
+  - {fileID: 21300000, guid: 86bb72a2ce0056b49ac28e4a0904043f, type: 3}
+  - {fileID: 21300000, guid: 14c6a7a260d3b464ea5fe787559c5849, type: 3}
+  - {fileID: 21300000, guid: ee7942a4b4531e34d854c4052fecda5d, type: 3}
+  - {fileID: 21300000, guid: 0eae66f469433894bb78c404d1d5dd7f, type: 3}
+  - {fileID: 21300000, guid: 50205bf456a9abf41a0fd1d51a774178, type: 3}
+  - {fileID: 21300000, guid: 1120bef4b9139ff4ab42080664de3589, type: 3}
+  - {fileID: 21300000, guid: e78f9415ea1952a40adfd75bda1a0921, type: 3}
+  - {fileID: 21300000, guid: 0fb595c5d6441c64590731d049694e3f, type: 3}
+  - {fileID: 21300000, guid: b2c9d6e53e819d1459527b4f1370cbde, type: 3}
+  - {fileID: 21300000, guid: dd4249362a2ce4349a0f24fcdab99e86, type: 3}
+  - {fileID: 21300000, guid: fc611546b4d1d614fb2c02f98cdcc291, type: 3}
+  - {fileID: 21300000, guid: b3c31f96d6f35304b9549815c13edf51, type: 3}
+  - {fileID: 21300000, guid: d80f6d2785f904740ac92c78848e2d7c, type: 3}
+  - {fileID: 21300000, guid: de149248fa30d86448787e87e8c7c129, type: 3}
+  - {fileID: 21300000, guid: 696b5678f3155fe4d8e28afb4f9139f2, type: 3}
+  - {fileID: 21300000, guid: 429b500996049b346aad419646a0ee50, type: 3}
+  - {fileID: 21300000, guid: 76321309f0a16ad42b65c562b27155bb, type: 3}
+  - {fileID: 21300000, guid: 26073c292d15d5e47ba55a235ac08c07, type: 3}
+  - {fileID: 21300000, guid: 7d048249b6ecc334493e90225b0cffb2, type: 3}
+  - {fileID: 21300000, guid: a8ebcff948302dc40a6796275173488c, type: 3}
+  - {fileID: 21300000, guid: a24d87aa7f1837b48b14b37c907fd947, type: 3}
+  - {fileID: 21300000, guid: ed7e5c8bd930c424da239e84ebad1ed6, type: 3}
+  - {fileID: 21300000, guid: 368dfeab669450e41b3bf6a33a2b489c, type: 3}
+  - {fileID: 21300000, guid: e97f9bcb1270c3643aa6a63e185b33ae, type: 3}
+  - {fileID: 21300000, guid: 18d680db340f2084989f7dc66b738553, type: 3}
+  - {fileID: 21300000, guid: 7e7a15eb5df23304c9f17d61c7c95cb3, type: 3}
+  - {fileID: 21300000, guid: 77c005ac32b21194a91f4b2c7e893f0f, type: 3}
+  - {fileID: 21300000, guid: a68ac26d16227b4439dd22df28a1baf4, type: 3}
+  - {fileID: 21300000, guid: 7981276d5c484f84d998749585ed5fcf, type: 3}
+  - {fileID: 21300000, guid: c2563edd0711d5f429b9a043ce921acf, type: 3}
+  - {fileID: 21300000, guid: 37cb253eba269a84b8ae3594e14e8b8f, type: 3}
+  - {fileID: 21300000, guid: 41d5306e9b6ddc044a7de19e45f399af, type: 3}
+  - {fileID: 21300000, guid: d871888e3dff6b24d86887410860f759, type: 3}
+  - {fileID: 21300000, guid: 34c0ab8e5ad196d4e80cbe91c9d275c7, type: 3}
+  - {fileID: 21300000, guid: fe878bae5c25e5f4983488f02c3e043a, type: 3}
+  - {fileID: 21300000, guid: d69207bec2130b14cb65e0a8cbe33b7b, type: 3}
+  - {fileID: 21300000, guid: 2a779bdf8897ba04485af057865e57e3, type: 3}
+  - {fileID: 21300000, guid: 093fabef49be52b4b9e2633f9a9fcf7b, type: 3}
   m_PackedSpriteNamesToIndex:
-  - vcard_img_mingpian_exhbition_bg
+  - SkillIcon_204711
+  - SkillIcon_203311
+  - SkillIcon_204111
+  - SkillIcon_202311
+  - SkillIcon_205111
+  - SkillIcon_20521101
+  - SkillIcon_200701
+  - SkillIcon_202721
+  - SkillIcon_203511
+  - SkillIcon_202211
+  - SkillIcon_202511
+  - SkillIcon_201721
+  - SkillIcon_201211
+  - SkillIcon_201411
+  - SkillIcon_202711
+  - SkillIcon_203111
+  - SkillIcon_203411
+  - SkillIcon_204311
+  - SkillIcon_205511
+  - SkillIcon_205411
+  - SkillIcon_201611
+  - SkillIcon_204511
+  - SkillIcon_202111
+  - SkillIcon_205211
+  - SkillIcon_201711
+  - SkillIcon_205711
+  - SkillIcon_204611
+  - SkillIcon_203211
+  - SkillIcon_205311
+  - SkillIcon_203611
+  - SkillIcon_13521
+  - SkillIcon_204211
+  - SkillIcon_204411
+  - SkillIcon_203721
+  - SkillIcon_202411
+  - SkillIcon_205611
+  - SkillIcon_205721
+  - SkillIcon_204721
+  - SkillIcon_201311
+  - SkillIcon_201111
+  - SkillIcon_202611
+  - SkillIcon_203711
+  - SkillIcon_201511
   m_RenderDataMap: {}
   m_Tag: atlas_rauas_skillicon
   m_IsVariant: 0

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

@@ -92,12 +92,52 @@ SpriteAtlas:
     bindAsDefault: 1
     isAtlasV2: 0
     cachedData: {fileID: 0}
-    packedSpriteRenderDataKeys: []
+    packedSpriteRenderDataKeys:
+    - ea3bc26246db9d5408b6b230af4461f5: 21300000
+    - 07519175365aaa742ac9a18b0b036b65: 21300000
+    - 31d823758f284744486949723b1342c9: 21300000
+    - 49c3ad96036ea41418889296d42d331c: 21300000
+    - d5056f876c35c9d40abbba4df5280eb0: 21300000
+    - 79278859f639d7148b89258a999346f3: 21300000
+    - 93b74debab8820b4db6699d6251c3013: 21300000
+    - ba4052acc887ee24d9345938a2f3437d: 21300000
+    - d09b39cca801ced47ba608faebc9de24: 21300000
+    - 2dd9070d5ec85cd44a4c3f7b39a4fd59: 21300000
+    - abc8764dd353a514fb9158c8eb66013a: 21300000
+    - e179916d29da5084fb49c4e2029ca69f: 21300000
+    - b3b6b5bddd1f800468047722e9c53b20: 21300000
+    - 6d27f08e246194740931871d91205940: 21300000
   m_MasterAtlas: {fileID: 0}
   m_PackedSprites:
-  - {fileID: 21300000, guid: 8b6458543cadab045bde92a02b23b600, type: 3}
+  - {fileID: 21300000, guid: ea3bc26246db9d5408b6b230af4461f5, type: 3}
+  - {fileID: 21300000, guid: 07519175365aaa742ac9a18b0b036b65, type: 3}
+  - {fileID: 21300000, guid: 31d823758f284744486949723b1342c9, type: 3}
+  - {fileID: 21300000, guid: 49c3ad96036ea41418889296d42d331c, type: 3}
+  - {fileID: 21300000, guid: d5056f876c35c9d40abbba4df5280eb0, type: 3}
+  - {fileID: 21300000, guid: 79278859f639d7148b89258a999346f3, type: 3}
+  - {fileID: 21300000, guid: 93b74debab8820b4db6699d6251c3013, type: 3}
+  - {fileID: 21300000, guid: ba4052acc887ee24d9345938a2f3437d, type: 3}
+  - {fileID: 21300000, guid: d09b39cca801ced47ba608faebc9de24, type: 3}
+  - {fileID: 21300000, guid: 2dd9070d5ec85cd44a4c3f7b39a4fd59, type: 3}
+  - {fileID: 21300000, guid: abc8764dd353a514fb9158c8eb66013a, type: 3}
+  - {fileID: 21300000, guid: e179916d29da5084fb49c4e2029ca69f, type: 3}
+  - {fileID: 21300000, guid: b3b6b5bddd1f800468047722e9c53b20, type: 3}
+  - {fileID: 21300000, guid: 6d27f08e246194740931871d91205940, type: 3}
   m_PackedSpriteNamesToIndex:
-  - vcard_img_mingpian_exhbition_bg
+  - Jindutiao4
+  - Jindutiao3
+  - playerph02
+  - bossph06
+  - bossph01
+  - TiaozhanBoss
+  - Shijianjindutiao2
+  - bossphbg
+  - bossph02
+  - Shijianjindutiao1
+  - Jindutiao5
+  - Kulou
+  - Shizhong
+  - playerph01
   m_RenderDataMap: {}
   m_Tag: atlas_rsuam_mainmap
   m_IsVariant: 0

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

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

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

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

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

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

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

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

+ 47 - 0
Assets/Scripts/Business/Domain/Database/Tables/artifactBuweiTable.cs

@@ -0,0 +1,47 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+using XGame.Framework.Serialization;
+
+namespace XGame.Database
+{
+    /// <summary> artifactBuwei </summary>
+    public sealed class artifactBuweiTable : ITable
+    {
+        long ITable.Key => Id;
+
+        /// <summary> id1000*元素类型+品质*100+1 </summary>
+        public int Id { get; private set; }
+
+        /// <summary> 元素核心类型1=风2=火3=雷4=冰5=毒 </summary>
+        public int Type { get; private set; }
+
+        /// <summary> 元素核心品质类型1=白2=绿3=蓝4=紫5=橙6=红 </summary>
+        public int Quality { get; private set; }
+
+        /// <summary> 秘宝附魔部位(元素核心1,2,3,4,5位置),道具id </summary>
+        public int[] Level { get; private set; }
+
+        /// <summary> 秘宝元素佩戴属性(属性id+数值) </summary>
+        public int[] LevelOwnAttr { get; private set; }
+
+        void ISerializable.Deserialize(IReader reader)
+        {
+            Id = reader.ReadInt();
+            Type = reader.ReadInt();
+            Quality = reader.ReadInt();
+            Level = reader.ReadEnumerable<int[]>();
+            LevelOwnAttr = reader.ReadEnumerable<int[]>();
+        }
+
+        void ISerializable.Serialize(IWriter writer)
+        {
+            writer.Write(Id);
+            writer.Write(Type);
+            writer.Write(Quality);
+            writer.Write(Level);
+            writer.Write(LevelOwnAttr);
+        }
+    }
+}

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

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

+ 52 - 0
Assets/Scripts/Business/Domain/Database/Tables/artifactProbTable.cs

@@ -0,0 +1,52 @@
+// Generate By EToy
+// Don't Edit It!!
+
+using XGame.Framework.Database;
+using XGame.Framework.Serialization;
+
+namespace XGame.Database
+{
+    /// <summary> artifactProb </summary>
+    public sealed class artifactProbTable : ITable
+    {
+        long ITable.Key => Id;
+
+        /// <summary> 序号IDid*1000+部位*100+类型*10+1 </summary>
+        public int Id { get; private set; }
+
+        /// <summary> 元素核心部位 </summary>
+        public int PetId { get; private set; } // sc
+
+        /// <summary> 元素核心类型1=风2=火3=雷4=冰5=毒 </summary>
+        public int Type { get; private set; }
+
+        /// <summary> 元素核心等级 </summary>
+        public int Level { get; private set; } // sc
+
+        /// <summary> 升级消耗元素核心ID,升级元素核心所消耗数量 </summary>
+        public int[] StarUpCost { get; private set; } // sc
+
+        /// <summary> 秘宝元素核心属性属性名称1,属性值 </summary>
+        public int[] StarOwnAttr { get; private set; } // sc
+
+        void ISerializable.Deserialize(IReader reader)
+        {
+            Id = reader.ReadInt();
+            PetId = reader.ReadInt();
+            Type = reader.ReadInt();
+            Level = reader.ReadInt();
+            StarUpCost = reader.ReadEnumerable<int[]>();
+            StarOwnAttr = reader.ReadEnumerable<int[]>();
+        }
+
+        void ISerializable.Serialize(IWriter writer)
+        {
+            writer.Write(Id);
+            writer.Write(PetId);
+            writer.Write(Type);
+            writer.Write(Level);
+            writer.Write(StarUpCost);
+            writer.Write(StarOwnAttr);
+        }
+    }
+}

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

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

+ 1 - 1
Assets/Scripts/Business/Domain/Network/act_task_main.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: CnxLvSr7AC9cyZYaT/k3qK7nRU+HJJYP/SvK6NQxenAeqCJLwwSqSX0=
+guid: CXtK4C/5BSl9OMQ2zRWMud93xquXRCJXVUkEkd6on+9F80ZP1d1qJbU=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/fuben_c.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: Cy4Y4Xz4Vy1Ftcu1Mv8mH1FXudlVZllFDVor4eLg0yaMBGDY7L68HuE=
+guid: CSxNsnipAi3SPKkTFup9Th7sssqWVmI2sX63rj4mrrKVtgyd90ZqUyE=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/fuser_all.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: CSgctyukUnozInSHuEVDoFDHblSxKBUU8ygR9sdUYloLrzb+kJM15uY=
+guid: Cy8a5C/7Ank5hqfOWBF4lbtQ5RXTobdC/Rx11XY7I97AGCbeQ/5yeN0=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/model/act_achv_m.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: WX8esC7+UHhO5oPYveRsTHG2Lv2JwrKg4geFdU8i2KLQMH1Y1laCku0=
+guid: CixN4Cr/Uy8LTnv1e6JllpyZuTph7FY27HU1dSRbF5DcP0EZwzCjY6s=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/model/act_jjc_log_m.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: DH0Wty6lVXnp8wjgz9o4gmRGYcqQPTG/AY0dilghTM7buHMG0fGZNok=
+guid: WSgftnz4VXy+edwuwS/eu8ktJWDMquN1KQx1qUicsxKznAY17A/22hM=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/model/act_jjc_m.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: D3tOtCmkUHhdgtrmh6w1vpvGN1oFpq+UtSO+t6KErgZOdzo+aFd69AU=
+guid: CHpMtCn4Aijn/VC+VxYe5s8ynOocV+a7dhxanshSMT+hEaCAgt5pB50=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/model/act_job_class_m.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: C3pMsXz5VilSkuRYek9+8SUBw5eCSerT1OROrYE69LfCgQhZbLrv5ow=
+guid: BnIevC2sVS/5ztCiKHHHCnlVFQvPl07uFW5PhMOo63a7nBvOPhKEZro=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/mount_c.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: CX0XsXn5BS2s0Kqf+1GlcrIkQSr+5NGH+7gWQe0thvB2lXFsrST0PPg=
+guid: DnsYsy2sW3mByH8kLZW02TJJuguEPPB/aPQGSf4GkR6qNwkZMjXmQBA=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/rank_my.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: Bn1N4yr7VCiQtUBNTJtFGO0GzinyIiA18l9MrkMjqZ/iOS1cpsj9yE8=
+guid: Dnob43v5V3h/MLlOUxQlhpFFZ8jqr5yjrtEg0MUf3H+bKNQYyVK15so=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/taskDaily_c.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: Wy8W5Hz7AH9vaYJYVU19qt0hvjS2J3EjOikewSWsO6/8r/KJCgVZzAs=
+guid: Di8f4XilASoaO2yM4om23v7Ztz4WaJOCAYqj5MjP0KD+ErCfKBdUaFY=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Business/Domain/Network/taskMain_c.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: CHxKt36rAC/TJarRZ3dI0qm0NL4ru1EwFDuAs3k8UB5WSQ55DW2eYYY=
+guid: WnpNsn78Vn6y8+/QawiLH409XiSaZkOaFpf/d7VjGJctQcARV5fT3Ek=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 8 - 0
Assets/Scripts/Business/Runtime/Data/Mail.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XXoWsnmtBShImjkHvBNcsZusJBDr5pqE3FGY18zX2z1vZeCr2XWEB8Q=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 18 - 0
Assets/Scripts/Business/Runtime/Data/Mail/MailData.cs

@@ -0,0 +1,18 @@
+
+using System;
+using System.Collections.Generic;
+using FL.Network;
+using UnityEngine;
+using XGame;
+using XGame.Database;
+using XGame.Framework.Data;
+
+namespace FL.Data
+{
+    public class MailData : DataSingleton<MailData>
+    {
+        
+        public List<MailInfo> mailInfo = null;
+        
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/Data/Mail/MailData.cs.meta

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

+ 58 - 0
Assets/Scripts/Business/Runtime/Data/Mail/MailService.cs

@@ -0,0 +1,58 @@
+using System.Collections.Generic;
+using System.Security.Cryptography;
+using FL.Network;
+using XGame;
+using XGame.Database;
+using XGame.Framework.Data;
+using XGame.Framework.Network;
+
+namespace FL.Data
+{
+    public class MailService : DataSingleton<MailService>
+    {
+        #region 新接口
+
+        //进入邮件系统
+        public void RequestMailInto()
+        {
+            var param = new MailIntoRequest() { };
+            NetModule.Request(param);
+        }
+
+        //删除已读
+        public void RequestMailDelAll()
+        {
+            var param = new MailDelAllRequest() { };
+            NetModule.Request(param);
+        }
+
+        //一键已读
+        public void RequestMailReadAll()
+        {
+            var param = new MailRedAllRequest() { };
+            NetModule.Request(param);
+        }
+
+        //全部领取
+        public void RequestMailRwdAll()
+        {
+            var param = new MailRwdAllRequest() { };
+            NetModule.Request(param);
+        }
+
+        //删除单封邮件
+        public void RequestMailDel(string hdcid)
+        {
+            var param = new MailDelRequest() { hdcid = hdcid };
+            NetModule.Request(param);
+        }
+
+        //领取单封邮件
+        public void RequestMailRwd(string hdcid)
+        {
+            var param = new MailRwdRequest() { hdcid = hdcid };
+            NetModule.Request(param);
+        }
+        #endregion
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/Data/Mail/MailService.cs.meta

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

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

@@ -286,6 +286,11 @@
         /// </summary>
         EpigraphChangeSelect,
         #endregion
+        #region 邮件3900-3999
+        OpenSingleMail = 3900,
+        UpMailList = 3901,
+        OpenMailUI = 3902,
+        #endregion
 
         #region 坐骑Mount 3900-3999
         /// <summary>

+ 8 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DSkbvSOtBy7+JF0xwMi3R7SoBhbb4LcN6vZRGXHCXyUaEF5Treoudhs=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DXwe5yqoAi726n0QAUCMzIROq586Hf+4b4wkOxFhUgQtIW7Q8PNfnss=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 214 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelCtrl.cs

@@ -0,0 +1,214 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// 该脚本由模板创建
+/// created by cb 2024
+
+using FairyGUI;
+using FL.Data;
+using FL.Data.Items;
+using FL.Network;
+using System;
+using System.Collections.Generic;
+using XGame.Database;
+using XGame.Framework.UI;
+
+namespace FL.FGUI
+{
+    /// <summary>
+    /// UI逻辑处理类
+    /// </summary>
+    /// <typeparam name=""></typeparam>
+    public partial class MailMailPanelCtrl : UIController<MailMailPanelVM>
+    {
+
+        private List<MailInfo> _mailList;
+        private List<Item> _mailRwdList;
+        private bool _isOpenMail;// 是否打开单封邮件
+        private string _mailId;// 当前打开的邮件id
+
+        protected override void OnEnable(object intent)
+        {
+            AddUIListenres();
+            Init();
+            _isOpenMail = false;
+            ShowUI();
+        }
+        protected override void OnDisable()
+        {
+            RemoveUIListenres();
+        }
+        #region UI事件
+        private void AddUIListenres()
+        {
+            VM.AllReadBtn.onClick.Add(OnClickAllReadBtn);
+            VM.DeleteReadBtn.onClick.Add(OnClickDeleteReadBtn);
+            VM.BackMainBtn.onClick.Add(OnClickBackMainBtn);
+            VM.AllGetBtn.onClick.Add(OnClickAllGetBtn);
+            VM.ReadBtn.onClick.Add(OnClickReadBtn);
+            VM.GetBtn.onClick.Add(OnClickGetBtn);
+            VM.DeleteBtn.onClick.Add(OnClickDeleteBtn);
+            EventSingle.Instance.AddListener(EventDefine.OpenSingleMail, OpenSingleMail);
+            EventSingle.Instance.AddListener(EventDefine.UpMailList, UpMailList);
+
+        }
+        private void RemoveUIListenres()
+        {
+            VM.AllReadBtn.onClick.Remove(OnClickAllReadBtn);
+            VM.DeleteReadBtn.onClick.Remove(OnClickDeleteReadBtn);
+            VM.BackMainBtn.onClick.Remove(OnClickBackMainBtn);
+            VM.AllGetBtn.onClick.Remove(OnClickAllGetBtn);
+            VM.ReadBtn.onClick.Remove(OnClickReadBtn);
+            VM.GetBtn.onClick.Remove(OnClickGetBtn);
+            VM.DeleteBtn.onClick.Remove(OnClickDeleteBtn);
+            EventSingle.Instance.RemoveListener(EventDefine.OpenSingleMail, OpenSingleMail);
+            EventSingle.Instance.RemoveListener(EventDefine.UpMailList, UpMailList);
+
+        }
+
+        private void Init()
+        {
+            if (_mailList == null) _mailList = new List<MailInfo>();
+            if (_mailRwdList == null) _mailRwdList = new List<Item>();
+        }
+
+        private void ShowUI()
+        {
+            bool canGet = false;
+            bool canRead = false;
+            List<MailInfo> dataList = new List<MailInfo>();
+            MailInfo mailInfo = null;
+            for (int i = 0; i < MailData.Instance.mailInfo.Count; i++)
+            {
+                if (MailData.Instance.mailInfo[i].rts <= 0)
+                {
+                    if (MailData.Instance.mailInfo[i].items.Count > 0)
+                    {
+                        canGet = true;
+                    }
+                    else
+                    {
+                        canRead = true;
+                    }
+                }
+                if (_isOpenMail && _mailId == MailData.Instance.mailInfo[i].id)
+                {
+                    mailInfo = MailData.Instance.mailInfo[i];
+                }
+                long nowTime = Context.Time.GetNowTime() / 1000;
+                if (MailData.Instance.mailInfo[i].ets >= nowTime)
+                {
+                    dataList.Add(MailData.Instance.mailInfo[i]);
+                }
+            }
+            VM.AllReadBtn.visible = !_isOpenMail && canRead;// 一键已读
+            VM.DeleteReadBtn.visible = !_isOpenMail && !canRead;// 删除已读
+            VM.AllGetBtn.visible = !_isOpenMail;// 全部领取
+            VM.AllGetBtn.enabled = canGet;// 全部领取
+
+            VM.MailDetailsGrp.visible = _isOpenMail && mailInfo != null;// 是否打开单封邮件
+            if (_isOpenMail && mailInfo != null)
+            {
+                VM.BackMainBtn.visible = _isOpenMail;// 返回邮件列表
+                bool hasItem = mailInfo.items.Count > 0;
+                bool singleCanGet = mailInfo.rts <= 0 && hasItem;
+                bool singleCanRead = mailInfo.rts <= 0 && !hasItem;
+                VM.ReadBtn.visible = _isOpenMail && singleCanRead;// 已读
+                VM.GetBtn.visible = _isOpenMail && singleCanGet;// 领取
+                VM.DeleteBtn.visible = _isOpenMail && !singleCanGet && !singleCanRead;// 删除
+                VM.TitleLabel.text = mailInfo.title;
+                DateTimeOffset dateTime = DateTimeOffset.FromUnixTimeSeconds(mailInfo.ets);
+                string yearMonthDay = dateTime.ToString("yyyy-MM-dd hh:mm");
+                VM.TimeLabel.text = yearMonthDay;
+                VM.ContentLabel.text = mailInfo.content;
+                VM.ItemGrp.visible = hasItem;
+                if (hasItem)
+                {
+                    _mailRwdList.Clear();
+                    for (global::System.Int32 i = 0; i < mailInfo.items.Count; i++)
+                    {
+                        ItemTable itemInfo = ItemTableRepo.Get(mailInfo.items[i].id);
+                        Item _item = new Item();
+                        _item.Count = mailInfo.items[i].count.ToString();
+                        _item.Init(itemInfo, mailInfo.items[i].id);
+                        _mailRwdList.Add(_item);
+                    }
+                    ShowItemsUI(_mailRwdList);
+                }
+            }
+
+            SetMailList(dataList);
+
+        }
+        // 打开单封邮件
+        private void OpenSingleMail(int eventId, object args)
+        {
+            _isOpenMail = true;
+            _mailId = args.ToString();
+            ShowUI();
+        }
+        //刷新邮件列表
+        private void UpMailList(int eventId, object args)
+        {
+            ShowUI();
+        }
+        //刷新邮件列表
+        private void SetMailList(List<MailInfo> dataList)
+        {
+            VM.MailList.BindDatas(dataList);
+            UpMailCount(dataList.Count);
+            VM.EmptyLabel.visible = dataList.Count == 0;
+        }
+        // 邮件数量
+        private void UpMailCount(int num)
+        {
+            VM.MailCountLabel.text = $"邮件数量:{num}/{KeyValue.mailMax}";
+        }
+        //单封邮件内的奖励
+        private void ShowItemsUI(List<Item> dataList)
+        {
+            VM.ItemList.BindDatas(dataList);
+        }
+        //一键已读
+        private void OnClickAllReadBtn(EventContext context)
+        {
+            MailService.Instance.RequestMailReadAll();
+        }
+        //删除已读
+        private void OnClickDeleteReadBtn(EventContext context)
+        {
+            MailService.Instance.RequestMailDelAll();
+        }
+        //返回
+        private void OnClickBackMainBtn(EventContext context)
+        {
+            _isOpenMail = false;
+            VM.MailDetailsGrp.visible = false;
+            ShowUI();
+        }
+        //一键领取
+        private void OnClickAllGetBtn(EventContext context)
+        {
+            MailService.Instance.RequestMailRwdAll();
+        }
+        //已读
+        private void OnClickReadBtn(EventContext context)
+        {
+            MailService.Instance.RequestMailRwd(_mailId);
+        }
+        //领取
+        private void OnClickGetBtn(EventContext context)
+        {
+            MailService.Instance.RequestMailRwd(_mailId);
+        }
+        //删除
+        private void OnClickDeleteBtn(EventContext context)
+        {
+            _isOpenMail = false;
+            VM.MailDetailsGrp.visible = false;
+            MailService.Instance.RequestMailDel(_mailId);
+        }
+
+        #endregion
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelCtrl.cs.meta

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

+ 68 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelVM.Gen.cs

@@ -0,0 +1,68 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// #PropertyDefineArea 属性定义区域
+/// #PropertyAssignArea 属性赋值区域
+/// #ComponentType 组件类型
+/// #PropertyName 属性名字
+/// 该脚本由模板创建,不可编辑
+/// created by cb 2024
+using FairyGUI;
+using XGame.Framework.FGUI;
+using XGame.Framework.UI;
+
+namespace FL.FGUI
+{
+    /// <summary>
+    /// 该脚本由模板创建,不可修改,不可编辑
+    /// </summary>
+    public partial class MailMailPanelVM : FguiViewModel
+    {
+        public CommonBackGroundNestedView Background { get; private set; }
+        public GList MailList { get; private set; }
+        public GTextField MailCountLabel { get; private set; }
+        public GTextField EmptyLabel { get; private set; }
+        public GButton AllReadBtn { get; private set; }
+        public GButton DeleteReadBtn { get; private set; }
+        public GButton AllGetBtn { get; private set; }
+        public GImage OffImg { get; private set; }
+        public GImage OnImg { get; private set; }
+        public GTextField TitleLabel { get; private set; }
+        public GTextField TimeLabel { get; private set; }
+        public GTextField ContentLabel { get; private set; }
+        public GList ItemList { get; private set; }
+        public GGroup ItemGrp { get; private set; }
+        public GButton BackMainBtn { get; private set; }
+        public GButton ReadBtn { get; private set; }
+        public GButton GetBtn { get; private set; }
+        public GButton DeleteBtn { get; private set; }
+        public GGroup MailDetailsGrp { get; private set; }
+
+        protected override void BindComponents(GComponent panel, IUIViewAdapter adapter)
+        {
+            Background = adapter.CreateNested<CommonBackGroundNestedView>(new FguiNested(panel.GetChild("Background").asCom), true);
+            AddChild(Background);
+            MailList = panel.GetChild("MailList") as GList;
+            MailList.Init(typeof(MailMailPanelItemView), adapter.CreateListItem);
+            MailCountLabel = panel.GetChild("MailCountLabel") as GTextField;
+            EmptyLabel = panel.GetChild("EmptyLabel") as GTextField;
+            AllReadBtn = panel.GetChild("AllReadBtn") as GButton;
+            DeleteReadBtn = panel.GetChild("DeleteReadBtn") as GButton;
+            AllGetBtn = panel.GetChild("AllGetBtn") as GButton;
+            OffImg = panel.GetChild("OffImg") as GImage;
+            OnImg = panel.GetChild("OnImg") as GImage;
+            TitleLabel = panel.GetChild("TitleLabel") as GTextField;
+            TimeLabel = panel.GetChild("TimeLabel") as GTextField;
+            ContentLabel = panel.GetChild("ContentLabel") as GTextField;
+            ItemList = panel.GetChild("ItemList") as GList;
+            ItemList.Init(typeof(CommonItemBaseView), adapter.CreateListItem);
+            ItemGrp = panel.GetChild("ItemGrp") as GGroup;
+            BackMainBtn = panel.GetChild("BackMainBtn") as GButton;
+            ReadBtn = panel.GetChild("ReadBtn") as GButton;
+            GetBtn = panel.GetChild("GetBtn") as GButton;
+            DeleteBtn = panel.GetChild("DeleteBtn") as GButton;
+            MailDetailsGrp = panel.GetChild("MailDetailsGrp") as GGroup;
+
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelVM.Gen.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: Dngc4Sj5U34paQD/15Pwfr/M3VLkD+FHbvdJsWgoarHpM20veeOEeZc=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 34 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelView.cs

@@ -0,0 +1,34 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// 该脚本由模板创建
+/// created by cb 2024
+
+using XGame.Framework.UI;
+
+namespace FL.FGUI
+{
+    public static partial class UIKeys
+    {
+        private static UIKey _MailMailPanel;
+        public static UIKey MailMailPanel => _MailMailPanel ?? (_MailMailPanel = new UIKey("Mail", "MailPanel", typeof(MailMailPanelView)));
+    }
+    public partial class MailMailPanelView : UIView
+    {
+        public static UILayer Layer => UILayer.Popup;
+        protected override void AddController(IUIControllerGroup group)
+        {
+            group.Add(new MailMailPanelCtrl());
+        }
+
+        protected override IUIViewModel CreateViewModel()
+        {
+            return new MailMailPanelVM();
+        }
+
+        protected override void OnDispose()
+        {
+        }
+    }
+}
+

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanel/MailMailPanelView.cs.meta

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

+ 8 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DikavS/7BXIc7yjVQSeQjX+syTh1a2G6ybf2a//NjGE+o6BF1hVmds0=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 84 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemCtrl.cs

@@ -0,0 +1,84 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// 该脚本由模板创建
+/// created by cb 2024
+
+using FairyGUI;
+using FL.Data.Items;
+using FL.Network;
+using System;
+using System.Collections.Generic;
+using XGame.Database;
+using XGame.Framework.Time;
+using XGame.Framework.UI;
+using static UnityEditor.Progress;
+using Item = FL.Data.Items.Item;
+
+namespace FL.FGUI
+{
+    /// <summary>
+    /// UI逻辑处理类
+    /// </summary>
+    /// <typeparam name=""></typeparam>
+    public partial class MailMailPanelItemCtrl : UIController<MailMailPanelItemVM>
+    {
+        private MailInfo _mailInfo;
+        private string _mailId;
+        private List<Item> _itemDataList;
+        protected override void OnEnable(object intent)
+        {
+            AddUIListenres();
+        }
+        protected override void OnDisable()
+        {
+            RemoveUIListenres();
+        }
+        #region UI事件
+        private void AddUIListenres()
+        {
+            VM.PanelEvent.Add(OnClickNode);
+
+        }
+        private void RemoveUIListenres()
+        {
+            VM.PanelEvent.Remove(OnClickNode);
+        }
+        public void OnRefresh(int index, MailInfo mailInfo)
+        {
+            if (_itemDataList == null) _itemDataList = new List<Item>();
+            _mailInfo = mailInfo;
+            _mailId = mailInfo.id;
+            VM.IsGet.selectedIndex = _mailInfo.rts > 0 ? 1 : 0;
+            VM.HasItem.selectedIndex = _mailInfo.items.Count > 0 ? 1 : 0;
+            VM.TitleLabel.text = _mailInfo.title;
+            DateTimeOffset dateTime = DateTimeOffset.FromUnixTimeSeconds(_mailInfo.ets);
+            string yearMonthDay = dateTime.ToString("yyyy-MM-dd hh:mm");
+            VM.TimeLabel.text = yearMonthDay;
+            VM.ContentLabel.text = _mailInfo.items.Count > 0 ? "" : _mailInfo.content;
+            if (_mailInfo.items.Count > 0)
+            {
+                _itemDataList.Clear();
+                for (global::System.Int32 i = 0; i < _mailInfo.items.Count; i++)
+                {
+                    ItemTable itemInfo = ItemTableRepo.Get(_mailInfo.items[i].id);
+                    Item _item = new Item();
+                    _item.Count = _mailInfo.items[i].count.ToString();
+                    _item.Init(itemInfo, _mailInfo.items[i].id);
+                    _itemDataList.Add(_item);
+                }
+                ShowItemsUI(_itemDataList);
+            }
+        }
+        private void ShowItemsUI(List<Item> dataList)
+        {
+            VM.ItemList.BindDatas(dataList);
+        }
+        private void OnClickNode()
+        {
+            EventSingle.Instance.Notify(EventDefine.OpenSingleMail, _mailId);
+        }
+
+        #endregion
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemCtrl.cs.meta

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

+ 40 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemVM.Gen.cs

@@ -0,0 +1,40 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// #PropertyDefineArea 属性定义区域
+/// #PropertyAssignArea 属性赋值区域
+/// #ComponentType 组件类型
+/// #PropertyName 属性名字
+/// 该脚本由模板创建,不可编辑
+/// created by cb 2024
+using FairyGUI;
+using XGame.Framework.FGUI;
+using XGame.Framework.UI;
+
+namespace FL.FGUI
+{
+    /// <summary>
+    /// 该脚本由模板创建,不可修改,不可编辑
+    /// </summary>
+    public partial class MailMailPanelItemVM : FguiViewModel
+    {
+        public Controller IsGet { get; private set; }
+        public Controller HasItem { get; private set; }
+        public GTextField TitleLabel { get; private set; }
+        public GTextField TimeLabel { get; private set; }
+        public GTextField ContentLabel { get; private set; }
+        public GList ItemList { get; private set; }
+
+        protected override void BindComponents(GComponent panel, IUIViewAdapter adapter)
+        {
+            IsGet = panel.GetController("isGet");
+            HasItem = panel.GetController("hasItem");
+            TitleLabel = panel.GetChild("TitleLabel") as GTextField;
+            TimeLabel = panel.GetChild("TimeLabel") as GTextField;
+            ContentLabel = panel.GetChild("ContentLabel") as GTextField;
+            ItemList = panel.GetChild("ItemList") as GList;
+            ItemList.Init(typeof(CommonItemBaseView), adapter.CreateListItem);
+
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemVM.Gen.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: WyhL4XmlUHs0j+9QqTtznSgT7OWhT+y9zA5wig62ABb/EjTSO6J4lpY=
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 21 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.ListItem.cs

@@ -0,0 +1,21 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// 该脚本由模板创建
+/// created by cb 2024
+
+using FairyGUI;
+using FL.Network;
+
+namespace FL.FGUI
+{
+    public partial class MailMailPanelItemView : IGListItemHandle
+    {
+        public int ItemIndex { get; private set; }
+        void IGListItemHandle.OnRefresh(int index, object data)
+        {
+            ItemIndex = index;
+            Ctrl.OnRefresh(index, data as MailInfo);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.ListItem.cs.meta

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

+ 23 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.cs

@@ -0,0 +1,23 @@
+/// #pkgName FGUI包名
+/// #panelName UIPanel名字
+/// #UIName = $"{#pkgName}{#panelName}" UIKey名字
+/// 该脚本由模板创建
+/// created by cb 2024
+
+using XGame.Framework.UI;
+
+namespace FL.FGUI
+{
+    public static partial class UINestedKeys
+    {
+        private static UIKey _MailMailPanelItem;
+        public static UIKey MailMailPanelItem => _MailMailPanelItem ?? (_MailMailPanelItem = new UIKey("Mail", "MailPanelItem", typeof(MailMailPanelItemView)));
+    }
+    public partial class MailMailPanelItemView : NestedView<MailMailPanelItemCtrl, MailMailPanelItemVM>
+    {
+        protected override void OnDispose()
+        {
+        }
+    }
+}
+

+ 11 - 0
Assets/Scripts/Business/Runtime/FGUI/Mail/MailPanelItem/MailMailPanelItemView.cs.meta

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

+ 2 - 1
Assets/Scripts/Business/Runtime/FGUI/Main/HomePanel/MainHomePanelCtrl.cs

@@ -60,8 +60,9 @@ namespace FL.FGUI
         }
         private void OnClickMailBtn(EventContext context)
         {
-            Context.ShowTips("OnClickMailBtn");
+            //Context.ShowTips("OnClickMailBtn");
             VM.SysMenuActive = false;
+            MailService.Instance.RequestMailInto();
         }
         private void OnClickNoticeBtn(EventContext context)
         {

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

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MailDelAllResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UpMailList);
         }
     }
 }

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

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MailDelResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UpMailList);
         }
     }
 }

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

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MailIntoResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.OpenMailUI);
         }
     }
 }

+ 24 - 0
Assets/Scripts/Business/Runtime/Network/Controllers/MailListPushCtrl.cs

@@ -1,3 +1,4 @@
+using FL.Data;
 using XGame.Framework.Network;
 
 namespace FL.Network
@@ -6,6 +7,29 @@ namespace FL.Network
     {
         protected override void OnProcess(MailListPush message, object context)
         {
+            for (int i = 0; i < message.mail_list.Count; i++)
+            {
+                if (MailData.Instance.mailInfo == null)
+                {
+                    MailData.Instance.mailInfo = message.mail_list;
+                    break;
+                }
+                bool hasMail = false;
+                for (global::System.Int32 j = 0; j < MailData.Instance.mailInfo.Count; j++)
+                {
+                    if (message.mail_list[i].id == MailData.Instance.mailInfo[j].id)
+                    {
+                        MailData.Instance.mailInfo[j] = message.mail_list[i];
+                        hasMail = true;
+                        break;
+                    }
+                }
+                if (!hasMail)
+                {
+                    MailData.Instance.mailInfo.Add(message.mail_list[i]);
+                }
+            }
+            //MailData.Instance.mailInfo = message.mail_list;
         }
     }
 }

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

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MailRedAllResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UpMailList);
         }
     }
 }

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

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: CnMZtC6vVy3/t4QhHfqp4j+bNY8+h+n1/mWq86GDRI38hmNxGnHNDDA=
+guid: DHsWsSulW3KJLf1cTLtt5Kx/owmxnglJGV56g0G2vthVK4RznNEWw6U=
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

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

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MailRwdAllResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UpMailList);
         }
     }
 }

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

@@ -6,6 +6,7 @@ namespace FL.Network
     {
         protected override void OnProcess(MailRwdResponse message, object context)
         {
+            EventSingle.Instance.Notify(EventDefine.UpMailList);
         }
     }
 }

+ 2 - 0
Assets/Scripts/Business/Runtime/Nodes/GameMain/UIComponent.cs

@@ -20,6 +20,7 @@ namespace FL.Nodes.GameMain
 
             Context.Tree.AddAsync(NodeKeys.Partners);
             Context.Tree.AddAsync(NodeKeys.DragonEgg);
+            Context.Tree.AddAsync(NodeKeys.Mail);
 
             Context.Tree.Remove(NodeKeys.Login, true);
         }
@@ -35,6 +36,7 @@ namespace FL.Nodes.GameMain
 
             Context.Tree.Remove(NodeKeys.Partners);
             Context.Tree.Remove(NodeKeys.DragonEgg);
+            Context.Tree.Remove(NodeKeys.Mail);
 
             _openKeysMap.Clear();
         }

+ 8 - 0
Assets/Scripts/Business/Runtime/Nodes/Mail.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Cn0YtCP5VXis5fGknf42bnyRoqOSeQZ9JeF7OZZ0NSAZgoB2A1UAHX0=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 31 - 0
Assets/Scripts/Business/Runtime/Nodes/Mail/MailNode.cs

@@ -0,0 +1,31 @@
+using FL.Nodes.Mail;
+using XGame.Framework.Data;
+using XGame.Framework.Nodes;
+
+namespace FL.Nodes
+{
+    public static partial class NodeKeys
+    {
+        private static NodeKey _Mail;
+        public static NodeKey Mail => _Mail ??= new NodeKey("Mail", (uint)NodeGroupDefine.Launch, typeof(MailNode));
+    }
+    public class MailNode : Node
+    {
+        protected override void OnDispose()
+        {
+        }
+
+        protected override void OnInited()
+        {
+        }
+
+        protected override void AddComponent(INodeComponentGroup group)
+        {
+            group.Add(new UIComponent());
+        }
+
+        protected override void AddData(IDataGroup dataGroup)
+        {
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/Nodes/Mail/MailNode.cs.meta

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

+ 22 - 0
Assets/Scripts/Business/Runtime/Nodes/Mail/UIComponent.cs

@@ -0,0 +1,22 @@
+using FL.FGUI;
+using XGame.Framework.Nodes;
+
+namespace FL.Nodes.Mail
+{
+    public class UIComponent : NodeComponent
+    {
+        public override void OnEnable(object intent)
+        {
+            EventSingle.Instance.AddListener(EventDefine.OpenMailUI, OpenMailUI);
+        }
+        public override void OnDisable()
+        {
+            EventSingle.Instance.RemoveListener(EventDefine.OpenMailUI, OpenMailUI);
+        }
+
+        private void OpenMailUI(int eventId, object args)
+        {
+            Context.UI.OpenAsync(UIKeys.MailMailPanel);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Business/Runtime/Nodes/Mail/UIComponent.cs.meta

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

BIN
fl-fgui-project/assets/Common/images/red.png


+ 1 - 0
fl-fgui-project/assets/Common/package.xml

@@ -66,6 +66,7 @@
     <image id="e5qdo" name="huodekuang.png" path="/images/pop/"/>
     <image id="e5qdp" name="huodekuangdiban.png" path="/images/pop/" scale="9grid" scale9grid="14,47,15,2"/>
     <component id="f8ih55" name="PopWin6.xml" path="/Components/PopWin/" exported="true"/>
+    <image id="ux3w20" name="red.png" path="/images/" exported="true"/>
   </resources>
   <publish name="" genCode="true" excluded="q0v63z,ifoa3y"/>
 </packageDescription>

+ 54 - 0
fl-fgui-project/assets/Mail/Components/MailPanelItem.xml

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="653,157" designImage="ui://lrimbxw6gmkrn" designImageOffsetX="-52" designImageOffsetY="-436" designImageLayer="1">
+  <controller name="isGet" pages="1,,2," selected="0">
+    <remark page="0" value="未领取"/>
+    <remark page="1" value="已领取"/>
+  </controller>
+  <controller name="hasItem" pages="0,,1," selected="1">
+    <remark page="0" value="邮件无道具"/>
+    <remark page="1" value="邮件有道具"/>
+  </controller>
+  <displayList>
+    <image id="n26_gmkr" name="n26" src="gmkr3" fileName="Image/kuang01.png" xy="0,0" pivot="0.5,0.5" size="653,157"/>
+    <image id="n27_gmkr" name="n27" src="gmkr6" fileName="Image/xin01.png" xy="29,21" pivot="0.5,0.5" anchor="true">
+      <gearDisplay controller="isGet" pages="1"/>
+    </image>
+    <image id="n28_gmkr" name="n28" src="gmkr7" fileName="Image/xin02.png" xy="29,21" pivot="0.5,0.5" anchor="true">
+      <gearDisplay controller="isGet" pages="2"/>
+    </image>
+    <image id="n34_gmkr" name="n34" src="ux3w20" fileName="images/red.png" pkg="gt6q23qw" xy="638,2">
+      <gearDisplay controller="isGet" pages="1"/>
+    </image>
+    <text id="n21_rgu9" name="TitleLabel" xy="48,21" pivot="0,0.5" anchor="true" size="179,34" fontSize="24" color="#ffffff" align="center" vAlign="middle" leading="0" bold="true" text="这是邮件的标题"/>
+    <text id="n22_rgu9" name="TimeLabel" xy="631,21" pivot="1,0.5" anchor="true" size="177,29" fontSize="20" color="#3d779c" align="center" vAlign="middle" leading="0" bold="true" autoClearText="true" text="2024-10-31 22.22"/>
+    <text id="n30_gmkr" name="ContentLabel" xy="15,55" size="370,86" fontSize="22" color="#3d779c" leading="0" autoSize="ellipsis" bold="true" autoClearText="true" text="歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比">
+      <gearDisplay controller="hasItem" pages="0"/>
+    </text>
+    <list id="n33_gmkr" name="ItemList" xy="16,50" size="730,150" scale="0.65,0.65" layout="row" overflow="scroll" scroll="horizontal" lineGap="24" colGap="12" defaultItem="ui://gt6q23qwme3q0" autoClearItems="true">
+      <gearDisplay controller="hasItem" pages="1"/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+    </list>
+    <image id="n31_gmkr" name="n31" src="gmkr5" fileName="Image/kuangzhezhao.png" xy="0,0" size="653,157">
+      <gearDisplay controller="isGet" pages="2"/>
+    </image>
+    <image id="n32_gmkr" name="n32" src="gmkr2" fileName="Image/gou.png" xy="509,42">
+      <gearDisplay controller="isGet" pages="2"/>
+    </image>
+  </displayList>
+  <scriptData genuitypevl6j1="2" gencodevl6j1="1" genuitypek835z="2" gencodek835z="1" genuitypergu912="2" gencodergu912="1" genuitypegmkrb="2" gencodegmkrb="1"/>
+</component>

BIN
fl-fgui-project/assets/Mail/Image/gou.png


BIN
fl-fgui-project/assets/Mail/Image/kuang01.png


BIN
fl-fgui-project/assets/Mail/Image/kuang02.png


BIN
fl-fgui-project/assets/Mail/Image/kuangzhezhao.png


BIN
fl-fgui-project/assets/Mail/Image/xin01.png


BIN
fl-fgui-project/assets/Mail/Image/xin02.png


+ 74 - 0
fl-fgui-project/assets/Mail/MailPanel.xml

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="756,1344" designImage="ui://lrimbxw6gmkr1" designImageAlpha="42" designImageLayer="1">
+  <displayList>
+    <component id="n0_rgu9" name="Background" src="c95i2g" fileName="BackGroundNested.xml" pkg="gt6q23qw" xy="0,0">
+      <relation target="" sidePair="width-width,height-height"/>
+    </component>
+    <component id="n1_rgu9" name="n1" src="drii3u" fileName="Components/PopWin/PopWin3.xml" pkg="gt6q23qw" xy="14,182" size="728,979" group="n9_8jf2">
+      <Label title="邮件"/>
+    </component>
+    <list id="n5_higq" name="MailList" xy="54,298" size="667,726" group="n9_8jf2" overflow="scroll" lineGap="12" defaultItem="ui://lrimbxw6gmkrb" autoClearItems="true">
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+    </list>
+    <text id="n12_gmkr" name="MailCountLabel" xy="271,258" pivot="0.5,0.5" size="214,34" group="n9_8jf2" fontSize="24" align="center" vAlign="middle" leading="0" bold="true" text="邮件数量:11/100"/>
+    <text id="n29_ftpm" name="EmptyLabel" xy="294,645" pivot="0.5,0.5" size="168,54" group="n9_8jf2" fontSize="40" align="center" vAlign="middle" leading="0" bold="true" text="空空如也"/>
+    <component id="n10_gmkr" name="AllReadBtn" src="sfx62x" fileName="Components/ComButtons/ComBlueBtn.xml" pkg="gt6q23qw" xy="-86,1056" group="n30_ftpm" scale="0.85,0.85">
+      <Button title="一键已读"/>
+    </component>
+    <component id="n13_gmkr" name="DeleteReadBtn" src="sfx62x" fileName="Components/ComButtons/ComBlueBtn.xml" pkg="gt6q23qw" xy="254,1056" group="n30_ftpm" scale="0.85,0.85">
+      <Button title="删除已读"/>
+    </component>
+    <component id="n8_8jf2" name="AllGetBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="595,1056" group="n30_ftpm" scale="0.85,0.85">
+      <Button title="全部领取"/>
+    </component>
+    <group id="n30_ftpm" name="n30" xy="-86,1056" size="953,89" group="n9_8jf2" advanced="true" layout="hz" colGap="70" excludeInvisibles="true">
+      <relation target="" sidePair="center-center"/>
+    </group>
+    <image id="n18_gmkr" name="n18" src="gmkr3" fileName="Image/kuang01.png" xy="54,298" pivot="0.5,0" size="653,729" group="n27_gmkr"/>
+    <image id="n19_gmkr" name="OffImg" src="gmkr6" fileName="Image/xin01.png" xy="83,319" pivot="0.5,0.5" anchor="true" group="n27_gmkr"/>
+    <image id="n20_gmkr" name="OnImg" src="gmkr7" fileName="Image/xin02.png" xy="83,319" pivot="0.5,0.5" anchor="true" group="n27_gmkr"/>
+    <text id="n21_gmkr" name="TitleLabel" xy="102,319" pivot="0,0.5" anchor="true" size="179,34" group="n27_gmkr" fontSize="24" color="#ffffff" align="center" vAlign="middle" leading="0" bold="true" text="这是邮件的标题"/>
+    <text id="n22_gmkr" name="TimeLabel" xy="685,319" pivot="1,0.5" anchor="true" size="177,29" group="n27_gmkr" fontSize="20" color="#3d779c" align="center" vAlign="middle" leading="0" bold="true" autoClearText="true" text="2024-10-31 22.22"/>
+    <text id="n23_gmkr" name="ContentLabel" xy="102,353" size="554,98" group="n27_gmkr" fontSize="24" color="#3d779c" autoSize="height" bold="true" autoClearText="true" text="歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比歪比"/>
+    <image id="n25_gmkr" name="n25" src="gmkr4" fileName="Image/kuang02.png" xy="66,889" size="625,117" group="n28_gmkr"/>
+    <text id="n26_gmkr" name="n2" xy="101,848" size="79,34" group="n28_gmkr" fontSize="24" color="#3d779c" align="center" vAlign="middle" leading="0" bold="true" text="附件:"/>
+    <list id="n24_gmkr" name="ItemList" xy="70,899" size="949,150" group="n28_gmkr" scale="0.65,0.65" layout="row" overflow="scroll" scroll="horizontal" lineGap="24" colGap="12" defaultItem="ui://gt6q23qwme3q0" align="center" vAlign="middle" autoClearItems="true">
+      <item/>
+      <item/>
+      <item/>
+      <item/>
+    </list>
+    <group id="n28_gmkr" name="ItemGrp" xy="66,848" size="953,201" group="n27_gmkr" advanced="true"/>
+    <component id="n14_gmkr" name="BackMainBtn" src="sfx62x" fileName="Components/ComButtons/ComBlueBtn.xml" pkg="gt6q23qw" xy="84,1056" group="n27_gmkr" scale="0.85,0.85">
+      <Button title="返回"/>
+    </component>
+    <component id="n15_gmkr" name="ReadBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="425,1056" group="n27_gmkr" scale="0.85,0.85">
+      <Button title="已读"/>
+    </component>
+    <component id="n16_gmkr" name="GetBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="425,1056" group="n27_gmkr" scale="0.85,0.85">
+      <Button title="领取"/>
+    </component>
+    <component id="n17_gmkr" name="DeleteBtn" src="sfx62z" fileName="Components/ComButtons/ComYellowBtn.xml" pkg="gt6q23qw" xy="425,1056" group="n27_gmkr" scale="0.85,0.85">
+      <Button title="删除"/>
+    </component>
+    <group id="n27_gmkr" name="MailDetailsGrp" xy="54,298" size="965,847" group="n9_8jf2" advanced="true"/>
+    <group id="n9_8jf2" name="n9" xy="-86,182" size="1105,979" advanced="true">
+      <relation target="" sidePair="middle-middle"/>
+    </group>
+  </displayList>
+  <scriptData genuilayerrgu911="4" gencodergu911="1" gencodegmkr0="1" genuilayergmkr0="4"/>
+</component>

+ 14 - 0
fl-fgui-project/assets/Mail/package.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packageDescription id="lrimbxw6">
+  <resources>
+    <component id="gmkr0" name="MailPanel.xml" path="/" exported="true"/>
+    <image id="gmkr2" name="gou.png" path="/Image/"/>
+    <image id="gmkr3" name="kuang01.png" path="/Image/" scale="9grid" scale9grid="25,52,7,8"/>
+    <image id="gmkr4" name="kuang02.png" path="/Image/" scale="9grid" scale9grid="20,30,17,23"/>
+    <image id="gmkr5" name="kuangzhezhao.png" path="/Image/" scale="9grid" scale9grid="20,30,17,23"/>
+    <image id="gmkr6" name="xin01.png" path="/Image/"/>
+    <image id="gmkr7" name="xin02.png" path="/Image/"/>
+    <component id="gmkrb" name="MailPanelItem.xml" path="/Components/" exported="true"/>
+  </resources>
+  <publish name="" genCode="true"/>
+</packageDescription>