Procházet zdrojové kódy

Merge branch 'master' of http://git.izouma.com/zc/airpg-front

panhui před 2 roky
rodič
revize
37df44ab53
32 změnil soubory, kde provedl 1105 přidání a 24 odebrání
  1. 110 0
      assets/image/切图/particle_texture (1).plist
  2. 86 0
      assets/image/切图/particle_texture (1).plist.meta
  3. binární
      assets/image/切图/particle_texture.png
  4. 134 0
      assets/image/切图/particle_texture.png.meta
  5. binární
      assets/image/切图/toupiaojindu.png
  6. 134 0
      assets/image/切图/toupiaojindu.png.meta
  7. 9 0
      assets/particle.meta
  8. binární
      assets/particle/frame.png
  9. 134 0
      assets/particle/frame.png.meta
  10. 116 0
      assets/particle/votes1.plist
  11. 86 0
      assets/particle/votes1.plist.meta
  12. 59 16
      assets/scripts/OptionsCtr.ts
  13. 1 1
      assets/scripts/StoryPannelCtr.ts
  14. 29 3
      assets/scripts/gameCtr.ts
  15. 2 2
      assets/scripts/socket/processCtr.ts
  16. 77 0
      assets/scripts/votes.ts
  17. 9 0
      assets/scripts/votes.ts.meta
  18. 0 0
      build/web-mobile/assets/main/config.json
  19. 0 1
      build/web-mobile/assets/main/import/01/01e6fc214.json
  20. 0 0
      build/web-mobile/assets/main/import/03/0391190fd.json
  21. 0 0
      build/web-mobile/assets/main/import/03/03e0d1faa.json
  22. 0 0
      build/web-mobile/assets/main/import/04/04577c584.json
  23. 1 0
      build/web-mobile/assets/main/import/06/067a91548.json
  24. 0 0
      build/web-mobile/assets/main/import/0f/0f93b7a9b.json
  25. 1 0
      build/web-mobile/assets/main/import/13/13e0d1faa.json
  26. 0 1
      build/web-mobile/assets/main/import/1f/1f93b7a9b.json
  27. 1 0
      build/web-mobile/assets/main/import/37/378e01e6-876c-4568-9b0a-237a3df73242.json
  28. 0 0
      build/web-mobile/assets/main/index.js
  29. binární
      build/web-mobile/assets/main/native/13/13e0d1faa.png
  30. binární
      build/web-mobile/assets/main/native/1f/1f93b7a9b.png
  31. binární
      build/web-mobile/assets/main/native/37/378e01e6-876c-4568-9b0a-237a3df73242.png
  32. 116 0
      build/web-mobile/assets/main/native/e6/e68687bb-d96b-444c-a7a1-ce2d6b8c1f50.plist

+ 110 - 0
assets/image/切图/particle_texture (1).plist

@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>angle</key>
+	<real>91</real>
+	<key>angleVariance</key>
+	<real>50</real>
+	<key>blendFuncDestination</key>
+	<integer>1</integer>
+	<key>blendFuncSource</key>
+	<integer>770</integer>
+	<key>duration</key>
+	<real>-1</real>
+	<key>emitterType</key>
+	<real>0</real>
+	<key>finishColorAlpha</key>
+	<real>1</real>
+	<key>finishColorBlue</key>
+	<real>0</real>
+	<key>finishColorGreen</key>
+	<real>0</real>
+	<key>finishColorRed</key>
+	<real>0</real>
+	<key>finishColorVarianceAlpha</key>
+	<real>0</real>
+	<key>finishColorVarianceBlue</key>
+	<real>0</real>
+	<key>finishColorVarianceGreen</key>
+	<real>0</real>
+	<key>finishColorVarianceRed</key>
+	<real>0</real>
+	<key>finishParticleSize</key>
+	<real>40</real>
+	<key>finishParticleSizeVariance</key>
+	<real>0</real>
+	<key>gravityx</key>
+	<real>-1000</real>
+	<key>gravityy</key>
+	<real>740</real>
+	<key>maxParticles</key>
+	<real>289</real>
+	<key>maxRadius</key>
+	<real>0</real>
+	<key>maxRadiusVariance</key>
+	<real>0</real>
+	<key>minRadius</key>
+	<real>0</real>
+	<key>particleLifespan</key>
+	<real>1.1</real>
+	<key>particleLifespanVariance</key>
+	<real>0.4</real>
+	<key>radialAccelVariance</key>
+	<real>0</real>
+	<key>radialAcceleration</key>
+	<real>0</real>
+	<key>rotatePerSecond</key>
+	<real>0</real>
+	<key>rotatePerSecondVariance</key>
+	<real>0</real>
+	<key>rotationEnd</key>
+	<real>0</real>
+	<key>rotationEndVariance</key>
+	<real>0.0</real>
+	<key>rotationStart</key>
+	<real>720</real>
+	<key>rotationStartVariance</key>
+	<real>0</real>
+	<key>sourcePositionVariancex</key>
+	<real>15</real>
+	<key>sourcePositionVariancey</key>
+	<real>-20</real>
+	<key>sourcePositionx</key>
+	<real>524</real>
+	<key>sourcePositiony</key>
+	<real>278</real>
+	<key>speed</key>
+	<real>230</real>
+	<key>speedVariance</key>
+	<real>5</real>
+	<key>startColorAlpha</key>
+	<real>1</real>
+	<key>startColorBlue</key>
+	<real>0.69</real>
+	<key>startColorGreen</key>
+	<real>0.4</real>
+	<key>startColorRed</key>
+	<real>0.2</real>
+	<key>startColorVarianceAlpha</key>
+	<real>0.1</real>
+	<key>startColorVarianceBlue</key>
+	<real>0.2</real>
+	<key>startColorVarianceGreen</key>
+	<real>0</real>
+	<key>startColorVarianceRed</key>
+	<real>0</real>
+	<key>startParticleSize</key>
+	<real>111</real>
+	<key>startParticleSizeVariance</key>
+	<real>10</real>
+	<key>tangentialAccelVariance</key>
+	<real>0</real>
+	<key>tangentialAcceleration</key>
+	<real>0</real>
+	<key>textureFileName</key>
+	<string>particle_texture.png</string>
+	<key>textureImageData</key>
+	<string>H4sIAAAAAAAAAwHSAi39iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJkSURBVHjaxJeJbusgEEW94S1L//83X18M2MSuLd2pbqc4wZGqRLrKBsyZhQHny7Jk73xVL8xpVhWrcmiB5lX+6GJ5YgQ2owbAm8oIwH1VgKZUmGcRqKGGPgtEQQAzGR8hQ59fAmhJHSAagigJ4E7GPWRXOYC6owAd1JM6wDQPADyMWUqZRMqmAojHp1Vn6EQQEgUNMJLnUjMyJsM49wygBkAPw9dVFwXRkncCIIW3GRgoTQUZn6HxCMAFEFd8TwEQ78X4rHbILoAUmeT+RFG4UhQ6MiIAE4W/UsYFjuVjAIa2nIY4q1R0GFtQWG3E84lqw2GO2QOoCKBVu0BAPgDSU0eUDjjQenNkV/AW/pWChhpMTelo1a64AOKM30vk18GzTHXCNtI/Knz3DFBgsUqBGIjTInXRY1yA9xkVoqW5tVq3pDR9A0hfF5BSARmVnh7RMDCaIdcNgbPBkgzn1Bu+SfIEFSpSBmkxyrMicb0fAEuCZrWnN89veA/4XcakrPcjBWzkTuLjlbfTQPOlBhz+HwkqqPXmPQDdrQItxE1moGof1S74j/8txk8EHhTQrAE8qlwfqS5yukm1x/rAJ9Jiaa6nyATqD78aUVBhFo8b1V4DdTXdCW+IxA1zB4JhiOhZMEWO1HqnvdoHZ4FAMIhV9REF8FiUm0jsYPEJx/Fm/N8OhH90HI9YRHesWbXXZwAShU8qThe7H8YAuJmw5yOd989uRINKRTJAhoF8jbqrHKfeCYdIISZfSq26bk/K+yO3YvfKrVgiwQBHnwt8ynPB25+M8hceTt/ybPhnryJ78+tLgAEAuCFyiQgQB30AAAAASUVORK5CYIJZHYeC0gIAAA==</string>
+</dict>
+</plist>

+ 86 - 0
assets/image/切图/particle_texture (1).plist.meta

@@ -0,0 +1,86 @@
+{
+  "ver": "1.0.2",
+  "importer": "particle",
+  "imported": true,
+  "uuid": "a55764bd-cf32-4f41-8fc7-e9075f5c5cfb",
+  "files": [
+    ".json",
+    ".plist"
+  ],
+  "subMetas": {},
+  "userData": {
+    "totalParticles": 289,
+    "life": 1.1,
+    "lifeVar": 0.4,
+    "emissionRate": 262.7272727272727,
+    "duration": -1,
+    "srcBlendFactor": 770,
+    "dstBlendFactor": 1,
+    "startColor": {
+      "_val": 4289685043,
+      "r": 51,
+      "g": 102,
+      "b": 175.95,
+      "a": 255
+    },
+    "startColorVar": {
+      "_val": 422772736,
+      "r": 0,
+      "g": 0,
+      "b": 51,
+      "a": 25.5
+    },
+    "endColor": {
+      "_val": 4278190080,
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "endColorVar": {
+      "_val": 0,
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 0
+    },
+    "startSize": 111,
+    "startSizeVar": 10,
+    "endSize": 40,
+    "endSizeVar": 0,
+    "positionType": 0,
+    "sourcePos": {
+      "x": 0,
+      "y": 0
+    },
+    "posVar": {
+      "x": 15,
+      "y": -20
+    },
+    "angle": 91,
+    "angleVar": 50,
+    "startSpin": 720,
+    "startSpinVar": 0,
+    "endSpin": 0,
+    "endSpinVar": 0,
+    "emitterMode": 0,
+    "gravity": {
+      "x": -1000,
+      "y": 740
+    },
+    "speed": 230,
+    "speedVar": 5,
+    "radialAccel": 0,
+    "radialAccelVar": 0,
+    "tangentialAccel": 0,
+    "tangentialAccelVar": 0,
+    "rotationIsDir": false,
+    "startRadius": 0,
+    "startRadiusVar": 0,
+    "endRadius": 0,
+    "endRadiusVar": 0,
+    "rotatePerS": 0,
+    "rotatePerSVar": 0,
+    "spriteFrameUuid": ""
+  }
+}

binární
assets/image/切图/particle_texture.png


+ 134 - 0
assets/image/切图/particle_texture.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.26",
+  "importer": "image",
+  "imported": true,
+  "uuid": "b7083a4f-0976-4fdb-9cd5-353df5e23d1b",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "b7083a4f-0976-4fdb-9cd5-353df5e23d1b@6c48a",
+      "displayName": "particle_texture",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "b7083a4f-0976-4fdb-9cd5-353df5e23d1b",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "b7083a4f-0976-4fdb-9cd5-353df5e23d1b@f9941",
+      "displayName": "particle_texture",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": -0.5,
+        "offsetY": 0.5,
+        "trimX": 1,
+        "trimY": 1,
+        "width": 29,
+        "height": 29,
+        "rawWidth": 32,
+        "rawHeight": 32,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -14.5,
+            -14.5,
+            0,
+            14.5,
+            -14.5,
+            0,
+            -14.5,
+            14.5,
+            0,
+            14.5,
+            14.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            1,
+            31,
+            30,
+            31,
+            1,
+            2,
+            30,
+            2
+          ],
+          "nuv": [
+            0.03125,
+            0.0625,
+            0.9375,
+            0.0625,
+            0.03125,
+            0.96875,
+            0.9375,
+            0.96875
+          ],
+          "minPos": [
+            -14.5,
+            -14.5,
+            0
+          ],
+          "maxPos": [
+            14.5,
+            14.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "b7083a4f-0976-4fdb-9cd5-353df5e23d1b@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "b7083a4f-0976-4fdb-9cd5-353df5e23d1b@f9941"
+  }
+}

binární
assets/image/切图/toupiaojindu.png


+ 134 - 0
assets/image/切图/toupiaojindu.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.26",
+  "importer": "image",
+  "imported": true,
+  "uuid": "7140b31c-062a-403e-bb06-3453c9ff6086",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "7140b31c-062a-403e-bb06-3453c9ff6086@6c48a",
+      "displayName": "toupiaojindu",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "7140b31c-062a-403e-bb06-3453c9ff6086",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "7140b31c-062a-403e-bb06-3453c9ff6086@f9941",
+      "displayName": "toupiaojindu",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": 0,
+        "offsetY": 0,
+        "trimX": 0,
+        "trimY": 0,
+        "width": 1885,
+        "height": 134,
+        "rawWidth": 1885,
+        "rawHeight": 134,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -942.5,
+            -67,
+            0,
+            942.5,
+            -67,
+            0,
+            -942.5,
+            67,
+            0,
+            942.5,
+            67,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            0,
+            134,
+            1885,
+            134,
+            0,
+            0,
+            1885,
+            0
+          ],
+          "nuv": [
+            0,
+            0,
+            1,
+            0,
+            0,
+            1,
+            1,
+            1
+          ],
+          "minPos": [
+            -942.5,
+            -67,
+            0
+          ],
+          "maxPos": [
+            942.5,
+            67,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "7140b31c-062a-403e-bb06-3453c9ff6086@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": false,
+    "redirect": "7140b31c-062a-403e-bb06-3453c9ff6086@f9941"
+  }
+}

+ 9 - 0
assets/particle.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.2.0",
+  "importer": "directory",
+  "imported": true,
+  "uuid": "ca1ec21e-c3ad-4c60-99a1-7772a08eafb3",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

binární
assets/particle/frame.png


+ 134 - 0
assets/particle/frame.png.meta

@@ -0,0 +1,134 @@
+{
+  "ver": "1.0.26",
+  "importer": "image",
+  "imported": true,
+  "uuid": "378e01e6-876c-4568-9b0a-237a3df73242",
+  "files": [
+    ".json",
+    ".png"
+  ],
+  "subMetas": {
+    "6c48a": {
+      "importer": "texture",
+      "uuid": "378e01e6-876c-4568-9b0a-237a3df73242@6c48a",
+      "displayName": "frame",
+      "id": "6c48a",
+      "name": "texture",
+      "userData": {
+        "wrapModeS": "clamp-to-edge",
+        "wrapModeT": "clamp-to-edge",
+        "imageUuidOrDatabaseUri": "378e01e6-876c-4568-9b0a-237a3df73242",
+        "isUuid": true,
+        "visible": false,
+        "minfilter": "linear",
+        "magfilter": "linear",
+        "mipfilter": "none",
+        "anisotropy": 0
+      },
+      "ver": "1.0.22",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    },
+    "f9941": {
+      "importer": "sprite-frame",
+      "uuid": "378e01e6-876c-4568-9b0a-237a3df73242@f9941",
+      "displayName": "frame",
+      "id": "f9941",
+      "name": "spriteFrame",
+      "userData": {
+        "trimType": "auto",
+        "trimThreshold": 1,
+        "rotated": false,
+        "offsetX": -0.5,
+        "offsetY": 0.5,
+        "trimX": 1,
+        "trimY": 1,
+        "width": 29,
+        "height": 29,
+        "rawWidth": 32,
+        "rawHeight": 32,
+        "borderTop": 0,
+        "borderBottom": 0,
+        "borderLeft": 0,
+        "borderRight": 0,
+        "packable": true,
+        "pixelsToUnit": 100,
+        "pivotX": 0.5,
+        "pivotY": 0.5,
+        "meshType": 0,
+        "vertices": {
+          "rawPosition": [
+            -14.5,
+            -14.5,
+            0,
+            14.5,
+            -14.5,
+            0,
+            -14.5,
+            14.5,
+            0,
+            14.5,
+            14.5,
+            0
+          ],
+          "indexes": [
+            0,
+            1,
+            2,
+            2,
+            1,
+            3
+          ],
+          "uv": [
+            1,
+            31,
+            30,
+            31,
+            1,
+            2,
+            30,
+            2
+          ],
+          "nuv": [
+            0.03125,
+            0.0625,
+            0.9375,
+            0.0625,
+            0.03125,
+            0.96875,
+            0.9375,
+            0.96875
+          ],
+          "minPos": [
+            -14.5,
+            -14.5,
+            0
+          ],
+          "maxPos": [
+            14.5,
+            14.5,
+            0
+          ]
+        },
+        "isUuid": true,
+        "imageUuidOrDatabaseUri": "378e01e6-876c-4568-9b0a-237a3df73242@6c48a",
+        "atlasUuid": ""
+      },
+      "ver": "1.0.12",
+      "imported": true,
+      "files": [
+        ".json"
+      ],
+      "subMetas": {}
+    }
+  },
+  "userData": {
+    "type": "sprite-frame",
+    "fixAlphaTransparencyArtifacts": true,
+    "hasAlpha": true,
+    "redirect": "378e01e6-876c-4568-9b0a-237a3df73242@f9941"
+  }
+}

+ 116 - 0
assets/particle/votes1.plist

@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>angle</key>
+    <integer>0</integer>
+    <key>angleVariance</key>
+    <integer>0</integer>
+    <key>blendFuncDestination</key>
+    <integer>1</integer>
+    <key>blendFuncSource</key>
+    <integer>770</integer>
+    <key>duration</key>
+    <integer>-1</integer>
+    <key>emitterType</key>
+    <integer>0</integer>
+    <key>finishColorAlpha</key>
+    <integer>1</integer>
+    <key>finishColorBlue</key>
+    <integer>0</integer>
+    <key>finishColorGreen</key>
+    <integer>0</integer>
+    <key>finishColorRed</key>
+    <integer>0</integer>
+    <key>finishColorVarianceAlpha</key>
+    <integer>0</integer>
+    <key>finishColorVarianceBlue</key>
+    <integer>0</integer>
+    <key>finishColorVarianceGreen</key>
+    <integer>0</integer>
+    <key>finishColorVarianceRed</key>
+    <integer>0</integer>
+    <key>finishParticleSize</key>
+    <integer>0</integer>
+    <key>finishParticleSizeVariance</key>
+    <integer>0</integer>
+    <key>gravityx</key>
+    <integer>-200</integer>
+    <key>gravityy</key>
+    <integer>0</integer>
+    <key>maxParticles</key>
+    <integer>500</integer>
+    <key>maxRadius</key>
+    <integer>0</integer>
+    <key>maxRadiusVariance</key>
+    <integer>0</integer>
+    <key>minRadius</key>
+    <integer>0</integer>
+    <key>particleLifespan</key>
+    <integer>1</integer>
+    <key>particleLifespanVariance</key>
+    <real>1.5</real>
+    <key>radialAccelVariance</key>
+    <integer>0</integer>
+    <key>radialAcceleration</key>
+    <integer>0</integer>
+    <key>rotatePerSecond</key>
+    <integer>0</integer>
+    <key>rotatePerSecondVariance</key>
+    <integer>0</integer>
+    <key>rotationEnd</key>
+    <integer>0</integer>
+    <key>rotationEndVariance</key>
+    <integer>0</integer>
+    <key>rotationStart</key>
+    <integer>0</integer>
+    <key>rotationStartVariance</key>
+    <integer>0</integer>
+    <key>sourcePositionVariancex</key>
+    <integer>0</integer>
+    <key>sourcePositionVariancey</key>
+    <integer>38</integer>
+    <key>sourcePositionx</key>
+    <real>408.9427670346031</real>
+    <key>sourcePositiony</key>
+    <real>619.6501285214968</real>
+    <key>speed</key>
+    <integer>0</integer>
+    <key>speedVariance</key>
+    <integer>0</integer>
+    <key>startColorAlpha</key>
+    <integer>0.7</integer>
+    <key>startColorBlue</key>
+    <integer>1</integer>
+    <key>startColorGreen</key>
+    <integer>1</integer>
+    <key>startColorRed</key>
+    <integer>1</integer>
+    <key>startColorVarianceAlpha</key>
+    <integer>1</integer>
+    <key>startColorVarianceBlue</key>
+    <integer>0</integer>
+    <key>startColorVarianceGreen</key>
+    <integer>0</integer>
+    <key>startColorVarianceRed</key>
+    <integer>0</integer>
+    <key>startParticleSize</key>
+    <integer>15</integer>
+    <key>startParticleSizeVariance</key>
+    <integer>0</integer>
+    <key>tangentialAccelVariance</key>
+    <integer>0</integer>
+    <key>tangentialAcceleration</key>
+    <integer>0</integer>
+    <key>positionType</key>
+    <integer>0</integer>
+    <key>rotationIsDir</key>
+    <false/>
+    <key>minRadiusVariance</key>
+    <integer>0</integer>
+    <key>emissionRate</key>
+    <integer>300</integer>
+    <key>spriteFrameUuid</key>
+    <string>378e01e6-876c-4568-9b0a-237a3df73242@f9941</string>
+  </dict>
+</plist>

+ 86 - 0
assets/particle/votes1.plist.meta

@@ -0,0 +1,86 @@
+{
+  "ver": "1.0.2",
+  "importer": "particle",
+  "imported": true,
+  "uuid": "e68687bb-d96b-444c-a7a1-ce2d6b8c1f50",
+  "files": [
+    ".json",
+    ".plist"
+  ],
+  "subMetas": {},
+  "userData": {
+    "totalParticles": 500,
+    "life": 1,
+    "lifeVar": 1.5,
+    "emissionRate": 300,
+    "duration": -1,
+    "srcBlendFactor": 770,
+    "dstBlendFactor": 1,
+    "startColor": {
+      "_val": 16777215,
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 0
+    },
+    "startColorVar": {
+      "_val": 4278190080,
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "endColor": {
+      "_val": 4278190080,
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 255
+    },
+    "endColorVar": {
+      "_val": 0,
+      "r": 0,
+      "g": 0,
+      "b": 0,
+      "a": 0
+    },
+    "startSize": 15,
+    "startSizeVar": 0,
+    "endSize": 0,
+    "endSizeVar": 0,
+    "positionType": 0,
+    "sourcePos": {
+      "x": 0,
+      "y": 0
+    },
+    "posVar": {
+      "x": 0,
+      "y": 38
+    },
+    "angle": 0,
+    "angleVar": 0,
+    "startSpin": 0,
+    "startSpinVar": 0,
+    "endSpin": 0,
+    "endSpinVar": 0,
+    "emitterMode": 0,
+    "gravity": {
+      "x": -200,
+      "y": 0
+    },
+    "speed": 0,
+    "speedVar": 0,
+    "radialAccel": 0,
+    "radialAccelVar": 0,
+    "tangentialAccel": 0,
+    "tangentialAccelVar": 0,
+    "rotationIsDir": false,
+    "startRadius": 0,
+    "startRadiusVar": 0,
+    "endRadius": 0,
+    "endRadiusVar": 0,
+    "rotatePerS": 0,
+    "rotatePerSVar": 0,
+    "spriteFrameUuid": "378e01e6-876c-4568-9b0a-237a3df73242@f9941"
+  }
+}

+ 59 - 16
assets/scripts/OptionsCtr.ts

@@ -1,4 +1,5 @@
 import { _decorator, color, Color, Component, Label, Node, Sprite, tween, UIOpacity, Vec3 } from "cc"
+import { processCtr } from "./socket/processCtr"
 const { ccclass, property } = _decorator
 
 @ccclass("OptionsCtr")
@@ -7,7 +8,6 @@ export class OptionsCtr extends Component {
     @property({ type: Node })
     public optionNodes: Node[] = []
 
-
     selectedColor: Color = new Color(180, 173, 121) // B4AD79
 
     @property({ type: Sprite })
@@ -16,7 +16,60 @@ export class OptionsCtr extends Component {
     @property({ type: Sprite })
     notSelectedSprite: Sprite = null // 设置你想要的选中背景图
 
-    start() {}
+    private votesOrgPos_x:number = -894
+    private votesWidth = 890
+    start() {
+
+    }
+    resetVotes()
+    {
+        for(let i=0;i<4;i++)
+        {
+            const vote: Node = this.optionNodes[i].getChildByName("votes").getChildByName("toupiaojindu")
+            vote.active = false
+            vote.getChildByName('votePannel_particle').active = false
+            vote.setPosition(this.votesOrgPos_x,0,0)
+        }
+    }
+
+
+    showVotes(num: number[] , processCtr: processCtr) {
+        let index = 0
+
+        //获取投票范围,修改合适步长
+        let scope:number = 10
+
+        const maxValue = Math.max(...num)
+            if(maxValue > 10 && maxValue < 100)
+            {
+                scope = 100
+            }
+            else if(maxValue > 99)
+            {
+                scope = 1000
+            }
+
+        for(let i=0;i<4;i++)
+        {
+            const vote: Node = this.optionNodes[i].getChildByName("votes").getChildByName("toupiaojindu")
+            if(!vote.active || !vote.getChildByName('votePannel_particle').active )
+            {
+                vote.active = true
+                vote.getChildByName('votePannel_particle').active = true
+            }
+            tween(vote).to(1, {
+                position: new Vec3(this.votesOrgPos_x + (this.votesWidth / scope) * num[i], 0, 0)
+            })
+            .call(()=>{
+                if(index ===3)
+                {
+                    processCtr.doneProcessing()
+                }
+                index++
+            })
+            .start()
+        }
+    }
 
     setOptions(options: string[]) {
         if (options.length !== 4) {
@@ -25,13 +78,11 @@ export class OptionsCtr extends Component {
         }
 
         //显示前先制空lebel
-        for(let i=0;i<4;i++)
-        {
-            const nodeLabel = this.optionNodes[i].getChildByName("text_option").getComponent(Label);
-            nodeLabel.string = ''
+        for (let i = 0; i < 4; i++) {
+            const nodeLabel = this.optionNodes[i].getChildByName("text_option").getComponent(Label)
+            nodeLabel.string = ""
         }
 
-
         tween(this.node.getComponent(UIOpacity))
             .to(1, { opacity: 255 })
             .call(() => {
@@ -43,7 +94,6 @@ export class OptionsCtr extends Component {
     }
 
     setOptionText(node: Node, text: string) {
-        
         const labelComponent = node.getChildByName("text_option").getComponent(Label)
         const uiOpacity = labelComponent.node.getComponent(UIOpacity) || labelComponent.node.addComponent(UIOpacity)
         uiOpacity.opacity = 0 // 初始设置为透明
@@ -76,14 +126,7 @@ export class OptionsCtr extends Component {
                     spriteComponent.spriteFrame = this.selectedSprite.spriteFrame
                 }
 
-                // 使用tween实现颜色渐变效果
-                const currentColor = labelComponent.color.clone()
-                tween(labelComponent)
-                    .to(2, {
-                        color: Color.lerp(new Color(), currentColor, this.selectedColor, 0.1)
-                    }) // 这里的0.1表示每次插值的比例,你可以根据需要调整
-                    .start()
-
+               
                 this.selectedAction(optionNode)
             } else {
                 // 这是未被选中的选项

+ 1 - 1
assets/scripts/StoryPannelCtr.ts

@@ -9,7 +9,7 @@ export class StoryPannelCtr extends Component {
     public processCtr: processCtr | null = null
 
     @property
-    typeSpeed: number = 0.05 // 每个字符出现的间隔时间
+    typeSpeed: number = 0.2 // 每个字符出现的间隔时间
 
     @property
     maxLines: number = 18 // 最大行数

+ 29 - 3
assets/scripts/gameCtr.ts

@@ -127,6 +127,9 @@ export class GameCtr extends Component {
     public bg2AudioSource: AudioSource = null!
     private isPlayBgm1 = true
 
+
+    private moveNum:number = 1
+
     init() {
         //播放第一个背景音乐
         this.bg1AudioSource.play()
@@ -281,7 +284,8 @@ export class GameCtr extends Component {
         // )
 
         //options初始化
-
+        this.moveNum++
+        // this.optionsCtr.showVotes(this.moveNum)
         // this.optionsCtr.selectOption(3)
 
         //重置测试
@@ -449,9 +453,25 @@ export class GameCtr extends Component {
         this.processCtr.doneProcessing()
     }
 
+    //处理投票进度
+    handleVotes(data: any) {
+        if(this.realStart && this.storyActionStatus == 1 && Math.max(...(data.data as number[]))>0)
+        {
+            let votes:number[] = data.data
+            this.optionsCtr.showVotes(votes,this.processCtr)
+        }
+        else
+        {
+            console.log('handle votes do nothing:'+this.realStart+"    "+this.storyActionStatus+"    "+Math.max(...(data.data as number[])))
+            this.processCtr.doneProcessing()
+        }
+    }
+
     //处理所有剧情、选项的移动逻辑
     optionsAppearAction() {
         console.log("storyActionStatus:" + this.storyActionStatus)
+
+        //展示选项,折叠剧情,开启投票统计
         if (this.storyActionStatus == 0) {
             const storyNode = this.storyPannelCtr.node
             const storyUI = storyNode.getComponent(UITransform)
@@ -473,6 +493,9 @@ export class GameCtr extends Component {
             this.processCtr.doneProcessing()
             this.storyActionStatus = 1
         } else if (this.storyActionStatus === 1) {
+            //选中备选项
+            this.optionsCtr.resetVotes()
+
             console.log("selectedOptionNum:" + this.selectedOptionNum)
             this.optionsCtr.selectOption(this.selectedOptionNum + 1)
             this.playSelectedOneShot()
@@ -480,7 +503,7 @@ export class GameCtr extends Component {
             this.storyActionStatus = 2
         } else if (this.storyActionStatus === 2) {
             this.scheduleOnce(() => {
-                //隐藏未被选中选项
+                // 隐藏未被选中选项
                 for (let i = 0; i < 4; i++) {
                     var optionNode: Node = this.optionsCtr.optionNodes[i]
 
@@ -546,7 +569,8 @@ export class GameCtr extends Component {
                 .call(() => {
                     //重置选项位置与透明度
                     this.optionsCtr.node.position = this.initOptionsPosition
-                    this.optionsCtr.node.getComponent(UIOpacity).opacity = 0
+                    // this.optionsCtr.node.getComponent(UIOpacity).opacity = 0
+                    // this.optionsCtr.node.getChildByName()
 
                     // 这是被选中的选项
                     selectedOption.getChildByName("text_option").getComponent(Label).color = Color.WHITE
@@ -558,6 +582,8 @@ export class GameCtr extends Component {
                     }
                     for (let i = 0; i < 4; i++) {
                         this.optionsCtr.optionNodes[i].getComponent(UIOpacity).opacity = 255
+                        const vote:Node = this.optionsCtr.optionNodes[i].getChildByName("votes").getChildByName("toupiaojindu")
+                        console.log("vote info!!!!!!!!!!!!!!"+vote.active+"   "+vote.getPosition+"   "+vote.getComponent(UIOpacity).opacity)
                     }
 
                     //剧情上移开始展示

+ 2 - 2
assets/scripts/socket/processCtr.ts

@@ -94,8 +94,8 @@ export class processCtr extends Component {
 
     }
     private handleVotesMessage(data: any) {
-        // console.log("Received votes message:", data)
-        this.doneProcessing()
+        console.log("Received votes message:", data)
+        this.gameCtr.handleVotes(data);
     }
 
     private handleStateMessage(data: any) {

+ 77 - 0
assets/scripts/votes.ts

@@ -0,0 +1,77 @@
+import { _decorator, Color, Component, Graphics, Node } from 'cc';
+const { ccclass, property } = _decorator;
+
+@ccclass('NewComponent')
+export class NewComponent extends Component {
+    
+    @property
+    width: number = 400;  // 初始宽度
+
+    @property
+    height: number = 500;  // 高度
+
+    @property
+    cornerRadius: number = 100;  // 圆角半径
+
+    graphics: Graphics = null;
+
+    
+    start() {
+
+        this.graphics = this.node.getComponent(Graphics);
+
+        // const g = this.getComponent(Graphics);
+        // g.lineWidth = 10;
+        // g.fillColor.fromHEX('#ff0000');
+        // g.moveTo(-40, 0);
+        // g.lineTo(0, -80);
+        // g.lineTo(40, 0);
+        // g.lineTo(0, 80);
+        // g.close();
+        // g.stroke();
+        // g.fill();
+        this.graphics.clear();
+
+        const h = this.height;
+        const r = this.cornerRadius;
+
+        // // 绘制渐变色
+        // this.graphics.fillGradientRect(-width/2, -h/2, width, h, gradient);
+
+        // 绘制圆角矩形
+        this.graphics.fillColor.fromHEX('#ff0000');
+        console.log('hhhhhhhhhhhhhhh'+h)
+        this.graphics.roundRect(-this.width/2, -h/2, this.width, h, r);
+        this.graphics.stroke();
+        this.graphics.fill();
+
+
+    }
+ 
+   
+    // drawRoundedRect() {
+    //     const h = this.height;
+    //     const r = this.cornerRadius;
+    //     this.graphics.clear();
+
+    //     // // 绘制渐变色
+    //     // const gradient = new GraphicsGradient([Color.WHITE, Color.BLACK], [0, 1]);
+    //     // this.graphics.fillGradientRect(-width/2, -h/2, width, h, gradient);
+
+    //     // 绘制圆角矩形
+    //     this.graphics.fillColor.fromHEX('#ff0000');
+    //     this.graphics.roundRect(-width/2, -h/2, width, h, r);
+    //     this.graphics.stroke();
+    //     this.graphics.fill();
+    // }
+
+    // // 使用此函数设置矩形宽度
+    // setRectWidth(value) {
+    //     this.drawRoundedRect(value);
+    // }
+    update(deltaTime: number) {
+        
+    }
+}
+
+

+ 9 - 0
assets/scripts/votes.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.23",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "8604f26a-4573-48e6-ab71-882504647168",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/web-mobile/assets/main/config.json


+ 0 - 1
build/web-mobile/assets/main/import/01/01e6fc214.json

@@ -1 +0,0 @@
-{"type":"cc.Texture2D","data":[["2,2,0,0,0,0",["1f93b7a9b"]],["2,2,2,2,0,0",["9f2QDdIhtPiY8s+6NCQ8g1"]],["2,2,2,2,0,0",["24pwTaKGdEbY0aXpIMdeCd"]],["2,2,2,2,0,0",["54TknWPwVPqJqeCR+Y/Czo"]],["2,2,2,2,0,0",["20g1ukYUVPvKWKBRznAKo+"]],["2,2,2,2,0,0",["95EkngnxZFbYuFpsqVTaFr"]],["2,2,2,2,0,0",["abNjRqDNZIYqjp4Ghn1Vht"]],["2,2,2,2,0,0",["e2WvMWNDVEwKYtHPMemyZO"]]]}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/web-mobile/assets/main/import/03/0391190fd.json


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/web-mobile/assets/main/import/03/03e0d1faa.json


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/web-mobile/assets/main/import/04/04577c584.json


+ 1 - 0
build/web-mobile/assets/main/import/06/067a91548.json

@@ -0,0 +1 @@
+{"type":"cc.Texture2D","data":[["2,2,2,2,0,0",["9f2QDdIhtPiY8s+6NCQ8g1"]],["2,2,0,0,0,0",["13e0d1faa"]],["2,2,2,2,0,0",["24pwTaKGdEbY0aXpIMdeCd"]],["2,2,2,2,0,0",["37jgHmh2xFaJsKI3o99zJC"]],["2,2,2,2,0,0",["54TknWPwVPqJqeCR+Y/Czo"]],["2,2,2,2,0,0",["20g1ukYUVPvKWKBRznAKo+"]],["2,2,2,2,0,0",["95EkngnxZFbYuFpsqVTaFr"]],["2,2,2,2,0,0",["abNjRqDNZIYqjp4Ghn1Vht"]],["2,2,2,2,0,0",["e2WvMWNDVEwKYtHPMemyZO"]]]}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/web-mobile/assets/main/import/0f/0f93b7a9b.json


+ 1 - 0
build/web-mobile/assets/main/import/13/13e0d1faa.json

@@ -0,0 +1 @@
+[1,0,0,["cc.ImageAsset"],0,[{"fmt":"0","w":2660,"h":3986},-1],[0],0,[],[],[]]

+ 0 - 1
build/web-mobile/assets/main/import/1f/1f93b7a9b.json

@@ -1 +0,0 @@
-[1,0,0,["cc.ImageAsset"],0,[{"fmt":"0","w":2660,"h":4080},-1],[0],0,[],[],[]]

+ 1 - 0
build/web-mobile/assets/main/import/37/378e01e6-876c-4568-9b0a-237a3df73242.json

@@ -0,0 +1 @@
+[1,0,0,["cc.ImageAsset"],0,[{"fmt":"0","w":0,"h":0},-1],[0],0,[],[],[]]

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/web-mobile/assets/main/index.js


binární
build/web-mobile/assets/main/native/13/13e0d1faa.png


binární
build/web-mobile/assets/main/native/1f/1f93b7a9b.png


binární
build/web-mobile/assets/main/native/37/378e01e6-876c-4568-9b0a-237a3df73242.png


+ 116 - 0
build/web-mobile/assets/main/native/e6/e68687bb-d96b-444c-a7a1-ce2d6b8c1f50.plist

@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>angle</key>
+    <integer>0</integer>
+    <key>angleVariance</key>
+    <integer>0</integer>
+    <key>blendFuncDestination</key>
+    <integer>1</integer>
+    <key>blendFuncSource</key>
+    <integer>2</integer>
+    <key>duration</key>
+    <integer>-1</integer>
+    <key>emitterType</key>
+    <integer>0</integer>
+    <key>finishColorAlpha</key>
+    <integer>1</integer>
+    <key>finishColorBlue</key>
+    <integer>0</integer>
+    <key>finishColorGreen</key>
+    <integer>0</integer>
+    <key>finishColorRed</key>
+    <integer>0</integer>
+    <key>finishColorVarianceAlpha</key>
+    <integer>0</integer>
+    <key>finishColorVarianceBlue</key>
+    <integer>0</integer>
+    <key>finishColorVarianceGreen</key>
+    <integer>0</integer>
+    <key>finishColorVarianceRed</key>
+    <integer>0</integer>
+    <key>finishParticleSize</key>
+    <integer>0</integer>
+    <key>finishParticleSizeVariance</key>
+    <integer>0</integer>
+    <key>gravityx</key>
+    <integer>-200</integer>
+    <key>gravityy</key>
+    <integer>0</integer>
+    <key>maxParticles</key>
+    <integer>500</integer>
+    <key>maxRadius</key>
+    <integer>0</integer>
+    <key>maxRadiusVariance</key>
+    <integer>0</integer>
+    <key>minRadius</key>
+    <integer>0</integer>
+    <key>particleLifespan</key>
+    <integer>1</integer>
+    <key>particleLifespanVariance</key>
+    <real>1.5</real>
+    <key>radialAccelVariance</key>
+    <integer>0</integer>
+    <key>radialAcceleration</key>
+    <integer>0</integer>
+    <key>rotatePerSecond</key>
+    <integer>0</integer>
+    <key>rotatePerSecondVariance</key>
+    <integer>0</integer>
+    <key>rotationEnd</key>
+    <integer>0</integer>
+    <key>rotationEndVariance</key>
+    <integer>0</integer>
+    <key>rotationStart</key>
+    <integer>0</integer>
+    <key>rotationStartVariance</key>
+    <integer>0</integer>
+    <key>sourcePositionVariancex</key>
+    <integer>0</integer>
+    <key>sourcePositionVariancey</key>
+    <integer>38</integer>
+    <key>sourcePositionx</key>
+    <real>408.9427670346031</real>
+    <key>sourcePositiony</key>
+    <real>619.6501285214968</real>
+    <key>speed</key>
+    <integer>0</integer>
+    <key>speedVariance</key>
+    <integer>0</integer>
+    <key>startColorAlpha</key>
+    <integer>0</integer>
+    <key>startColorBlue</key>
+    <integer>1</integer>
+    <key>startColorGreen</key>
+    <integer>1</integer>
+    <key>startColorRed</key>
+    <integer>1</integer>
+    <key>startColorVarianceAlpha</key>
+    <integer>1</integer>
+    <key>startColorVarianceBlue</key>
+    <integer>0</integer>
+    <key>startColorVarianceGreen</key>
+    <integer>0</integer>
+    <key>startColorVarianceRed</key>
+    <integer>0</integer>
+    <key>startParticleSize</key>
+    <integer>15</integer>
+    <key>startParticleSizeVariance</key>
+    <integer>0</integer>
+    <key>tangentialAccelVariance</key>
+    <integer>0</integer>
+    <key>tangentialAcceleration</key>
+    <integer>0</integer>
+    <key>positionType</key>
+    <integer>0</integer>
+    <key>rotationIsDir</key>
+    <false/>
+    <key>minRadiusVariance</key>
+    <integer>0</integer>
+    <key>emissionRate</key>
+    <integer>300</integer>
+    <key>spriteFrameUuid</key>
+    <string>378e01e6-876c-4568-9b0a-237a3df73242@f9941</string>
+  </dict>
+</plist>

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů