소스 검색

支付国家选择

xiaobin 11 달 전
부모
커밋
1552770199
35개의 변경된 파일2793개의 추가작업 그리고 43개의 파일을 삭제
  1. 12 0
      assets/pay/font/ttf.meta
  2. BIN
      assets/pay/font/ttf/Samim-Bold.ttf
  3. 12 0
      assets/pay/font/ttf/Samim-Bold.ttf.meta
  4. BIN
      assets/pay/font/ttf/Samim-Medium.ttf
  5. 12 0
      assets/pay/font/ttf/Samim-Medium.ttf.meta
  6. BIN
      assets/pay/font/ttf/Samim.ttf
  7. 12 0
      assets/pay/font/ttf/Samim.ttf.meta
  8. 1019 14
      assets/pay/prefab/pay.prefab
  9. 126 25
      assets/pay/script/Pay.ts
  10. BIN
      assets/pay/texture/btn_country2.png
  11. 134 0
      assets/pay/texture/btn_country2.png.meta
  12. BIN
      assets/pay/texture/flag_EGYPT.png
  13. 134 0
      assets/pay/texture/flag_EGYPT.png.meta
  14. BIN
      assets/pay/texture/flag_JOR.png
  15. 134 0
      assets/pay/texture/flag_JOR.png.meta
  16. BIN
      assets/pay/texture/flag_KWT.png
  17. 134 0
      assets/pay/texture/flag_KWT.png.meta
  18. BIN
      assets/pay/texture/flag_OMN.png
  19. 134 0
      assets/pay/texture/flag_OMN.png.meta
  20. BIN
      assets/pay/texture/flag_QAT.png
  21. 134 0
      assets/pay/texture/flag_QAT.png.meta
  22. BIN
      assets/pay/texture/flag_SAU.png
  23. 134 0
      assets/pay/texture/flag_SAU.png.meta
  24. BIN
      assets/pay/texture/flag_UAE.png
  25. 134 0
      assets/pay/texture/flag_UAE.png.meta
  26. BIN
      assets/pay/texture/frame_country2.png
  27. 134 0
      assets/pay/texture/frame_country2.png.meta
  28. BIN
      assets/pay/texture/light_select2.png
  29. 134 0
      assets/pay/texture/light_select2.png.meta
  30. BIN
      assets/pay/texture/triangle2.png
  31. 134 0
      assets/pay/texture/triangle2.png.meta
  32. 5 2
      assets/scene/script/NavInfo.ts
  33. 108 0
      assets/scene/script/components/FuncBg.ts
  34. 9 0
      assets/scene/script/components/FuncBg.ts.meta
  35. 4 2
      settings/v2/packages/engine.json

+ 12 - 0
assets/pay/font/ttf.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.1.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "0f823940-bcd6-4fc3-a8d1-da8fcd78e90a",
+  "files": [],
+  "subMetas": {},
+  "userData": {
+    "compressionType": {},
+    "isRemoteBundle": {}
+  }
+}

BIN
assets/pay/font/ttf/Samim-Bold.ttf


+ 12 - 0
assets/pay/font/ttf/Samim-Bold.ttf.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.1",
+  "importer": "ttf-font",
+  "imported": true,
+  "uuid": "5a25ec79-d709-4cf8-ae3e-626eb2d03e20",
+  "files": [
+    ".json",
+    "Samim-Bold.ttf"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/pay/font/ttf/Samim-Medium.ttf


+ 12 - 0
assets/pay/font/ttf/Samim-Medium.ttf.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.1",
+  "importer": "ttf-font",
+  "imported": true,
+  "uuid": "19c0dae3-e2cb-42c1-95e1-b5c514bd528b",
+  "files": [
+    ".json",
+    "Samim-Medium.ttf"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

BIN
assets/pay/font/ttf/Samim.ttf


+ 12 - 0
assets/pay/font/ttf/Samim.ttf.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.0.1",
+  "importer": "ttf-font",
+  "imported": true,
+  "uuid": "dca50568-c298-44d7-b76e-b0083d458aaa",
+  "files": [
+    ".json",
+    "Samim.ttf"
+  ],
+  "subMetas": {},
+  "userData": {}
+}

+ 1019 - 14
assets/pay/prefab/pay.prefab

@@ -47,19 +47,22 @@
       },
       {
         "__id__": 79
+      },
+      {
+        "__id__": 97
       }
     ],
     "_active": true,
     "_components": [
       {
-        "__id__": 97
+        "__id__": 143
       },
       {
-        "__id__": 99
+        "__id__": 145
       }
     ],
     "_prefab": {
-      "__id__": 101
+      "__id__": 147
     },
     "_lpos": {
       "__type__": "cc.Vec3",
@@ -578,7 +581,7 @@
     },
     "_type": 0,
     "_fillType": 0,
-    "_sizeMode": 1,
+    "_sizeMode": 0,
     "_fillCenter": {
       "__type__": "cc.Vec2",
       "x": 0,
@@ -1784,7 +1787,7 @@
       "__id__": 79
     },
     "_children": [],
-    "_active": true,
+    "_active": false,
     "_components": [
       {
         "__id__": 81
@@ -1927,7 +1930,7 @@
     },
     "_lpos": {
       "__type__": "cc.Vec3",
-      "x": 43,
+      "x": 0,
       "y": 4.305000000000007,
       "z": 0
     },
@@ -1971,7 +1974,7 @@
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
-      "x": 0,
+      "x": 0.5,
       "y": 0.5
     },
     "_id": ""
@@ -2047,7 +2050,7 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 86,
+      "width": 0,
       "height": 100
     },
     "_anchorPoint": {
@@ -2109,32 +2112,1034 @@
     "fileId": "62TXASFJ1AQrC9pCF3j/Lw"
   },
   {
-    "__type__": "6977dPN6QBKVKaf9Zi5bfza",
+    "__type__": "cc.Node",
+    "_name": "node_country",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [
+      {
+        "__id__": 98
+      },
+      {
+        "__id__": 106
+      },
+      {
+        "__id__": 130
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 140
+      }
+    ],
+    "_prefab": {
+      "__id__": 142
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 240,
+      "y": 595,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_typeList",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 97
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 99
+      },
+      {
+        "__id__": 101
+      },
+      {
+        "__id__": 103
+      }
+    ],
+    "_prefab": {
+      "__id__": 105
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 28,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 1
+      "__id__": 98
     },
     "_enabled": true,
     "__prefab": {
+      "__id__": 100
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 206,
+      "height": 100
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 1
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "cfI6vjdKdA5LsUyOlkphm4"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
       "__id__": 98
     },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 102
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "d710df68-cd73-4916-b083-1f4d6dfef876@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 1,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
     "_id": ""
   },
   {
     "__type__": "cc.CompPrefabInfo",
-    "fileId": "11OTZnl0ZJm6/UVmGwP1C7"
+    "fileId": "71WB+ozppGCrkazCvwW+M7"
   },
   {
-    "__type__": "cc.UITransform",
+    "__type__": "cc.Layout",
     "_name": "",
     "_objFlags": 0,
     "node": {
-      "__id__": 1
+      "__id__": 98
     },
     "_enabled": true,
     "__prefab": {
-      "__id__": 100
+      "__id__": 104
+    },
+    "_resizeMode": 1,
+    "_layoutType": 2,
+    "_cellSize": {
+      "__type__": "cc.Size",
+      "width": 40,
+      "height": 40
+    },
+    "_startAxis": 0,
+    "_paddingLeft": 0,
+    "_paddingRight": 0,
+    "_paddingTop": 60,
+    "_paddingBottom": 10,
+    "_spacingX": 0,
+    "_spacingY": 5,
+    "_verticalDirection": 1,
+    "_horizontalDirection": 0,
+    "_constraint": 0,
+    "_constraintNum": 2,
+    "_affectedByScale": false,
+    "_isAlign": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d6sePABWlDB4/uBGzMzLOK"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "3dodArsSlMrpGtxJDHTlE1"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_type",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 97
+    },
+    "_children": [
+      {
+        "__id__": 107
+      },
+      {
+        "__id__": 113
+      },
+      {
+        "__id__": 119
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 125
+      },
+      {
+        "__id__": 127
+      }
+    ],
+    "_prefab": {
+      "__id__": 129
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_kuang",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 106
+    },
+    "_children": [],
+    "_active": false,
+    "_components": [
+      {
+        "__id__": 108
+      },
+      {
+        "__id__": 110
+      }
+    ],
+    "_prefab": {
+      "__id__": 112
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 107
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 109
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 206,
+      "height": 58
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "56KA1XYcJMB7EFhUG/MGMk"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 107
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 111
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": false,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "58/BH858xPA4v5Y8Ew7dTG"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "844YkHmjFJNrRYjFe/PQyw"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "sp_type",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 106
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 114
+      },
+      {
+        "__id__": 116
+      }
+    ],
+    "_prefab": {
+      "__id__": 118
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": -65,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 113
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 115
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 62,
+      "height": 39
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "2boRKe8LtBsrYs1k8/79dX"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 113
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 117
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": null,
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 1,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "be+a2Xo89MAIb2AZBvmJbU"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "50LaTocdlJhr4o0OsinB+J"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "lb_type",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 106
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 120
+      },
+      {
+        "__id__": 122
+      }
+    ],
+    "_prefab": {
+      "__id__": 124
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 18.101,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 119
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 121
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 100,
+      "height": 37.8
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "9co+l1dE1HVrXz2COajDwB"
+  },
+  {
+    "__type__": "cc.Label",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 119
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 123
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_string": "",
+    "_horizontalAlign": 1,
+    "_verticalAlign": 1,
+    "_actualFontSize": 25,
+    "_fontSize": 25,
+    "_fontFamily": "Arial",
+    "_lineHeight": 30,
+    "_overflow": 1,
+    "_enableWrapText": false,
+    "_font": {
+      "__uuid__": "19c0dae3-e2cb-42c1-95e1-b5c514bd528b",
+      "__expectedType__": "cc.TTFFont"
+    },
+    "_isSystemFontUsed": false,
+    "_spacingX": 0,
+    "_isItalic": false,
+    "_isBold": false,
+    "_isUnderline": false,
+    "_underlineHeight": 2,
+    "_cacheMode": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "86E2zaellLE5xy/ROLCDei"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "d1GdFBRF9GD4iWgBJc0Rl4"
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 106
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 126
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 206,
+      "height": 58
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "b1HpxEU+xGJbmJ9hpfgOYv"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 106
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 128
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "44e52352-f783-4f6c-a686-975c5a6c4235@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 2,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": false,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "8dcnNFwOtBTIntEZ4l1UaE"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "4duGjGs1FKh7vVaqGABwtC"
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "node_arrows",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 97
+    },
+    "_children": [
+      {
+        "__id__": 131
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 137
+      }
+    ],
+    "_prefab": {
+      "__id__": 139
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": 1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "sp_arrows",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 130
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 132
+      },
+      {
+        "__id__": 134
+      }
+    ],
+    "_prefab": {
+      "__id__": 136
+    },
+    "_lpos": {
+      "__type__": "cc.Vec3",
+      "x": 80.684,
+      "y": 0,
+      "z": 0
+    },
+    "_lrot": {
+      "__type__": "cc.Quat",
+      "x": 0,
+      "y": 0,
+      "z": 0,
+      "w": 1
+    },
+    "_lscale": {
+      "__type__": "cc.Vec3",
+      "x": 1,
+      "y": -1,
+      "z": 1
+    },
+    "_layer": 1073741824,
+    "_euler": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 131
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 133
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 20,
+      "height": 20
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "8a8tjK9DNB45dCyh4tV35b"
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 131
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 135
+    },
+    "_customMaterial": null,
+    "_srcBlendFactor": 2,
+    "_dstBlendFactor": 4,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_spriteFrame": {
+      "__uuid__": "b55c79ba-32db-4a70-8511-585f48f81174@f9941",
+      "__expectedType__": "cc.SpriteFrame"
+    },
+    "_type": 0,
+    "_fillType": 0,
+    "_sizeMode": 2,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": false,
+    "_useGrayscale": false,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "1b/0Zl6yxHeJQvnWLnxKMc"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "f60gQVXjRKFoTrXI3sXB9p"
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 130
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 138
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 206,
+      "height": 58
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "d8dkzY7IFAIrJVCmzQ+fvi"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "93Ho+OTZpKWbCS+G0h5fB9"
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 97
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 141
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 206,
+      "height": 58
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "4dmrcFdWhMAIMZUM8PEbq3"
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "693uyjoChDW4l5R+YpcPNS"
+  },
+  {
+    "__type__": "6977dPN6QBKVKaf9Zi5bfza",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 144
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.CompPrefabInfo",
+    "fileId": "11OTZnl0ZJm6/UVmGwP1C7"
+  },
+  {
+    "__type__": "cc.UITransform",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "__prefab": {
+      "__id__": 146
     },
     "_contentSize": {
       "__type__": "cc.Size",

+ 126 - 25
assets/pay/script/Pay.ts

@@ -1,9 +1,10 @@
 
-import { _decorator, Component, EditBox, game, instantiate, Label, Node, Prefab } from 'cc';
+import { _decorator, Button, Component, EditBox, game, instantiate, Label, Node, Sprite, Tween, tween, Vec3} from 'cc';
 import { UtilsPanel } from '../../scene/script/UtilsPanel';
 import { Generate } from '../../scene/script/components/Generate';
 import { Config, nav_info } from '../../scene/script/NavInfo';
 import { WebRequest } from '../../scene/script/WebRequest';
+import { funcBg } from '../../scene/script/components/FuncBg';
 const { ccclass, property } = _decorator;
 
 export type RateInfo = {
@@ -15,11 +16,20 @@ export type RateInfo = {
 //money * rate * (1 + Ratio) = gold;
 export type ShopData = {
     ProductConfig: RateInfo[]
+    ExchangeRate: ExchangeRate[]
 }
 
+//国家信息
+export type ExchangeRate = {
+    Currency: string  // 币种
+    CountryName: string  // 国家名称
+    CountryCode: string  // 国家编码
+    Rate: number  //汇率
+    Sort: number  //显示顺序
+}
 @ccclass('Pay')
 export class Pay extends Component {
-    
+
     // public static clacGold(money: number){
     //     let config = Pay.data_shop;
     //     if(!config || money < config.MinMoney)return 0;
@@ -30,61 +40,84 @@ export class Pay extends Component {
     //     }
     //     return Math.floor(money * (ratio_info.Ratio + 1) * config.Rate);
     // }
-    public static buy(prod_id:string, price:number){
+
+    public static buy(prod_id: string, price: number, currency: string = "SAU") {
         let user_id = Pay.user_id;
-        if(user_id.length == 0){
+        if (user_id.length == 0) {
             nav_info.scene.showTip("يرجى إدخال ال ID حقك");
             return;
         }
         let url = nav_info.is_test ? Config.url_pay_test : Config.url_pay;
-        let final_url = `${url}?UserID=${user_id}&Price=${price}&ProductID=${prod_id}&PartnerID=110&Currency=SAR&Country=SA&T=${new Date().getTime()}`;
+        let final_url = `${url}?UserID=${user_id}&Price=${price}&ProductID=${prod_id}&PartnerID=110&Currency=${currency}&Country=SA&T=${new Date().getTime()}`;
         window.open(final_url);
     }
-    public static user_id = "";
-    public static data_shop:ShopData = null;
 
+    public static user_id = "";
+    public static data_shop: ShopData = null;
     private node_descid: Node = null;
-	private node_buy: Node = null;
-	private gene_items: Generate = null;
+    private node_buy: Node = null;
+    private gene_items: Generate = null;
     private node_light: Node = null;
-	private lb_money: Label = null;
-	private edit_id: EditBox = null;
-    
+    private lb_money: Label = null;
+    private edit_id: EditBox = null;
     private select_data: RateInfo = null;
+    public currentCountry: ExchangeRate = null;
+    public typeIndex: number = 0;
+    private node_typeList: Node = null;
+    private sp_arrows: Sprite = null;
+    private node_type: Node = null;
+    private lb_type: Label = null;
+    private sp_type: Sprite = null;
+    private node_arrows: Node = null;
 
-	protected start(){
-		UtilsPanel.getAllNeedCom(this, this.node, true);
+    protected start() {
+        UtilsPanel.getAllNeedCom(this, this.node, true);
         UtilsPanel.addBtnEvent(this.node_buy, this.onBuy, this);
+        UtilsPanel.addBtnEvent(this.node_arrows, this.onArrowsClick, this).transition = Button.Transition.NONE;
+
         // @ts-ignore
         game.on("select_item", this.onSelect, this);
         let url = nav_info.is_test ? Config.url_product_test : Config.url_product;
         // this.test();return;
-        new WebRequest().getData(url, "", (succ:boolean,content:string)=>{
-            if(succ){
-                let info:ShopData = Pay.data_shop = JSON.parse(content);
+        new WebRequest().getData(url, "", (succ: boolean, content: string) => {
+            if (succ) {
+                let info: ShopData = Pay.data_shop = JSON.parse(content);
                 // console.log("fwef:",info);
                 this.gene_items.initData(info.ProductConfig);
                 this.node_light.setSiblingIndex(-1);
+                this.createTypeList();
             }
         }, false);
-	}
-    private onEditChange(){
+    }
+
+    private onEditChange() {
         this.node_descid.active = this.edit_id.string.length == 0;
         Pay.user_id = this.edit_id.string;
     }
-    private onSelect(info: RateInfo, node:Node){
+
+    private onSelect(info: RateInfo, node: Node) {
         this.select_data = info;
-        this.lb_money.string = "" + info.PayPrice
+        this.upSelectPrice();
         this.node_light.active = true;
         this.node_light.setPosition(node.position);
     }
-    private onBuy(){
-        if(this.select_data == null){
+
+    private upSelectPrice() {
+        if (!this.select_data) return;
+        //取字符串保留2位小数(不足补0)
+        this.lb_money.string = `${(this.select_data.PayPrice * this.currentCountry.Rate).toFixed(2)} ${this.currentCountry.CountryCode}`;
+    }
+
+    private onBuy() {
+        if (this.select_data == null) {
             nav_info.scene.showTip("يرجى اختيار الباقة التي ترغب بشرائها");
             return;
         }
-        Pay.buy(this.select_data.ProductID, this.select_data.PayPrice);
+        //计算汇率 取number类型整数 
+        let price = parseFloat((this.select_data.PayPrice * this.currentCountry.Rate).toFixed(2));
+        Pay.buy(this.select_data.ProductID, price, this.currentCountry.CountryCode);
     }
+
     // private test(){
     //     let info = Pay.data_shop = {"MinMoney": 450, "Rate": 10000, "DefaultPrice": [1000,3000,6000,8000,10000],
     //     	"RatioConfig": [
@@ -97,5 +130,73 @@ export class Pay extends Component {
     //     	]}
     //     this.gene_items.initData(new Array(info.DefaultPrice.length + 1));
     // }
-    
+
+    //刷新国家列表
+    private createTypeList() {
+        if (this.node_typeList.children.length > 0) return;
+        Pay.data_shop.ExchangeRate.forEach((item, index) => {
+            let temp = instantiate(this.node_type);
+            temp.name = index.toString();
+            temp.getComponent(Sprite).spriteFrame = null;
+            temp.children[0].active = this.typeIndex === index;
+            UtilsPanel.setItemIcon(nav_info.bundle, `texture/flag_${item.Currency}/spriteFrame`, temp.children[1].getComponent(Sprite));
+            temp.children[2].getComponent(Label).string = item.CountryName;
+            this.node_typeList.addChild(temp);
+            UtilsPanel.clearBtnEvent(temp, false);
+            UtilsPanel.addBtnEvent2(temp, 'onSelectType', this, index).transition = Button.Transition.NONE;
+        });
+        this.upTypeList();
+    }
+
+    //刷新选中的类型
+    private upTypeList() {
+        this.node_typeList.active = false;
+        this.sp_arrows.node.toScaleY(-1);
+        this.currentCountry = Pay.data_shop.ExchangeRate[this.typeIndex];
+        this.lb_type.string = this.currentCountry.CountryName;
+        UtilsPanel.setItemIcon(nav_info.bundle, `texture/flag_${this.currentCountry.Currency}/spriteFrame`, this.sp_type);
+        //刷新金币
+        this.upSelectPrice();
+    }
+
+    //选择 typeList
+    private onSelectType(event: Event, customEventData: string) {
+        let index = parseInt(customEventData);
+        if (this.typeIndex == index) return;
+        this.typeIndex = index;
+        this.upTypeList();
+    }
+
+    //显示隐藏 typeList
+    private onArrowsClick() {
+        let isOpen = !this.node_typeList.active;
+        Tween.stopAllByTarget(this.node_typeList);
+        if (isOpen) {
+            this.node_typeList.toScaleY(0);
+            this.node_typeList.active = true;
+            tween(this.node_typeList)
+                .to(0.2, { scale: new Vec3(1, 1, 1) }, {
+                    onComplete: () => {
+
+                    }
+                })
+                .start();
+        } else {
+            tween(this.node_typeList)
+                .to(0.2, { scale: new Vec3(1, 0.1, 1) }, {
+                    onComplete: () => {
+                        this.node_typeList.active = false;
+                    }
+                })
+                .start();
+        }
+        this.sp_arrows.node.toScaleY(isOpen ? 1 : -1);
+        if (isOpen) {
+            funcBg.add(this.node_typeList, this.onArrowsClick.bind(this), 0, 0);
+            this.node_typeList.children.forEach((item, index) => {
+                item.children[0].active = this.typeIndex == index;
+            });
+        }
+    }
+
 }

BIN
assets/pay/texture/btn_country2.png


+ 134 - 0
assets/pay/texture/btn_country2.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "44e52352-f783-4f6c-a686-975c5a6c4235",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "44e52352-f783-4f6c-a686-975c5a6c4235@6c48a",
+      "displayName": "btn_country2",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "44e52352-f783-4f6c-a686-975c5a6c4235",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "44e52352-f783-4f6c-a686-975c5a6c4235@f9941",
+      "displayName": "btn_country2",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 2,
+        "trimY": 1,
+        "width": 202,
+        "height": 56,
+        "rawWidth": 206,
+        "rawHeight": 58,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -101,
+            -28,
+            0,
+            101,
+            -28,
+            0,
+            -101,
+            28,
+            0,
+            101,
+            28,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            2,
+            57,
+            204,
+            57,
+            2,
+            1,
+            204,
+            1
+          ],
+          "nuv": [
+            0.009708737864077669,
+            0.017241379310344827,
+            0.9902912621359223,
+            0.017241379310344827,
+            0.009708737864077669,
+            0.9827586206896551,
+            0.9902912621359223,
+            0.9827586206896551
+          ],
+          "minPos": [
+            -101,
+            -28,
+            0
+          ],
+          "maxPos": [
+            101,
+            28,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "44e52352-f783-4f6c-a686-975c5a6c4235@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "44e52352-f783-4f6c-a686-975c5a6c4235@f9941"
+  }
+}

BIN
assets/pay/texture/flag_EGYPT.png


+ 134 - 0
assets/pay/texture/flag_EGYPT.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "1d83c890-9ac6-441b-b317-394ba0f7be7d",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "1d83c890-9ac6-441b-b317-394ba0f7be7d@6c48a",
+      "displayName": "flag_EGYPT",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1d83c890-9ac6-441b-b317-394ba0f7be7d",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "1d83c890-9ac6-441b-b317-394ba0f7be7d@f9941",
+      "displayName": "flag_EGYPT",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "1d83c890-9ac6-441b-b317-394ba0f7be7d@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "1d83c890-9ac6-441b-b317-394ba0f7be7d@f9941"
+  }
+}

BIN
assets/pay/texture/flag_JOR.png


+ 134 - 0
assets/pay/texture/flag_JOR.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "89054db2-730f-4fe9-831f-c1e8efd4cd95",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "89054db2-730f-4fe9-831f-c1e8efd4cd95@6c48a",
+      "displayName": "flag_JOR",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "89054db2-730f-4fe9-831f-c1e8efd4cd95",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "89054db2-730f-4fe9-831f-c1e8efd4cd95@f9941",
+      "displayName": "flag_JOR",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "89054db2-730f-4fe9-831f-c1e8efd4cd95@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "89054db2-730f-4fe9-831f-c1e8efd4cd95@f9941"
+  }
+}

BIN
assets/pay/texture/flag_KWT.png


+ 134 - 0
assets/pay/texture/flag_KWT.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "57551b56-5713-447c-9a4f-3ac6cf28bafe",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "57551b56-5713-447c-9a4f-3ac6cf28bafe@6c48a",
+      "displayName": "flag_KWT",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "57551b56-5713-447c-9a4f-3ac6cf28bafe",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "57551b56-5713-447c-9a4f-3ac6cf28bafe@f9941",
+      "displayName": "flag_KWT",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "57551b56-5713-447c-9a4f-3ac6cf28bafe@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "57551b56-5713-447c-9a4f-3ac6cf28bafe@f9941"
+  }
+}

BIN
assets/pay/texture/flag_OMN.png


+ 134 - 0
assets/pay/texture/flag_OMN.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "352dc149-62ea-4ff9-9bfd-82fa1a74a70f",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "352dc149-62ea-4ff9-9bfd-82fa1a74a70f@6c48a",
+      "displayName": "flag_OMN",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "352dc149-62ea-4ff9-9bfd-82fa1a74a70f",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "352dc149-62ea-4ff9-9bfd-82fa1a74a70f@f9941",
+      "displayName": "flag_OMN",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "352dc149-62ea-4ff9-9bfd-82fa1a74a70f@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "352dc149-62ea-4ff9-9bfd-82fa1a74a70f@f9941"
+  }
+}

BIN
assets/pay/texture/flag_QAT.png


+ 134 - 0
assets/pay/texture/flag_QAT.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "12e6d432-8f8d-40b6-a533-f63513863fe3",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "12e6d432-8f8d-40b6-a533-f63513863fe3@6c48a",
+      "displayName": "flag_QAT",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "12e6d432-8f8d-40b6-a533-f63513863fe3",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "12e6d432-8f8d-40b6-a533-f63513863fe3@f9941",
+      "displayName": "flag_QAT",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "12e6d432-8f8d-40b6-a533-f63513863fe3@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "12e6d432-8f8d-40b6-a533-f63513863fe3@f9941"
+  }
+}

BIN
assets/pay/texture/flag_SAU.png


+ 134 - 0
assets/pay/texture/flag_SAU.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "61cb5e51-0781-412d-90c0-5577ae7aa232",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "61cb5e51-0781-412d-90c0-5577ae7aa232@6c48a",
+      "displayName": "flag_SAU",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "61cb5e51-0781-412d-90c0-5577ae7aa232",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "61cb5e51-0781-412d-90c0-5577ae7aa232@f9941",
+      "displayName": "flag_SAU",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "61cb5e51-0781-412d-90c0-5577ae7aa232@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "61cb5e51-0781-412d-90c0-5577ae7aa232@f9941"
+  }
+}

BIN
assets/pay/texture/flag_UAE.png


+ 134 - 0
assets/pay/texture/flag_UAE.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "4ab031f0-cff1-4dfa-b923-ebb2f632443c",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "4ab031f0-cff1-4dfa-b923-ebb2f632443c@6c48a",
+      "displayName": "flag_UAE",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "4ab031f0-cff1-4dfa-b923-ebb2f632443c",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "4ab031f0-cff1-4dfa-b923-ebb2f632443c@f9941",
+      "displayName": "flag_UAE",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": -0.5,
+        "trimX": 0,
+        "trimY": 1,
+        "width": 62,
+        "height": 39,
+        "rawWidth": 62,
+        "rawHeight": 40,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -31,
+            -19.5,
+            0,
+            31,
+            -19.5,
+            0,
+            -31,
+            19.5,
+            0,
+            31,
+            19.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            39,
+            62,
+            39,
+            0,
+            0,
+            62,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            0.975,
+            1,
+            0.975
+          ],
+          "minPos": [
+            -31,
+            -19.5,
+            0
+          ],
+          "maxPos": [
+            31,
+            19.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "4ab031f0-cff1-4dfa-b923-ebb2f632443c@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "4ab031f0-cff1-4dfa-b923-ebb2f632443c@f9941"
+  }
+}

BIN
assets/pay/texture/frame_country2.png


+ 134 - 0
assets/pay/texture/frame_country2.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "d710df68-cd73-4916-b083-1f4d6dfef876",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "d710df68-cd73-4916-b083-1f4d6dfef876@6c48a",
+      "displayName": "frame_country2",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "d710df68-cd73-4916-b083-1f4d6dfef876",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "d710df68-cd73-4916-b083-1f4d6dfef876@f9941",
+      "displayName": "frame_country2",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 100,
+        "height": 100,
+        "rawWidth": 100,
+        "rawHeight": 100,
+        "borderTop": 36,
+        "borderBottom": 36,
+        "borderLeft": 26,
+        "borderRight": 33,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -50,
+            -50,
+            0,
+            50,
+            -50,
+            0,
+            -50,
+            50,
+            0,
+            50,
+            50,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            100,
+            100,
+            100,
+            0,
+            0,
+            100,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -50,
+            -50,
+            0
+          ],
+          "maxPos": [
+            50,
+            50,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "d710df68-cd73-4916-b083-1f4d6dfef876@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "d710df68-cd73-4916-b083-1f4d6dfef876@f9941"
+  }
+}

BIN
assets/pay/texture/light_select2.png


+ 134 - 0
assets/pay/texture/light_select2.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788@6c48a",
+      "displayName": "light_select2",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788@f9941",
+      "displayName": "light_select2",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 206,
+        "height": 58,
+        "rawWidth": 206,
+        "rawHeight": 58,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -103,
+            -29,
+            0,
+            103,
+            -29,
+            0,
+            -103,
+            29,
+            0,
+            103,
+            29,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            58,
+            206,
+            58,
+            0,
+            0,
+            206,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -103,
+            -29,
+            0
+          ],
+          "maxPos": [
+            103,
+            29,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "f92812e8-c552-4ae4-8e9d-cc8f7c73f788@f9941"
+  }
+}

BIN
assets/pay/texture/triangle2.png


+ 134 - 0
assets/pay/texture/triangle2.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.25",
+  "importer": "image",
+  "imported": true,
+  "uuid": "b55c79ba-32db-4a70-8511-585f48f81174",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "b55c79ba-32db-4a70-8511-585f48f81174@6c48a",
+      "displayName": "triangle2",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0,
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "b55c79ba-32db-4a70-8511-585f48f81174",
+        "visible": false
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "b55c79ba-32db-4a70-8511-585f48f81174@f9941",
+      "displayName": "triangle2",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 2,
+        "trimY": 4,
+        "width": 16,
+        "height": 12,
+        "rawWidth": 20,
+        "rawHeight": 20,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -8,
+            -6,
+            0,
+            8,
+            -6,
+            0,
+            -8,
+            6,
+            0,
+            8,
+            6,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            2,
+            16,
+            18,
+            16,
+            2,
+            4,
+            18,
+            4
+          ],
+          "nuv": [
+            0.1,
+            0.2,
+            0.9,
+            0.2,
+            0.1,
+            0.8,
+            0.9,
+            0.8
+          ],
+          "minPos": [
+            -8,
+            -6,
+            0
+          ],
+          "maxPos": [
+            8,
+            6,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "b55c79ba-32db-4a70-8511-585f48f81174@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.11",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "b55c79ba-32db-4a70-8511-585f48f81174@f9941"
+  }
+}

+ 5 - 2
assets/scene/script/NavInfo.ts

@@ -56,8 +56,11 @@ export class Config{
     public static download_ios_url = "https://apps.apple.com/sa/app/%D8%A8%D9%84%D9%88%D8%AA-%D8%A7%D9%84%D9%85%D8%A7%D8%B1%D8%AF/id6451100112";
     public static downlaod_google_url = `https://play.google.com/store/apps/details?id=chior.mideast.thirdd&referrer=website`;
     //充值
-    public static url_product = "https://arabgames.com:8088/livepay/getProducts?H5Extra=666888";
-    public static url_pay = "https://arabgames.com:8088/topay/h5PayOrder";
+    // public static url_product = "https://arabgames.com:8088/livepay/getProducts?H5Extra=666888";
+    // public static url_pay = "https://arabgames.com:8088/topay/h5PayOrder";
+    public static url_product = "https://balootyfb.almarid77.com:8088/topay/getProducts?H5Extra=666888";
+    public static url_pay = "https://balootyfb.almarid77.com:8088/topay/h5PayOrder";
+
     public static url_product_test = "http://139.224.253.42:8089/livepay/getProducts?H5Extra=666888";
     public static url_pay_test = "";
 

+ 108 - 0
assets/scene/script/components/FuncBg.ts

@@ -0,0 +1,108 @@
+import { _decorator, Color, Component, isValid, Layers, Node, NodeEventType, Sprite, SpriteFrame, Texture2D, tween, Tween, UIOpacity, UITransform, view } from 'cc';
+const { ccclass, property } = _decorator;
+
+export enum FuncBgType {
+    None,
+    Single,//打开一个 会关闭前一个
+    Series,//可同时打开多个,会同时关闭
+}
+@ccclass('FuncBg')
+export class FuncBg extends Component {
+    singleTar: Node = null
+    SeriesTarList: Array<Node> = []
+    /** 添加功能背景,如全屏关闭的遮罩背景
+     * @param node 目标节点(背景在它之下)
+     * @param func 具体功能 
+     * @param mode 模式,参考 FuncBgType
+     * @param opacity 0 为透明背景 
+     * @param useCapture 有其他上层的点击遮挡时 是否穿透
+     */
+    public add(node: Node, func: Function, mode: FuncBgType = 0, opacity = 100, useCapture = false) {
+        let event = () => {
+            if (mode == FuncBgType.Single) this.singleTar = null
+            if (mode == FuncBgType.Series) this.clsoeSeries(node)
+            if (!isValid(bg)) {
+                console.warn("FuncBG is not find");
+                return;
+            }
+            Tween.stopAllByTarget(bg)
+            func && func()
+            tween(bg.getComponent(UIOpacity)).to(time, { opacity: 0 }).call(_ => {
+                bg.destroy()
+            }).start()
+            console.log("关闭功能背景");
+            node.off("CLOSEBG")
+        }
+        const time = 0.05
+        let bg = this.newBg(node)
+        bg.once(NodeEventType.TOUCH_END, event, null, useCapture)
+        tween(bg.getComponent(UIOpacity)).to(time, { opacity: opacity / 255 }).start()
+        node.once("CLOSEBG", () => { event(); })
+        node.once(NodeEventType.NODE_DESTROYED, () => {
+            // console.warn("BG 销毁");
+            isValid(bg) && bg.destroy()
+        })
+        node.once(NodeEventType.ACTIVE_IN_HIERARCHY_CHANGED, () => {
+            // console.warn("BG 隐藏");
+            isValid(bg) && bg.destroy()
+        })
+        if (mode == FuncBgType.Single) {
+            this.clsoeLastSingle(node)
+        } else if (mode == FuncBgType.Series) {
+            this.SeriesTarList.push(node)
+        }
+    }
+    newBg(tar: Node): Node {
+        let bg = new Node("FuncBG");
+        bg.layer = Layers.Enum.DEFAULT;
+        let ui = bg.addComponent(UITransform);
+        let sp = bg.addComponent(Sprite);
+        let op = bg.addComponent(UIOpacity);
+        sp.sizeMode = Sprite.SizeMode.CUSTOM;
+
+
+        // 1. 创建纯黑纹理
+        const texture = new Texture2D();
+        texture.create(1, 1, Texture2D.PixelFormat.RGBA8888);
+        texture.uploadData(new Uint8Array([0, 0, 0, 255])); // R,G,B,A 全0是纯黑
+
+        // 2. 创建SpriteFrame并绑定纹理
+        const spriteFrame = new SpriteFrame();
+        spriteFrame.texture = texture;
+        sp.spriteFrame = spriteFrame;
+        sp.color = new Color(0, 0, 0, 255);
+        ui.width = view.getVisibleSize().width;
+        ui.height = 1600//view.getVisibleSize().height;
+        bg.setPosition(ui.width / 2, ui.height / 2)
+        bg.setParent(tar.parent, true)
+        bg.setSiblingIndex(tar.getSiblingIndex())
+        bg.toOpacity(0)
+        op.opacity = 0
+        return bg
+    }
+    /**关闭上一个 */
+    clsoeLastSingle(node) {
+        if (isValid(this.singleTar)) {
+            this.singleTar.emit("CLOSEBG")
+        }
+        this.singleTar = node
+    }
+    /**全部关闭 */
+    clsoeSeries(node) {
+        let index = this.SeriesTarList.indexOf(node)
+        if (index < 0) return
+        this.SeriesTarList.splice(index, 1)
+        this.SeriesTarList.forEach((tar) => {
+            tar.emit("CLOSEBG")
+        })
+    }
+
+    /** 手动关闭功能背景
+   * @param node 目标节点
+   */
+    public close(node: Node) {
+        node.emit("CLOSEBG")
+    }
+}
+export const funcBg = new FuncBg()
+

+ 9 - 0
assets/scene/script/components/FuncBg.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.23",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "853080d3-82f4-4d01-b425-c4af5e28dc3c",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 4 - 2
settings/v2/packages/engine.json

@@ -15,7 +15,7 @@
         "_value": true
       },
       "animation": {
-        "_value": false
+        "_value": true
       },
       "skeletal-animation": {
         "_value": false
@@ -92,7 +92,7 @@
         "_value": false
       },
       "tween": {
-        "_value": false
+        "_value": true
       },
       "terrain": {
         "_value": false
@@ -115,9 +115,11 @@
     },
     "includeModules": [
       "2d",
+      "animation",
       "base",
       "gfx-webgl",
       "gfx-webgl2",
+      "tween",
       "ui"
     ],
     "noDeprecatedFeatures": {