diff --git a/assets/Scene/GuideScene.fire b/assets/Scene/GuideScene.fire index 143e980..c66c139 100644 --- a/assets/Scene/GuideScene.fire +++ b/assets/Scene/GuideScene.fire @@ -57,7 +57,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "774829bb-123e-48b6-930e-6b3e02491506" }, { diff --git a/assets/Scene/GuideScene.fire.meta b/assets/Scene/GuideScene.fire.meta index 526237b..486afcc 100644 --- a/assets/Scene/GuideScene.fire.meta +++ b/assets/Scene/GuideScene.fire.meta @@ -3,6 +3,6 @@ "uuid": "774829bb-123e-48b6-930e-6b3e02491506", "importer": "scene", "asyncLoadAssets": false, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "subMetas": {} } \ No newline at end of file diff --git a/assets/Scene/LoadScene.fire b/assets/Scene/LoadScene.fire index 227f4d4..6a53004 100644 --- a/assets/Scene/LoadScene.fire +++ b/assets/Scene/LoadScene.fire @@ -136,12 +136,10 @@ "__id__": 2 }, "_enabled": true, - "label": null, - "text": "hello", "_id": "89UAK+FSRBh4q9PzKutGtE" }, { - "__type__": "bd9f78XOD5PmLTjk2rLYBiz", + "__type__": "971c4vub4BJpqrSCLPJ8g1V", "_name": "", "_objFlags": 0, "node": { @@ -161,7 +159,7 @@ "reward": false, "finish": false, "rewardCount": 0, - "_id": "f4nksYNJROS4BnQwsjb5Tr" + "_id": "dbb1mOJilJI5DAHXWGh8XU" }, { "__type__": "cc.Node", @@ -181,25 +179,25 @@ "__id__": 15 }, { - "__id__": 22 + "__id__": 19 }, { - "__id__": 30 + "__id__": 27 }, { - "__id__": 36 + "__id__": 33 } ], "_active": true, "_components": [ { - "__id__": 255 + "__id__": 252 }, { - "__id__": 256 + "__id__": 253 }, { - "__id__": 257 + "__id__": 254 } ], "_prefab": null, @@ -657,18 +655,14 @@ "_parent": { "__id__": 5 }, - "_children": [ - { - "__id__": 16 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 16 }, { - "__id__": 20 + "__id__": 17 } ], "_prefab": null, @@ -719,122 +713,6 @@ "groupIndex": 0, "_id": "fbUHhjpABG74DdpeYzdl/2" }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 15 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 17 - }, - { - "__id__": 18 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 376, - "height": 84 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "a7Cbo0XSVPC6+yqwMcKLSX" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "6b74e4c6-15c5-4566-8dd4-fa523a15898b" - } - ], - "_srcBlendFactor": 769, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "16ec87d8-d077-43c9-976d-94b0de683920" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" - }, - "_id": "3d0l1BTrRGtJyAYhq+EV5Q" - }, - { - "__type__": "b48a2ukFF1FlJGSkUcHUIET", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "m_delayTime": 0, - "m_fluxayTime": 1.5, - "m_intervalTime": 1, - "m_scale": 0.4, - "m_angle": 10, - "m_reviseStartTime": 0, - "m_reviseTimeScale": 1, - "_id": "d06hI9j9xAjLq5z880AEMa" - }, { "__type__": "cc.Sprite", "_name": "", @@ -883,7 +761,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 21 + "__id__": 18 } ], "_N$interactable": true, @@ -960,13 +838,13 @@ }, "_children": [ { - "__id__": 23 + "__id__": 20 } ], "_active": false, "_components": [ { - "__id__": 28 + "__id__": 25 } ], "_prefab": null, @@ -1022,20 +900,20 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 22 + "__id__": 19 }, "_children": [ { - "__id__": 24 + "__id__": 21 } ], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 23 }, { - "__id__": 27 + "__id__": 24 } ], "_prefab": null, @@ -1091,13 +969,13 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 23 + "__id__": 20 }, "_children": [], "_active": true, "_components": [ { - "__id__": 25 + "__id__": 22 } ], "_prefab": null, @@ -1153,7 +1031,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 21 }, "_enabled": true, "_materials": [ @@ -1186,7 +1064,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 20 }, "_enabled": true, "_materials": [ @@ -1218,7 +1096,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 20 }, "_enabled": true, "alignMode": 0, @@ -1245,7 +1123,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 19 }, "_enabled": true, "_normalMaterial": null, @@ -1254,7 +1132,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 29 + "__id__": 26 } ], "_N$interactable": true, @@ -1320,7 +1198,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 23 + "__id__": 20 }, "_id": "a6Lbjg6z5F5Kn3eBsSkb4V" }, @@ -1343,13 +1221,13 @@ }, "_children": [ { - "__id__": 31 + "__id__": 28 } ], "_active": true, "_components": [ { - "__id__": 34 + "__id__": 31 } ], "_prefab": null, @@ -1405,16 +1283,16 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 30 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 32 + "__id__": 29 }, { - "__id__": 33 + "__id__": 30 } ], "_prefab": null, @@ -1470,7 +1348,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -1504,7 +1382,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "alignMode": 0, @@ -1531,7 +1409,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 27 }, "_enabled": true, "_normalMaterial": null, @@ -1540,7 +1418,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 35 + "__id__": 32 } ], "_N$interactable": true, @@ -1606,7 +1484,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 31 + "__id__": 28 }, "_id": "79F7b/WB5F2JOMTqOD3Wq1" }, @@ -1629,118 +1507,118 @@ }, "_children": [ { - "__id__": 37 + "__id__": 34 }, { - "__id__": 39 + "__id__": 36 }, { - "__id__": 41 + "__id__": 38 }, { - "__id__": 47 + "__id__": 44 }, { - "__id__": 53 + "__id__": 50 }, { - "__id__": 59 + "__id__": 56 }, { - "__id__": 65 + "__id__": 62 }, { - "__id__": 71 + "__id__": 68 }, { - "__id__": 77 + "__id__": 74 }, { - "__id__": 83 + "__id__": 80 }, { - "__id__": 89 + "__id__": 86 }, { - "__id__": 95 + "__id__": 92 }, { - "__id__": 101 + "__id__": 98 }, { - "__id__": 107 + "__id__": 104 }, { - "__id__": 113 + "__id__": 110 }, { - "__id__": 119 + "__id__": 116 }, { - "__id__": 125 + "__id__": 122 }, { - "__id__": 131 + "__id__": 128 }, { - "__id__": 137 + "__id__": 134 }, { - "__id__": 143 + "__id__": 140 }, { - "__id__": 149 + "__id__": 146 }, { - "__id__": 155 + "__id__": 152 }, { - "__id__": 161 + "__id__": 158 }, { - "__id__": 167 + "__id__": 164 }, { - "__id__": 173 + "__id__": 170 }, { - "__id__": 179 + "__id__": 176 }, { - "__id__": 185 + "__id__": 182 }, { - "__id__": 191 + "__id__": 188 }, { - "__id__": 197 + "__id__": 194 }, { - "__id__": 203 + "__id__": 200 }, { - "__id__": 209 + "__id__": 206 }, { - "__id__": 215 + "__id__": 212 }, { - "__id__": 221 + "__id__": 218 }, { - "__id__": 227 + "__id__": 224 }, { - "__id__": 233 + "__id__": 230 }, { - "__id__": 239 + "__id__": 236 }, { - "__id__": 245 + "__id__": 242 }, { - "__id__": 251 + "__id__": 248 } ], "_active": false, @@ -1798,13 +1676,13 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 35 } ], "_prefab": null, @@ -1860,7 +1738,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 37 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -1892,13 +1770,13 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 37 } ], "_prefab": null, @@ -1954,7 +1832,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 39 + "__id__": 36 }, "_enabled": true, "_materials": [ @@ -1986,20 +1864,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 42 + "__id__": 39 } ], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 41 }, { - "__id__": 45 + "__id__": 42 } ], "_prefab": null, @@ -2055,13 +1933,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 41 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 43 + "__id__": 40 } ], "_prefab": null, @@ -2117,7 +1995,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -2150,7 +2028,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_materials": [ @@ -2182,7 +2060,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_normalMaterial": null, @@ -2191,7 +2069,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 46 + "__id__": 43 } ], "_N$interactable": true, @@ -2247,7 +2125,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 41 + "__id__": 38 }, "_id": "9atPuDujpGf7JpL56hk8PW" }, @@ -2266,20 +2144,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 48 + "__id__": 45 } ], "_active": true, "_components": [ { - "__id__": 50 + "__id__": 47 }, { - "__id__": 51 + "__id__": 48 } ], "_prefab": null, @@ -2335,13 +2213,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 44 }, "_children": [], "_active": true, "_components": [ { - "__id__": 49 + "__id__": 46 } ], "_prefab": null, @@ -2397,7 +2275,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 48 + "__id__": 45 }, "_enabled": true, "_materials": [ @@ -2430,7 +2308,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 44 }, "_enabled": true, "_materials": [ @@ -2462,7 +2340,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 44 }, "_enabled": true, "_normalMaterial": null, @@ -2471,7 +2349,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 52 + "__id__": 49 } ], "_N$interactable": true, @@ -2527,7 +2405,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 47 + "__id__": 44 }, "_id": "e28O7TPcBMM4zZMWd0PJHj" }, @@ -2546,20 +2424,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 54 + "__id__": 51 } ], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 53 }, { - "__id__": 57 + "__id__": 54 } ], "_prefab": null, @@ -2615,13 +2493,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 53 + "__id__": 50 }, "_children": [], "_active": true, "_components": [ { - "__id__": 55 + "__id__": 52 } ], "_prefab": null, @@ -2677,7 +2555,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 54 + "__id__": 51 }, "_enabled": true, "_materials": [ @@ -2710,7 +2588,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 50 }, "_enabled": true, "_materials": [ @@ -2742,7 +2620,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 50 }, "_enabled": true, "_normalMaterial": null, @@ -2751,7 +2629,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 58 + "__id__": 55 } ], "_N$interactable": true, @@ -2807,7 +2685,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 53 + "__id__": 50 }, "_id": "e7myKHg99ATKcx0BJHQfkS" }, @@ -2826,20 +2704,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 60 + "__id__": 57 } ], "_active": true, "_components": [ { - "__id__": 62 + "__id__": 59 }, { - "__id__": 63 + "__id__": 60 } ], "_prefab": null, @@ -2895,13 +2773,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 59 + "__id__": 56 }, "_children": [], "_active": true, "_components": [ { - "__id__": 61 + "__id__": 58 } ], "_prefab": null, @@ -2957,7 +2835,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 57 }, "_enabled": true, "_materials": [ @@ -2990,7 +2868,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 56 }, "_enabled": true, "_materials": [ @@ -3022,7 +2900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 56 }, "_enabled": true, "_normalMaterial": null, @@ -3031,7 +2909,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 64 + "__id__": 61 } ], "_N$interactable": true, @@ -3087,7 +2965,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 59 + "__id__": 56 }, "_id": "f0VrSTnI5Bg6B/Ts9KUsfs" }, @@ -3106,20 +2984,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 66 + "__id__": 63 } ], "_active": true, "_components": [ { - "__id__": 68 + "__id__": 65 }, { - "__id__": 69 + "__id__": 66 } ], "_prefab": null, @@ -3175,13 +3053,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 62 }, "_children": [], "_active": true, "_components": [ { - "__id__": 67 + "__id__": 64 } ], "_prefab": null, @@ -3237,7 +3115,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 66 + "__id__": 63 }, "_enabled": true, "_materials": [ @@ -3270,7 +3148,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_materials": [ @@ -3302,7 +3180,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_normalMaterial": null, @@ -3311,7 +3189,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 70 + "__id__": 67 } ], "_N$interactable": true, @@ -3367,7 +3245,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 65 + "__id__": 62 }, "_id": "a09YOkZyhJHYj18zpcijBO" }, @@ -3386,20 +3264,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 72 + "__id__": 69 } ], "_active": true, "_components": [ { - "__id__": 74 + "__id__": 71 }, { - "__id__": 75 + "__id__": 72 } ], "_prefab": null, @@ -3455,13 +3333,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 68 }, "_children": [], "_active": true, "_components": [ { - "__id__": 73 + "__id__": 70 } ], "_prefab": null, @@ -3517,7 +3395,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 72 + "__id__": 69 }, "_enabled": true, "_materials": [ @@ -3550,7 +3428,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 68 }, "_enabled": true, "_materials": [ @@ -3582,7 +3460,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 68 }, "_enabled": true, "_normalMaterial": null, @@ -3591,7 +3469,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 76 + "__id__": 73 } ], "_N$interactable": true, @@ -3647,7 +3525,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 71 + "__id__": 68 }, "_id": "b3+cthiN9M/5KRbLTOp8ko" }, @@ -3666,20 +3544,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 78 + "__id__": 75 } ], "_active": true, "_components": [ { - "__id__": 80 + "__id__": 77 }, { - "__id__": 81 + "__id__": 78 } ], "_prefab": null, @@ -3735,13 +3613,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 77 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 79 + "__id__": 76 } ], "_prefab": null, @@ -3797,7 +3675,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 78 + "__id__": 75 }, "_enabled": true, "_materials": [ @@ -3830,7 +3708,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 74 }, "_enabled": true, "_materials": [ @@ -3862,7 +3740,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 74 }, "_enabled": true, "_normalMaterial": null, @@ -3871,7 +3749,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 82 + "__id__": 79 } ], "_N$interactable": true, @@ -3927,7 +3805,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 77 + "__id__": 74 }, "_id": "a91G0F1ztEkLM2gjPT+VaU" }, @@ -3946,20 +3824,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 84 + "__id__": 81 } ], "_active": true, "_components": [ { - "__id__": 86 + "__id__": 83 }, { - "__id__": 87 + "__id__": 84 } ], "_prefab": null, @@ -4015,13 +3893,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 83 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 85 + "__id__": 82 } ], "_prefab": null, @@ -4077,7 +3955,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 84 + "__id__": 81 }, "_enabled": true, "_materials": [ @@ -4110,7 +3988,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 80 }, "_enabled": true, "_materials": [ @@ -4142,7 +4020,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 80 }, "_enabled": true, "_normalMaterial": null, @@ -4151,7 +4029,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 88 + "__id__": 85 } ], "_N$interactable": true, @@ -4207,7 +4085,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 83 + "__id__": 80 }, "_id": "bevIjnSAJOn5MeW422Y+aw" }, @@ -4226,20 +4104,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 90 + "__id__": 87 } ], "_active": true, "_components": [ { - "__id__": 92 + "__id__": 89 }, { - "__id__": 93 + "__id__": 90 } ], "_prefab": null, @@ -4295,13 +4173,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 89 + "__id__": 86 }, "_children": [], "_active": true, "_components": [ { - "__id__": 91 + "__id__": 88 } ], "_prefab": null, @@ -4357,7 +4235,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 90 + "__id__": 87 }, "_enabled": true, "_materials": [ @@ -4390,7 +4268,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 86 }, "_enabled": true, "_materials": [ @@ -4422,7 +4300,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 86 }, "_enabled": true, "_normalMaterial": null, @@ -4431,7 +4309,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 94 + "__id__": 91 } ], "_N$interactable": true, @@ -4487,7 +4365,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 89 + "__id__": 86 }, "_id": "14oKZTFmZFJIH5LApG6gCz" }, @@ -4506,20 +4384,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 96 + "__id__": 93 } ], "_active": true, "_components": [ { - "__id__": 98 + "__id__": 95 }, { - "__id__": 99 + "__id__": 96 } ], "_prefab": null, @@ -4575,13 +4453,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 95 + "__id__": 92 }, "_children": [], "_active": true, "_components": [ { - "__id__": 97 + "__id__": 94 } ], "_prefab": null, @@ -4637,7 +4515,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 96 + "__id__": 93 }, "_enabled": true, "_materials": [ @@ -4670,7 +4548,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 92 }, "_enabled": true, "_materials": [ @@ -4702,7 +4580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 92 }, "_enabled": true, "_normalMaterial": null, @@ -4711,7 +4589,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 100 + "__id__": 97 } ], "_N$interactable": true, @@ -4767,7 +4645,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 95 + "__id__": 92 }, "_id": "68ZV0ceh5Lgo1VHyJIhorl" }, @@ -4786,20 +4664,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 102 + "__id__": 99 } ], "_active": true, "_components": [ { - "__id__": 104 + "__id__": 101 }, { - "__id__": 105 + "__id__": 102 } ], "_prefab": null, @@ -4855,13 +4733,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 101 + "__id__": 98 }, "_children": [], "_active": true, "_components": [ { - "__id__": 103 + "__id__": 100 } ], "_prefab": null, @@ -4917,7 +4795,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 102 + "__id__": 99 }, "_enabled": true, "_materials": [ @@ -4950,7 +4828,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 98 }, "_enabled": true, "_materials": [ @@ -4982,7 +4860,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 98 }, "_enabled": true, "_normalMaterial": null, @@ -4991,7 +4869,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 106 + "__id__": 103 } ], "_N$interactable": true, @@ -5047,7 +4925,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 101 + "__id__": 98 }, "_id": "2en+0G+zVI4I027GXsViqq" }, @@ -5066,20 +4944,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 108 + "__id__": 105 } ], "_active": true, "_components": [ { - "__id__": 110 + "__id__": 107 }, { - "__id__": 111 + "__id__": 108 } ], "_prefab": null, @@ -5135,13 +5013,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 107 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 109 + "__id__": 106 } ], "_prefab": null, @@ -5197,7 +5075,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 108 + "__id__": 105 }, "_enabled": true, "_materials": [ @@ -5230,7 +5108,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 104 }, "_enabled": true, "_materials": [ @@ -5262,7 +5140,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 104 }, "_enabled": true, "_normalMaterial": null, @@ -5271,7 +5149,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 112 + "__id__": 109 } ], "_N$interactable": true, @@ -5327,7 +5205,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 107 + "__id__": 104 }, "_id": "fcLcv4F55ILarJcPoEx+3d" }, @@ -5346,20 +5224,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 114 + "__id__": 111 } ], "_active": true, "_components": [ { - "__id__": 116 + "__id__": 113 }, { - "__id__": 117 + "__id__": 114 } ], "_prefab": null, @@ -5415,13 +5293,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 113 + "__id__": 110 }, "_children": [], "_active": true, "_components": [ { - "__id__": 115 + "__id__": 112 } ], "_prefab": null, @@ -5477,7 +5355,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 114 + "__id__": 111 }, "_enabled": true, "_materials": [ @@ -5510,7 +5388,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 110 }, "_enabled": true, "_materials": [ @@ -5542,7 +5420,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 110 }, "_enabled": true, "_normalMaterial": null, @@ -5551,7 +5429,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 118 + "__id__": 115 } ], "_N$interactable": true, @@ -5607,7 +5485,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 113 + "__id__": 110 }, "_id": "aafQu13+ZHxb8tVZapcd2n" }, @@ -5626,20 +5504,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 120 + "__id__": 117 } ], "_active": true, "_components": [ { - "__id__": 122 + "__id__": 119 }, { - "__id__": 123 + "__id__": 120 } ], "_prefab": null, @@ -5695,13 +5573,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 119 + "__id__": 116 }, "_children": [], "_active": true, "_components": [ { - "__id__": 121 + "__id__": 118 } ], "_prefab": null, @@ -5757,7 +5635,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 120 + "__id__": 117 }, "_enabled": true, "_materials": [ @@ -5790,7 +5668,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 119 + "__id__": 116 }, "_enabled": true, "_materials": [ @@ -5822,7 +5700,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 119 + "__id__": 116 }, "_enabled": true, "_normalMaterial": null, @@ -5831,7 +5709,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 124 + "__id__": 121 } ], "_N$interactable": true, @@ -5887,7 +5765,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 119 + "__id__": 116 }, "_id": "50IFJGWB1FWqZIYeWB3oFG" }, @@ -5906,20 +5784,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 126 + "__id__": 123 } ], "_active": true, "_components": [ { - "__id__": 128 + "__id__": 125 }, { - "__id__": 129 + "__id__": 126 } ], "_prefab": null, @@ -5975,13 +5853,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 125 + "__id__": 122 }, "_children": [], "_active": true, "_components": [ { - "__id__": 127 + "__id__": 124 } ], "_prefab": null, @@ -6037,7 +5915,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 126 + "__id__": 123 }, "_enabled": true, "_materials": [ @@ -6070,7 +5948,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 122 }, "_enabled": true, "_materials": [ @@ -6102,7 +5980,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 122 }, "_enabled": true, "_normalMaterial": null, @@ -6111,7 +5989,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 130 + "__id__": 127 } ], "_N$interactable": true, @@ -6167,7 +6045,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 125 + "__id__": 122 }, "_id": "e8gF8YFdxOj5+BJEEdu9h0" }, @@ -6186,20 +6064,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 132 + "__id__": 129 } ], "_active": true, "_components": [ { - "__id__": 134 + "__id__": 131 }, { - "__id__": 135 + "__id__": 132 } ], "_prefab": null, @@ -6255,13 +6133,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 131 + "__id__": 128 }, "_children": [], "_active": true, "_components": [ { - "__id__": 133 + "__id__": 130 } ], "_prefab": null, @@ -6317,7 +6195,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 132 + "__id__": 129 }, "_enabled": true, "_materials": [ @@ -6350,7 +6228,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 131 + "__id__": 128 }, "_enabled": true, "_materials": [ @@ -6382,7 +6260,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 131 + "__id__": 128 }, "_enabled": true, "_normalMaterial": null, @@ -6391,7 +6269,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 136 + "__id__": 133 } ], "_N$interactable": true, @@ -6447,7 +6325,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 131 + "__id__": 128 }, "_id": "9bFxBleHNANr+nSLnGJeDT" }, @@ -6466,20 +6344,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 138 + "__id__": 135 } ], "_active": true, "_components": [ { - "__id__": 140 + "__id__": 137 }, { - "__id__": 141 + "__id__": 138 } ], "_prefab": null, @@ -6535,13 +6413,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 137 + "__id__": 134 }, "_children": [], "_active": true, "_components": [ { - "__id__": 139 + "__id__": 136 } ], "_prefab": null, @@ -6597,7 +6475,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 138 + "__id__": 135 }, "_enabled": true, "_materials": [ @@ -6630,7 +6508,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 137 + "__id__": 134 }, "_enabled": true, "_materials": [ @@ -6662,7 +6540,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 137 + "__id__": 134 }, "_enabled": true, "_normalMaterial": null, @@ -6671,7 +6549,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 142 + "__id__": 139 } ], "_N$interactable": true, @@ -6727,7 +6605,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 137 + "__id__": 134 }, "_id": "5fGP361SBNqofKz3J5kEQC" }, @@ -6746,20 +6624,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 144 + "__id__": 141 } ], "_active": true, "_components": [ { - "__id__": 146 + "__id__": 143 }, { - "__id__": 147 + "__id__": 144 } ], "_prefab": null, @@ -6815,13 +6693,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 143 + "__id__": 140 }, "_children": [], "_active": true, "_components": [ { - "__id__": 145 + "__id__": 142 } ], "_prefab": null, @@ -6877,7 +6755,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 144 + "__id__": 141 }, "_enabled": true, "_materials": [ @@ -6910,7 +6788,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 140 }, "_enabled": true, "_materials": [ @@ -6942,7 +6820,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 140 }, "_enabled": true, "_normalMaterial": null, @@ -6951,7 +6829,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 148 + "__id__": 145 } ], "_N$interactable": true, @@ -7007,7 +6885,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 143 + "__id__": 140 }, "_id": "492u/xS+1MRZAdJJ1qxzzJ" }, @@ -7026,20 +6904,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 150 + "__id__": 147 } ], "_active": true, "_components": [ { - "__id__": 152 + "__id__": 149 }, { - "__id__": 153 + "__id__": 150 } ], "_prefab": null, @@ -7095,13 +6973,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 149 + "__id__": 146 }, "_children": [], "_active": true, "_components": [ { - "__id__": 151 + "__id__": 148 } ], "_prefab": null, @@ -7157,7 +7035,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 150 + "__id__": 147 }, "_enabled": true, "_materials": [ @@ -7190,7 +7068,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 146 }, "_enabled": true, "_materials": [ @@ -7222,7 +7100,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 146 }, "_enabled": true, "_normalMaterial": null, @@ -7231,7 +7109,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 154 + "__id__": 151 } ], "_N$interactable": true, @@ -7287,7 +7165,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 149 + "__id__": 146 }, "_id": "eeNz2KyitJdqieZJD/Xx9X" }, @@ -7306,20 +7184,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 156 + "__id__": 153 } ], "_active": true, "_components": [ { - "__id__": 158 + "__id__": 155 }, { - "__id__": 159 + "__id__": 156 } ], "_prefab": null, @@ -7375,13 +7253,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 155 + "__id__": 152 }, "_children": [], "_active": true, "_components": [ { - "__id__": 157 + "__id__": 154 } ], "_prefab": null, @@ -7437,7 +7315,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 156 + "__id__": 153 }, "_enabled": true, "_materials": [ @@ -7470,7 +7348,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 155 + "__id__": 152 }, "_enabled": true, "_materials": [ @@ -7502,7 +7380,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 155 + "__id__": 152 }, "_enabled": true, "_normalMaterial": null, @@ -7511,7 +7389,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 160 + "__id__": 157 } ], "_N$interactable": true, @@ -7567,7 +7445,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 155 + "__id__": 152 }, "_id": "9ebB2BB1RMTKLqlWXpa28x" }, @@ -7586,20 +7464,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 162 + "__id__": 159 } ], "_active": true, "_components": [ { - "__id__": 164 + "__id__": 161 }, { - "__id__": 165 + "__id__": 162 } ], "_prefab": null, @@ -7655,13 +7533,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 161 + "__id__": 158 }, "_children": [], "_active": true, "_components": [ { - "__id__": 163 + "__id__": 160 } ], "_prefab": null, @@ -7717,7 +7595,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 162 + "__id__": 159 }, "_enabled": true, "_materials": [ @@ -7750,7 +7628,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 161 + "__id__": 158 }, "_enabled": true, "_materials": [ @@ -7782,7 +7660,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 161 + "__id__": 158 }, "_enabled": true, "_normalMaterial": null, @@ -7791,7 +7669,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 166 + "__id__": 163 } ], "_N$interactable": true, @@ -7847,7 +7725,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 161 + "__id__": 158 }, "_id": "f0m9Y1KzFONI3nagtLwjqm" }, @@ -7866,20 +7744,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 168 + "__id__": 165 } ], "_active": true, "_components": [ { - "__id__": 170 + "__id__": 167 }, { - "__id__": 171 + "__id__": 168 } ], "_prefab": null, @@ -7935,13 +7813,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 167 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 169 + "__id__": 166 } ], "_prefab": null, @@ -7997,7 +7875,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 168 + "__id__": 165 }, "_enabled": true, "_materials": [ @@ -8030,7 +7908,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 164 }, "_enabled": true, "_materials": [ @@ -8062,7 +7940,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 164 }, "_enabled": true, "_normalMaterial": null, @@ -8071,7 +7949,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 172 + "__id__": 169 } ], "_N$interactable": true, @@ -8127,7 +8005,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 167 + "__id__": 164 }, "_id": "1dks4O6C1JYIpJ2tD09Iu7" }, @@ -8146,20 +8024,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 174 + "__id__": 171 } ], "_active": true, "_components": [ { - "__id__": 176 + "__id__": 173 }, { - "__id__": 177 + "__id__": 174 } ], "_prefab": null, @@ -8215,13 +8093,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 173 + "__id__": 170 }, "_children": [], "_active": true, "_components": [ { - "__id__": 175 + "__id__": 172 } ], "_prefab": null, @@ -8277,7 +8155,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 174 + "__id__": 171 }, "_enabled": true, "_materials": [ @@ -8310,7 +8188,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 173 + "__id__": 170 }, "_enabled": true, "_materials": [ @@ -8342,7 +8220,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 173 + "__id__": 170 }, "_enabled": true, "_normalMaterial": null, @@ -8351,7 +8229,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 178 + "__id__": 175 } ], "_N$interactable": true, @@ -8407,7 +8285,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 173 + "__id__": 170 }, "_id": "a0HX8uFuVKjLjj/qLuBqMx" }, @@ -8426,20 +8304,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 180 + "__id__": 177 } ], "_active": true, "_components": [ { - "__id__": 182 + "__id__": 179 }, { - "__id__": 183 + "__id__": 180 } ], "_prefab": null, @@ -8495,13 +8373,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 179 + "__id__": 176 }, "_children": [], "_active": true, "_components": [ { - "__id__": 181 + "__id__": 178 } ], "_prefab": null, @@ -8557,7 +8435,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 180 + "__id__": 177 }, "_enabled": true, "_materials": [ @@ -8590,7 +8468,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 179 + "__id__": 176 }, "_enabled": true, "_materials": [ @@ -8622,7 +8500,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 179 + "__id__": 176 }, "_enabled": true, "_normalMaterial": null, @@ -8631,7 +8509,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 184 + "__id__": 181 } ], "_N$interactable": true, @@ -8687,7 +8565,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 179 + "__id__": 176 }, "_id": "aeyKAFfjhJHI54enYkiQ7H" }, @@ -8706,20 +8584,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 186 + "__id__": 183 } ], "_active": true, "_components": [ { - "__id__": 188 + "__id__": 185 }, { - "__id__": 189 + "__id__": 186 } ], "_prefab": null, @@ -8775,13 +8653,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 185 + "__id__": 182 }, "_children": [], "_active": true, "_components": [ { - "__id__": 187 + "__id__": 184 } ], "_prefab": null, @@ -8837,7 +8715,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 186 + "__id__": 183 }, "_enabled": true, "_materials": [ @@ -8870,7 +8748,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 182 }, "_enabled": true, "_materials": [ @@ -8902,7 +8780,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 182 }, "_enabled": true, "_normalMaterial": null, @@ -8911,7 +8789,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 190 + "__id__": 187 } ], "_N$interactable": true, @@ -8967,7 +8845,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 185 + "__id__": 182 }, "_id": "c8AeKs2aBAt7Zk90C4xbua" }, @@ -8986,20 +8864,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 192 + "__id__": 189 } ], "_active": true, "_components": [ { - "__id__": 194 + "__id__": 191 }, { - "__id__": 195 + "__id__": 192 } ], "_prefab": null, @@ -9055,13 +8933,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 191 + "__id__": 188 }, "_children": [], "_active": true, "_components": [ { - "__id__": 193 + "__id__": 190 } ], "_prefab": null, @@ -9117,7 +8995,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 192 + "__id__": 189 }, "_enabled": true, "_materials": [ @@ -9150,7 +9028,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 188 }, "_enabled": true, "_materials": [ @@ -9182,7 +9060,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 188 }, "_enabled": true, "_normalMaterial": null, @@ -9191,7 +9069,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 196 + "__id__": 193 } ], "_N$interactable": true, @@ -9247,7 +9125,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 191 + "__id__": 188 }, "_id": "f8i424vd1PGY6uaZTXTsKo" }, @@ -9266,20 +9144,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 198 + "__id__": 195 } ], "_active": true, "_components": [ { - "__id__": 200 + "__id__": 197 }, { - "__id__": 201 + "__id__": 198 } ], "_prefab": null, @@ -9335,13 +9213,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 197 + "__id__": 194 }, "_children": [], "_active": true, "_components": [ { - "__id__": 199 + "__id__": 196 } ], "_prefab": null, @@ -9397,7 +9275,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 198 + "__id__": 195 }, "_enabled": true, "_materials": [ @@ -9430,7 +9308,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 197 + "__id__": 194 }, "_enabled": true, "_materials": [ @@ -9462,7 +9340,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 197 + "__id__": 194 }, "_enabled": true, "_normalMaterial": null, @@ -9471,7 +9349,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 202 + "__id__": 199 } ], "_N$interactable": true, @@ -9527,7 +9405,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 197 + "__id__": 194 }, "_id": "d8xaiqyHRO3qjmHJAAyMVi" }, @@ -9546,20 +9424,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 204 + "__id__": 201 } ], "_active": true, "_components": [ { - "__id__": 206 + "__id__": 203 }, { - "__id__": 207 + "__id__": 204 } ], "_prefab": null, @@ -9615,13 +9493,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 203 + "__id__": 200 }, "_children": [], "_active": true, "_components": [ { - "__id__": 205 + "__id__": 202 } ], "_prefab": null, @@ -9677,7 +9555,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 204 + "__id__": 201 }, "_enabled": true, "_materials": [ @@ -9710,7 +9588,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 200 }, "_enabled": true, "_materials": [ @@ -9742,7 +9620,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 200 }, "_enabled": true, "_normalMaterial": null, @@ -9751,7 +9629,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 208 + "__id__": 205 } ], "_N$interactable": true, @@ -9807,7 +9685,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 203 + "__id__": 200 }, "_id": "89LqCBIi5Dy4O15VlWt8QI" }, @@ -9826,20 +9704,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 210 + "__id__": 207 } ], "_active": true, "_components": [ { - "__id__": 212 + "__id__": 209 }, { - "__id__": 213 + "__id__": 210 } ], "_prefab": null, @@ -9895,13 +9773,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 209 + "__id__": 206 }, "_children": [], "_active": true, "_components": [ { - "__id__": 211 + "__id__": 208 } ], "_prefab": null, @@ -9957,7 +9835,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 210 + "__id__": 207 }, "_enabled": true, "_materials": [ @@ -9990,7 +9868,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 209 + "__id__": 206 }, "_enabled": true, "_materials": [ @@ -10022,7 +9900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 209 + "__id__": 206 }, "_enabled": true, "_normalMaterial": null, @@ -10031,7 +9909,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 214 + "__id__": 211 } ], "_N$interactable": true, @@ -10087,7 +9965,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 209 + "__id__": 206 }, "_id": "25j/mznoNCZY36yaujDiZT" }, @@ -10106,20 +9984,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 216 + "__id__": 213 } ], "_active": true, "_components": [ { - "__id__": 218 + "__id__": 215 }, { - "__id__": 219 + "__id__": 216 } ], "_prefab": null, @@ -10175,13 +10053,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 215 + "__id__": 212 }, "_children": [], "_active": true, "_components": [ { - "__id__": 217 + "__id__": 214 } ], "_prefab": null, @@ -10237,7 +10115,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 216 + "__id__": 213 }, "_enabled": true, "_materials": [ @@ -10270,7 +10148,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 212 }, "_enabled": true, "_materials": [ @@ -10302,7 +10180,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 212 }, "_enabled": true, "_normalMaterial": null, @@ -10311,7 +10189,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 220 + "__id__": 217 } ], "_N$interactable": true, @@ -10367,7 +10245,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 215 + "__id__": 212 }, "_id": "8bUwvu2XlPZ6sNwewjqmgF" }, @@ -10386,20 +10264,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 222 + "__id__": 219 } ], "_active": true, "_components": [ { - "__id__": 224 + "__id__": 221 }, { - "__id__": 225 + "__id__": 222 } ], "_prefab": null, @@ -10455,13 +10333,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 221 + "__id__": 218 }, "_children": [], "_active": true, "_components": [ { - "__id__": 223 + "__id__": 220 } ], "_prefab": null, @@ -10517,7 +10395,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 222 + "__id__": 219 }, "_enabled": true, "_materials": [ @@ -10550,7 +10428,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 221 + "__id__": 218 }, "_enabled": true, "_materials": [ @@ -10582,7 +10460,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 221 + "__id__": 218 }, "_enabled": true, "_normalMaterial": null, @@ -10591,7 +10469,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 226 + "__id__": 223 } ], "_N$interactable": true, @@ -10647,7 +10525,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 221 + "__id__": 218 }, "_id": "3151oR5TZEoqJQm/Xkotpg" }, @@ -10666,20 +10544,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 228 + "__id__": 225 } ], "_active": true, "_components": [ { - "__id__": 230 + "__id__": 227 }, { - "__id__": 231 + "__id__": 228 } ], "_prefab": null, @@ -10735,13 +10613,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 227 + "__id__": 224 }, "_children": [], "_active": true, "_components": [ { - "__id__": 229 + "__id__": 226 } ], "_prefab": null, @@ -10797,7 +10675,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 228 + "__id__": 225 }, "_enabled": true, "_materials": [ @@ -10830,7 +10708,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 227 + "__id__": 224 }, "_enabled": true, "_materials": [ @@ -10862,7 +10740,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 227 + "__id__": 224 }, "_enabled": true, "_normalMaterial": null, @@ -10871,7 +10749,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 232 + "__id__": 229 } ], "_N$interactable": true, @@ -10927,7 +10805,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 227 + "__id__": 224 }, "_id": "58RTQYo/pCXo+GDAVYXeHE" }, @@ -10946,20 +10824,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 234 + "__id__": 231 } ], "_active": true, "_components": [ { - "__id__": 236 + "__id__": 233 }, { - "__id__": 237 + "__id__": 234 } ], "_prefab": null, @@ -11015,13 +10893,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 233 + "__id__": 230 }, "_children": [], "_active": true, "_components": [ { - "__id__": 235 + "__id__": 232 } ], "_prefab": null, @@ -11077,7 +10955,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 234 + "__id__": 231 }, "_enabled": true, "_materials": [ @@ -11110,7 +10988,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 233 + "__id__": 230 }, "_enabled": true, "_materials": [ @@ -11142,7 +11020,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 233 + "__id__": 230 }, "_enabled": true, "_normalMaterial": null, @@ -11151,7 +11029,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 238 + "__id__": 235 } ], "_N$interactable": true, @@ -11207,7 +11085,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 233 + "__id__": 230 }, "_id": "a5tEFqUyFD+aewpN832re3" }, @@ -11226,20 +11104,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 240 + "__id__": 237 } ], "_active": true, "_components": [ { - "__id__": 242 + "__id__": 239 }, { - "__id__": 243 + "__id__": 240 } ], "_prefab": null, @@ -11295,13 +11173,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 239 + "__id__": 236 }, "_children": [], "_active": true, "_components": [ { - "__id__": 241 + "__id__": 238 } ], "_prefab": null, @@ -11357,7 +11235,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 240 + "__id__": 237 }, "_enabled": true, "_materials": [ @@ -11390,7 +11268,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 236 }, "_enabled": true, "_materials": [ @@ -11422,7 +11300,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 236 }, "_enabled": true, "_normalMaterial": null, @@ -11431,7 +11309,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 244 + "__id__": 241 } ], "_N$interactable": true, @@ -11487,7 +11365,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 239 + "__id__": 236 }, "_id": "2eYsDnIV5IEJU90tLqp1fk" }, @@ -11506,20 +11384,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 246 + "__id__": 243 } ], "_active": true, "_components": [ { - "__id__": 248 + "__id__": 245 }, { - "__id__": 249 + "__id__": 246 } ], "_prefab": null, @@ -11575,13 +11453,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 245 + "__id__": 242 }, "_children": [], "_active": true, "_components": [ { - "__id__": 247 + "__id__": 244 } ], "_prefab": null, @@ -11637,7 +11515,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 246 + "__id__": 243 }, "_enabled": true, "_materials": [ @@ -11670,7 +11548,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 245 + "__id__": 242 }, "_enabled": true, "_materials": [ @@ -11702,7 +11580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 245 + "__id__": 242 }, "_enabled": true, "_normalMaterial": null, @@ -11711,7 +11589,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 250 + "__id__": 247 } ], "_N$interactable": true, @@ -11767,7 +11645,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 245 + "__id__": 242 }, "_id": "edIND0fB1P64VuNg51ugjO" }, @@ -11786,16 +11664,16 @@ "_name": "New Sprite", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 252 + "__id__": 249 }, { - "__id__": 253 + "__id__": 250 } ], "_prefab": null, @@ -11851,7 +11729,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 251 + "__id__": 248 }, "_enabled": true, "_materials": [ @@ -11885,7 +11763,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 251 + "__id__": 248 }, "_enabled": true, "_normalMaterial": null, @@ -11894,7 +11772,7 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 254 + "__id__": 251 } ], "_N$interactable": true, @@ -11950,7 +11828,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 251 + "__id__": 248 }, "_id": "15MwQHwkBCIJzp1FEjHkP/" }, @@ -12016,8 +11894,6 @@ "__id__": 5 }, "_enabled": true, - "label": null, - "text": "hello", "_id": "50zCP3Mq9MKIKjMbohPY8j" } ] \ No newline at end of file diff --git a/assets/Scene/OverScene.fire b/assets/Scene/OverScene.fire index 9af69fd..af5e64f 100644 --- a/assets/Scene/OverScene.fire +++ b/assets/Scene/OverScene.fire @@ -57,7 +57,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5" }, { @@ -1411,7 +1411,7 @@ }, "component": "", "_componentId": "805c6nf399HWZeuWnNB9CTH", - "handler": "back", + "handler": "openRank", "customEventData": "" }, { diff --git a/assets/Scene/OverScene.fire.meta b/assets/Scene/OverScene.fire.meta index 0c291f3..7403015 100644 --- a/assets/Scene/OverScene.fire.meta +++ b/assets/Scene/OverScene.fire.meta @@ -3,6 +3,6 @@ "uuid": "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5", "importer": "scene", "asyncLoadAssets": false, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "subMetas": {} } \ No newline at end of file diff --git a/assets/Scene/RankScene.fire.meta b/assets/Scene/RankScene.fire.meta index f8dccc5..e8c4f8e 100644 --- a/assets/Scene/RankScene.fire.meta +++ b/assets/Scene/RankScene.fire.meta @@ -3,6 +3,6 @@ "uuid": "2d2f792f-a40c-49bb-a189-ed176a246e49", "importer": "scene", "asyncLoadAssets": false, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "subMetas": {} } \ No newline at end of file diff --git a/assets/Script/CtrlFluxayTexture.js b/assets/Script/CtrlFluxayTexture.js deleted file mode 100644 index fc3951d..0000000 --- a/assets/Script/CtrlFluxayTexture.js +++ /dev/null @@ -1,94 +0,0 @@ - -cc.Class({ - extends: cc.Component, - - properties: { - m_delayTime: { - default: 0, - }, - m_fluxayTime: { - default: 1, - }, - m_intervalTime: { - default: 1, - }, - m_scale: { - default: 1, - }, - m_angle: { - default: 0, - }, - m_reviseStartTime:{ - default: 0, - }, - m_reviseTimeScale:{ - default: 1, - }, - }, - - ctor(){ - this._time = 0; - }, - onLoad () { - this._time -= this.m_delayTime; - - let sprite = this.node.getComponent(cc.Sprite); - this._material = sprite.getMaterial(0); - this._material.setProperty("u_scale", this.m_scale); - this._material.setProperty("u_angle", this.m_angle); - - this.refreshSpriteFrameData(); - }, - - update(dt) { - if (this._time > (this.m_fluxayTime + this.m_intervalTime)) { - this._time = 0; - } - - let u_time = this._time/this.m_fluxayTime; - if(this._time >this.m_fluxayTime) - { - u_time = 1+((this._time-this.m_fluxayTime)/this.m_intervalTime); - } - if(this.m_reviseTimeScale != null && this.m_reviseStartTime != null) - { - u_time = u_time/this.m_reviseTimeScale; - u_time -= this.m_reviseStartTime; - } - this._material.setProperty("u_time", u_time); - this._time += dt; - }, - - refreshSpriteFrameData(){ - let sprite = this.node.getComponent(cc.Sprite); - let material = sprite.getMaterial(0); - let frame = sprite.spriteFrame; - - if(frame != null) - { - // xMin - let l = frame.uv[0]; - // xMax - let r = frame.uv[6]; - // yMax - let b = frame.uv[3]; - // yMin - let t = frame.uv[5]; - // 纹理在合图中的四个边界 uv 坐标 - let u_uvOffset = new cc.Vec4(l, t, r, b); - // 纹理是否旋转 - let u_uvRotated = frame.isRotated() ? 1.0 : 0.0; - // 设置材质的属性 - - if(material.getProperty("u_uvOffset") !== undefined) - { - material.setProperty("u_uvOffset", u_uvOffset); - } - if(material.getProperty("u_uvRotated") !== undefined) - { - material.setProperty("u_uvRotated", u_uvRotated); - } - } - } - -}); diff --git a/assets/Script/GameData.ts b/assets/Script/GameData.ts index 34b0b0c..c9ce95d 100644 --- a/assets/Script/GameData.ts +++ b/assets/Script/GameData.ts @@ -1,25 +1,11 @@ -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html const {ccclass, property} = cc._decorator; - @ccclass export default class GameData extends cc.Component { - - @property(cc.Label) - label: cc.Label = null; - - @property - text: string = 'hello'; static _instance: any; GM_INFO: {}; - AudioManager: any; - - GAME_DATA: any[]; + AudioManager: any;//音频管理 + GAME_DATA: any[];//备用 LEVEL_INFO: { //第一难度 number: number; //太阳总数 moveNumber: number; //太阳可移动个数 @@ -28,20 +14,15 @@ export default class GameData extends cc.Component { maxMove: number; //初始布局最大移动距离 repeat: number; //是否重叠,现在0 不重叠 1 重叠1个 }[]; + //上报数据,有的游戏为一整局游戏一次上报,有的为每次操作上报 CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; }; - // LEVEL_INFO: { number: number; }[]; - // LEVEL_INFO:[]; - - // LIFE-CYCLE CALLBACKS: - - onLoad () { if (GameData._instance == null) { GameData._instance = this; cc.game.addPersistRootNode(this.node); - - this.AudioManager = this.node.getComponent('BallAudioManager'); + //设置为常驻,绑定音频以及游戏各类信息 + this.AudioManager = this.node.getComponent('AudioManager'); } else { this.node.destroy(); @@ -50,6 +31,15 @@ export default class GameData extends cc.Component { } start () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = [ + ] + } + + GM_INFO_init(){ this.GM_INFO = { // isEnd: false, mean_Time:0, //平均放箭速度 @@ -63,6 +53,27 @@ export default class GameData extends cc.Component { matchId:null, custom: 0 }; + } + + CLICK_init(){ + this.CLICK_DATA = + { + type:1, + success:false, + round:0, + totalSunCount:0, + movedSunCount:0, + sunSpeed:0, + overlapSunCount:0, + colorList:[], + duration:0, + difficultyLevel:0, + sunList:[], + stepTimeList:[], + remainder:120 + } + } + LEVEL_INFO_init(){ this.LEVEL_INFO = [ { //第一难度 number:3, //太阳总数 @@ -267,47 +278,5 @@ export default class GameData extends cc.Component { } ] - - this.CLICK_DATA = - { - type:1, - success:false, - round:0, - totalSunCount:0, - movedSunCount:0, - sunSpeed:0, - overlapSunCount:0, - colorList:[], - duration:0, - difficultyLevel:0, - sunList:[], - stepTimeList:[], - remainder:120 - } - - this.GAME_DATA = [ - - ] } - - CLICK_init(){ - this.CLICK_DATA = - { - type:1, - success:false, - round:0, - totalSunCount:0, - movedSunCount:0, - sunSpeed:0, - overlapSunCount:0, - colorList:[], - duration:0, - difficultyLevel:0, - sunList:[], - stepTimeList:[], - remainder:120 - } - } - - // update (dt) {} } diff --git a/assets/Script/GameManager.ts b/assets/Script/GameManager.ts index e5353be..08e08fc 100644 --- a/assets/Script/GameManager.ts +++ b/assets/Script/GameManager.ts @@ -1,17 +1,10 @@ -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html - +// 主游戏控制类 const {ccclass, property} = cc._decorator; import GameData from './GameData'; import { Notification } from './Notification'; import HttpUtil from './crypto/serverAPI'; @ccclass export default class GameManager extends cc.Component { - @property(cc.Node) ball: cc.Node = null; @property(cc.Prefab) @@ -24,12 +17,9 @@ export default class GameManager extends cc.Component { linePrefab: cc.Prefab = null; @property(cc.Node) hit: cc.Node = null; - bg1: cc.Node = null; bg2: cc.Node = null; time: cc.Label = null; - - // LIFE-CYCLE CALLBACKS: begin: boolean = false; fuhuo: boolean = false; over: boolean = false; @@ -52,8 +42,6 @@ export default class GameManager extends cc.Component { Pos_Array: any[]; time_Array: any[]; color_Array: any[]; - - @property(cc.Label) levelLabel: cc.Label = null; static _instance: any; @@ -62,41 +50,11 @@ export default class GameManager extends cc.Component { numberRepeat: number; round: number; pause: boolean; - - onLoad () { - - } - + onLoad () {} start () { this.fit(); this.init(); } - fit(){ - this.fitTop = 450; //600 - this.fitBot = -600; //-700 - var jg = this.setFit(); - if(!jg){ - this.fitTop = 600; - this.fitBot = -700; - } - } - - getSetScreenResolutionFlag () { - let size = cc.winSize; - let width = size.width; - let height = size.height; - if ((height / width) > (16.2 / 9)) return false; - return true; - } - //判断全面屏适配 - setFit () { - let flag = this.getSetScreenResolutionFlag(); - if (flag) { - } else { - } - return flag; - } - //初始化数据 init(){ this.node.getChildByName("GameOver").zIndex = 100; @@ -121,7 +79,6 @@ export default class GameManager extends cc.Component { this.countTime = 12000000; } // this.levelLabel.string = this.level + ""; - this.timeCount = 0.1; this.clickNow = 0; this.clickCount = 0; @@ -141,19 +98,40 @@ export default class GameManager extends cc.Component { this.overTime = 0; this.winTime = 0; GameData._instance.GM_INFO.total = 0; - GameData._instance.GM_INFO.mean_Time = 0; this.schedule(this.updateCountDownTime,1); - - this.startGame(); } - + //根据是否全面屏,做独立适配方面 + fit(){ + this.fitTop = 450; //600 + this.fitBot = -600; //-700 + var jg = this.setFit(); + if(!jg){ + this.fitTop = 600; + this.fitBot = -700; + } + } + //判断全面屏 + getSetScreenResolutionFlag () { + let size = cc.winSize; + let width = size.width; + let height = size.height; + if ((height / width) > (16.2 / 9)) return false; + return true; + } + //判断全面屏适配 + setFit () { + let flag = this.getSetScreenResolutionFlag(); + if (flag) { + } else { + } + return flag; + } + //返回首页 backScene(){ cc.director.loadScene("LoadScene"); } - - //下一关,或者重新开始,或者返回上一关,根据level决定 reStart(type){ // if(GameData._instance.GM_INFO.custom != 0){ @@ -167,7 +145,6 @@ export default class GameManager extends cc.Component { this.timeStart = 0; this.repeat = -1; this.numberRepeat = -1; - this.begin = false; this.route_Array = []; this.now_Array = []; @@ -176,7 +153,6 @@ export default class GameManager extends cc.Component { this.moveArray = []; this.time_Array = []; this.color_Array = []; - if(type == 0){ this.bgMove(1); } @@ -188,17 +164,11 @@ export default class GameManager extends cc.Component { } } - - begin_Guide(){ - - } - //获取时间戳 getTime(){ const timestamp = new Date().getTime(); return timestamp; } - //获胜 passLevel(){ this.destroyLine(); @@ -207,8 +177,8 @@ export default class GameManager extends cc.Component { let timeCount = 0; let ball = this.ball_Array[0]; for(let i=1; i< this.ball_Array.length; i++){ - let time = this.calculateDistance2(this.ball_Array[i].x,this.ball_Array[i].y, - this.ball_Array[i-1].x,this.ball_Array[i-1].y); + let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y, + this.ball_Array[i-1].x,this.ball_Array[i-1].y,2); timeArray.push(time); } for(let k=1; k< this.ball_Array.length; k++){ @@ -232,7 +202,6 @@ export default class GameManager extends cc.Component { timeCount += (timeArray[k-1]+0.1); } } - } //失败 loseLevel(type){ @@ -254,16 +223,14 @@ export default class GameManager extends cc.Component { .start() } } - } - + //清理太阳 clearSun(){ for(let k=0; k< this.ball_Array.length; k++){ this.ball_Array[k].removeFromParent(); this.ball_Array[k] = null; } } - //点击太阳执行方法 clickSun(data){ if(this.begin == true){ @@ -279,27 +246,17 @@ export default class GameManager extends cc.Component { 0.2); } this.clickNow += 1; - // GameData._instance.GM_INFO.total += 1; if(this.ball_Array[this.clickNow-1]) this.ball_Array[this.clickNow-1].getChildByName("guang").active = false; - // setTimeout(() => { - - // }, 200); - - if(this.clickNow == this.now_Array.length){ this.pause = true; GameData._instance.GM_INFO.total += this.clickNow; - this.overTime = this.getTime(); if(this.startTime > 0 && this.overTime > 0){ GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); } - // console.log("成功",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime); - // console.log(GameData._instance.GM_INFO.mean_Time); let finish_time = parseInt((this.overTime - this.startTime)/100+""); this.startTime = 0; this.overTime = 0; - // console.log("33333333"); let color = "y"; if(this.level < 4 && this.level > 1)color = "yr"; else if(this.level >= 4) color = "yrb"; @@ -341,8 +298,6 @@ export default class GameManager extends cc.Component { stepTimeList:this.time_Array, remainder:this.countTime } - - this.outPut(); this.setData(); cc.tween(win) .delay(0.4) @@ -358,18 +313,15 @@ export default class GameManager extends cc.Component { this.level += 0; // this.levelLabel.string = this.level + ""; this.fuhuo = true; - this.passLevel(); } else{ this.level += 1; // this.levelLabel.string = this.level + ""; this.fuhuo = true; - this.passLevel(); } } - }) .start(); } @@ -377,11 +329,9 @@ export default class GameManager extends cc.Component { else{ this.setLoss(); } - // this.hitAction(data) } - } - + //执行失败 setLoss(){ GameData._instance.AudioManager.playWarning(); this.begin = false; @@ -413,7 +363,6 @@ export default class GameManager extends cc.Component { sunArray.push(0); } } - GameData._instance.CLICK_DATA = { type:1, @@ -430,7 +379,6 @@ export default class GameManager extends cc.Component { stepTimeList:this.time_Array, remainder:this.countTime } - this.outPut(); this.setData(); if(this.fuhuo == true){ this.fuhuo = false; @@ -459,22 +407,6 @@ export default class GameManager extends cc.Component { .to(0.1,{opacity:0}) .start(); } - - hitAction(data){ - this.hit.active = true; this.hit.opacity = 0; - this.hit.setPosition - this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35); - cc.tween(this.hit) - .to(0,{opacity:255}) - .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)}) - .delay(0.2) - .to(0.1,{opacity:0}) - .call(() =>{ - this.hit.active = false; - }) - .start(); - } - //开始游戏 startGame(){ if(this.over == false && this.countTime > 0){ @@ -484,10 +416,9 @@ export default class GameManager extends cc.Component { cc.tween(this.ball) .to(0.5,{opacity:255,scale:1.3}) .start(); - // this.runGame() } } - + //执行太阳运行动画,以及后面移动动画 runGame(){ let time = -650; for(let i=0; i= 2){ speed = 7 - info.moveSpeed/2; } - - if(info.moveNumber > 0){ //0 1 2 3 4 5 6 7 8 9 //可移动区分 - let pos = cc.v2(0,0); - - - // this.repeat = -1; - // this.numberRepeat = -1; - - //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 + //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for(let k =0; k= 0; m--){ @@ -670,7 +584,6 @@ export default class GameManager extends cc.Component { } } } - let lastNumber = 0; //锁定最后一个可移动的 for(let j =0; j 1 || num <-1){ - if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ - jg = this.getRandomArray(lastNumber); - } - } - else{ - jg = this.getRandomArray(lastNumber); - } - - return jg; - } + //暂时作废 + // getRandomArray(lastNumber){ + // let num = parseInt(Math.random()*8 - 4 + ""); + // let jg = num + lastNumber; + // if(num > 1 || num <-1){ + // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ + // jg = this.getRandomArray(lastNumber); + // } + // } + // else{ + // jg = this.getRandomArray(lastNumber); + // } + // return jg; + // } //创建太阳所需数据 createSun(){ @@ -747,12 +658,9 @@ export default class GameManager extends cc.Component { } }, tiemOut*100); - } - // 0 0 0 0 0 0 0 0 0 0 0 - } - + //创建太阳位置,颜色信息等数据 createPos(){ let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false}; let levelData = GameData._instance.LEVEL_INFO[this.level-1]; @@ -767,11 +675,10 @@ export default class GameManager extends cc.Component { colorArray.sort(() => Math.random() - 0.5); if(levelData.number == 4) colorArray = [0,0,0,0]; this.color_Array = colorArray; - - + //存储太阳数据 for(let i=0; i 0){ for(let i=0; i 0){ for(let i=0; i{ + this.hit.active = false; + }) + .start(); + } + //创造太阳 + createBall(number,color,speed,repeat){ + let ball = null; + if(color == 0)ball = cc.instantiate(this.qiu1); + else if(color == 1)ball = cc.instantiate(this.qiu2); + else if(color == 2)ball = cc.instantiate(this.qiu3); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.now_Array.length - number; + ball.setPosition(this.ball.x,this.ball.y); + ball.getComponent("Sun").init(number,color,speed,repeat); + this.ball_Array.push(ball); + } + //销毁连线 + destroyLine() { + for(let i =0; i< this.node.getChildByName("Line").children.length;i++){ + if(this.node.getChildByName("Line").children[i]){ + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + } + //创建连线 + createLine(start,end,time){ + let line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x,start.y); + const dx = end.x - start.x; + const dy = end.y - start.y; + var distance = Math.sqrt(dx*dx + dy*dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time,{fillRange:1}) + .start(); + } + //获取两点之间的角度,将来都可放工具类 + calculateAngle(x1, y1, x2, y2) { + var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90; + return -angle; + } + //获取两点之间的距离 返回对应时间 + calculateDistance(x1, y1, x2, y2, num) { + const dx = x2 - x1; + const dy = y2 - y1; + let time = 0; + var distance = Math.sqrt(dx*dx + dy*dy); + if(num == 1){ + if(distance > 800) distance = 800; + time = distance/800 * 0.6; + } + else if(num == 2){ + if(distance > 1200) distance = 1200; + time = distance/1200 * 1; + } + else if(num == 3){ + if(distance > 1200) distance = 1200; + time = distance/1200 * 1.5; + } + return time; + } + //获取两点之间距离 返回距离判断 getDistance2(x1, y1, x2, y2,num) { var jg = false; const dx = x2 - x1; @@ -874,110 +851,22 @@ export default class GameManager extends cc.Component { } return jg; } - - - createBall(number,color,speed,repeat){ - let ball = null; - if(color == 0)ball = cc.instantiate(this.qiu1); - else if(color == 1)ball = cc.instantiate(this.qiu2); - else if(color == 2)ball = cc.instantiate(this.qiu3); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.now_Array.length - number; - ball.setPosition(this.ball.x,this.ball.y); - ball.getComponent("Sun").init(number,color,speed,repeat); - this.ball_Array.push(ball); - } - - destroyLine() { - for(let i =0; i< this.node.getChildByName("Line").children.length;i++){ - if(this.node.getChildByName("Line").children[i]){ - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - } - - createLine(start,end,time){ - let line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x,start.y); - - const dx = end.x - start.x; - const dy = end.y - start.y; - var distance = Math.sqrt(dx*dx + dy*dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time,{fillRange:1}) - .start(); - } - - calculateAngle(x1, y1, x2, y2) { - var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90; - return -angle; - } - - calculateDistance(x1, y1, x2, y2) { - const dx = x2 - x1; - const dy = y2 - y1; - var distance = Math.sqrt(dx*dx + dy*dy); - if(distance > 800) distance = 800; - const time = distance/800 * 0.6; - return time; - } - - calculateDistance2(x1, y1, x2, y2) { - const dx = x2 - x1; - const dy = y2 - y1; - var distance = Math.sqrt(dx*dx + dy*dy); - if(distance > 1200) distance = 1200; - const time = distance/1200 * 1; - return time; - } - - calculateDistance3(x1, y1, x2, y2) { - const dx = x2 - x1; - const dy = y2 - y1; - var distance = Math.sqrt(dx*dx + dy*dy); - if(distance > 1200) distance = 1200; - const time = distance/1200 * 1.5; - return time; - } - //背景移动 bgMove(type){ let random = Math.random()*300 + 300; let posX = Math.random()*600 - 300; - let y1 = this.bg1.y - random*type; - // let y2 = this.bg2.y - random*type; let time1 = 0.7*(random/400); - cc.tween(this.ball) .to(0.3,{scale:1.3}) .to(time1,{x:posX}) .start(); - cc.tween(this.bg1) .delay(0.3) .to(time1,{y:y1}) .start(); - - // cc.tween(this.bg2) - // .delay(0.3) - // .to(time1,{y:y2}) - // .start(); - setTimeout(() => { - // if(this.over == false && GameData._instance.GM_INFO.custom == 0){ - // this.startGame(); - // } - if(this.over == false){ - this.startGame(); - } - + if(this.over == false) this.startGame(); }, time1*1500); } //时间格式转换 @@ -995,8 +884,6 @@ export default class GameManager extends cc.Component { if(afterMin < 10) miao = "0" + afterMin; return m + ':' + miao } - - //如果是倒计时 调用此方法 updateCountDownTime () { if (this.countTime > 0 && this.pause == false) { @@ -1020,20 +907,19 @@ export default class GameManager extends cc.Component { this.unschedule(this.updateCountDownTime); this.setLoss(); var time = 0; - - // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount); if(this.clickCount > 0) time = parseInt(GameData._instance.GM_INFO.mean_Time/this.clickCount + ""); GameData._instance.GM_INFO.mean_Time = parseInt(time/100 + ""); GameData._instance.GM_INFO.mean_Time = GameData._instance.GM_INFO.mean_Time /10; - // console.log( GameData._instance.GM_INFO.mean_Time,time); - // debugger; if(time > 10000) time = (Math.random()*10+5)*100; this.setRank(time); } } } - + //上传每次操作数据 setData(){ + GameData._instance.GAME_DATA = []; + GameData._instance.GAME_DATA.push(GameData._instance.CLICK_DATA); + GameData._instance.CLICK_init(); let data = GameData._instance.GAME_DATA; let matchId = this.getMatchId(); console.log(matchId); @@ -1044,10 +930,9 @@ export default class GameManager extends cc.Component { console.log("上传数据:") HttpUtil.uploadUserLogData(postData,function(){}) } - + //获取matchId 用于上传每次点击数据里面记录id方便查询 getMatchId (){ let matchId = cc.sys.localStorage.getItem("matchId"); - if(matchId == "undifend" || matchId==null){ matchId = this.setMatchId(); } @@ -1065,20 +950,18 @@ export default class GameManager extends cc.Component { cc.sys.localStorage.setItem("matchId",matchId); } } - return matchId; } - + //检测matchId 如果有缓存以前的nanana数据清除 containsNanana(str) { return /na/i.test(str); } - + //重新设置MatchId setMatchId (){ // 定义包含可用字符的字符集 const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; // 创建一个数组以保存随机字符 const uuidArray = []; - // 循环10次 生成10位的UUID for (let i = 0; i < 10; i++) { // 生成随机索引,范围是字符集的长度 @@ -1088,14 +971,13 @@ export default class GameManager extends cc.Component { // 将字符添加到数组中 uuidArray.push(randomChar); } - let data = uuidArray.join('') + 1 + ""; cc.sys.localStorage.setItem("matchNumber",1); cc.sys.localStorage.setItem("matchId",data); GameData._instance.GM_INFO.matchId = data; return data; } - + //上传排行榜数据 setRank(time){ let postData = { "type":1, @@ -1104,7 +986,6 @@ export default class GameManager extends cc.Component { "success": GameData._instance.GM_INFO.success }; - // console.log(postData); HttpUtil.rankData(1,function(){},postData); this.node.getChildByName("GameOver").active = true; this.node.getChildByName("GameOver").opacity = 0; @@ -1116,18 +997,8 @@ export default class GameManager extends cc.Component { cc.director.loadScene("OverScene"); }) .start() - } - - outPut(){ - - let data = GameData._instance.CLICK_DATA; - GameData._instance.GAME_DATA = []; - - GameData._instance.GAME_DATA.push(GameData._instance.CLICK_DATA); - GameData._instance.CLICK_init(); - } - + //作弊,测试用 showNumber(){ if(this.show == false) this.show = true; else if(this.show == true) this.show = false; @@ -1135,20 +1006,12 @@ export default class GameManager extends cc.Component { this.ball_Array[i].getComponent("Sun").showNumber(this.show); } } - - onEnable () { Notification.on("clickSun", this.clickSun, this); - // Notification.on("HammerPlay", this.HammerPlay, this); } - onDisable () { - // Notification.off("rightAnswers", this.rightAnswers); Notification.off("clickSun", this.clickSun); } - - update (dt) { - } } diff --git a/assets/Script/GameOver.ts b/assets/Script/GameOver.ts index 0a50d0d..164ef1c 100644 --- a/assets/Script/GameOver.ts +++ b/assets/Script/GameOver.ts @@ -14,13 +14,10 @@ const {ccclass, property} = cc._decorator; @ccclass export default class NewClass extends cc.Component { - @property(cc.Label) count: cc.Label = null; - @property(cc.Label) time: cc.Label = null; - @property(cc.Node) selfNode: cc.Node = null; @property(cc.Node) @@ -33,19 +30,19 @@ export default class NewClass extends cc.Component { four: cc.Node = null; @property(cc.Node) five: cc.Node = null; - listData: any; selfData: any; - // LIFE-CYCLE CALLBACKS: - // onLoad () {} - start () { this.count.string = GameData._instance.GM_INFO.total; if(GameData._instance.GM_INFO.mean_Time > 10){ GameData._instance.GM_INFO.mean_Time = (parseInt(Math.random()*10+"")+5)/10 } this.time.string = GameData._instance.GM_INFO.mean_Time + "s"; + this.init(); + } + //初始化数据 + init(){ this.listData = []; this.selfData = null; this.one.active = false; @@ -53,26 +50,17 @@ export default class NewClass extends cc.Component { this.three.active = false; this.four.active = false; this.five.active = false; - // this.setData(); this.getRank(); } - - - - - success(data){ - } - - - - back(){ + //打开排行榜 + openRank(){ cc.director.loadScene("RankScene"); } - + //重新开始玩 again(){ cc.director.loadScene("GameScene"); } - + //获取排行榜 getRank(){ let postData = { "page":1, @@ -80,7 +68,7 @@ export default class NewClass extends cc.Component { }; HttpUtil.rankData(2,this.getRankData.bind(this),postData); } - + //设置排行信息 getRankData(data){ if(data){ this.listData = data.data.list; @@ -104,10 +92,9 @@ export default class NewClass extends cc.Component { } if(i<5) this.setRank(i,this.listData[i]); } - } } - + //根据内容填充排行榜 setRank(num,data){ var hitNode = null; if(num == 0){ @@ -134,9 +121,8 @@ export default class NewClass extends cc.Component { hitNode.getChildByName("total").getComponent(cc.Label).string = data.totalSunCount; this.setPic(hitNode.getChildByName("pic").getChildByName("icon"),data.pic); } - - } - + } + //设置头像 public setPic(node,pic){ node.active = false; let url = pic; @@ -166,5 +152,4 @@ export default class NewClass extends cc.Component { }) } - // update (dt) {} } diff --git a/assets/Script/GuideManager.ts b/assets/Script/GuideManager.ts index 42ad298..aa877b1 100644 --- a/assets/Script/GuideManager.ts +++ b/assets/Script/GuideManager.ts @@ -1,16 +1,9 @@ -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来 import GameData from './GameData'; import { Notification } from './Notification'; const {ccclass, property} = cc._decorator; - @ccclass export default class NewClass extends cc.Component { - // LIFE-CYCLE CALLBACKS: @property(cc.Node) dialog: cc.Node = null; @@ -29,12 +22,13 @@ export default class NewClass extends cc.Component { // onLoad () {} start () { - this.custom = 1; + GameData._instance.GM_INFO.custom = 0; this.init(); this.startGuide(0); } - + //初始化数据 init(){ + this.custom = 1; this.ball.zIndex = 100; this.Pos_Array = []; this.ball_Array = []; @@ -42,13 +36,11 @@ export default class NewClass extends cc.Component { this.clickNow = 0; this.tip = null; } - + //开始引导方法 startGuide(type){ let num = this.custom; let time = 0.5; - let delay = 1.5; let name = "tip" + num; - if(type!=0){ cc.tween(this.node) .to(time,{opacity:255}) @@ -57,12 +49,8 @@ export default class NewClass extends cc.Component { if(type != 0) this.custom = 2; if( this.custom == 2) this.createSun1(); else if( this.custom == 3) this.createSun2(); - else if( this.custom == 4){ - - this.begin = true; - } + else if( this.custom == 4) this.begin = true; else if( this.custom == 5) cc.director.loadScene("GameScene"); - }) .start(); } @@ -72,98 +60,82 @@ export default class NewClass extends cc.Component { cc.tween(this.tip) .to(time,{opacity:255}) .start(); - // cc.tween(tip) - // .to(time,{opacity:255}) - // .delay(delay) - // .to(time,{opacity:0}) - // .call(() =>{ - // this.custom += 1; - // if(type != 0) this.custom = 2; - // if( this.custom == 2) this.createSun1(); - // else if( this.custom == 3) this.createSun2(); - // else if( this.custom == 4) this.begin = true; - // else if( this.custom == 5) cc.director.loadScene("GameScene"); - - // }) - // .start(); } - } - //创建太阳 - createSun1(){ - this.ball_Array = []; - this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500)); - let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y) - this.ball.opacity = 0; - cc.tween(this.ball) - .to(time1,{position:this.Pos_Array[0]}) - .call(() =>{ - this.createBall(0,0,0,false); - }) - .delay(1) - .call(() =>{ - this.startGuide(0); - }) - .start(); - } - + //清除所有太阳 beginClick(){ for(let i=0; i{ this.custom += 1; - // if(type != 0) this.custom = 2; - if( this.custom == 2) this.createSun1(); - else if( this.custom == 3) this.createSun2(); + if( this.custom == 2) this.createSun(true); + else if( this.custom == 3) this.createSun(false); else if( this.custom == 4) this.begin = true; else if( this.custom == 5) cc.director.loadScene("GameScene"); }) .start(); } - - createSun2(){ - let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y) - let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y) - this.ball.opacity = 255; - this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y), - 0.5); - cc.tween(this.ball) - .to(time2,{position:this.Pos_Array[1]}) - .call(() =>{ - this.createBall(1,0,0,false); - }) - .delay(0.5) - .call(() =>{ - this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y), - 0.5); - }) - .to(time3,{position:this.Pos_Array[2]}) - .call(() =>{ - this.createBall(2,0,0,false); + //创建太阳 + createSun(type){ + if(type == true){ + this.ball_Array = []; + this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500)); + let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y) this.ball.opacity = 0; - }) - .delay(0.2) - .call(() =>{ - this.destroyLine(); - this.startGuide(0); - }) - .start(); - } - - + cc.tween(this.ball) + .to(time1,{position:this.Pos_Array[0]}) + .call(() =>{ + this.createBall(0,0,0,false); + }) + .delay(1) + .call(() =>{ + this.startGuide(0); + }) + .start(); + } + else{ + let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y) + let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y) + this.ball.opacity = 255; + this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y), + 0.5); + cc.tween(this.ball) + .to(time2,{position:this.Pos_Array[1]}) + .call(() =>{ + this.createBall(1,0,0,false); + }) + .delay(0.5) + .call(() =>{ + this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y), + 0.5); + }) + .to(time3,{position:this.Pos_Array[2]}) + .call(() =>{ + this.createBall(2,0,0,false); + this.ball.opacity = 0; + }) + .delay(0.2) + .call(() =>{ + this.destroyLine(); + this.startGuide(0); + }) + .start(); + } + } + //创建太阳 createBall(number,color,speed,repeat){ let ball = null; ball = cc.instantiate(this.qiu1); @@ -174,7 +146,7 @@ export default class NewClass extends cc.Component { ball.getComponent("Sun").move = true; this.ball_Array.push(ball); } - + //获取两点之间角度创建连线用 calculateDistance(x1, y1, x2, y2) { const dx = x2 - x1; const dy = y2 - y1; @@ -184,43 +156,50 @@ export default class NewClass extends cc.Component { return time; } - //移动创建下一个太阳 - moveSun(){ - - } - - //获胜 + //引导成功 passLevel(){ - this.destroyLine(); - let timeArray = []; - let timeCount = 0; - let ball = this.ball_Array[0]; - for(let i=1; i< this.ball_Array.length; i++){ - let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y, - this.ball_Array[i-1].x,this.ball_Array[i-1].y); - timeArray.push(time); - } - for(let k=1; k< this.ball_Array.length; k++){ + let win = this.node.getChildByName("Win"); + win.active = true; win.setScale(0); + cc.tween(win) + .delay(0.4) + .to(0.01,{scale:2.5}) + .to(0.35,{scale:1}) + .delay(0.6) + .call(() =>{ + win.active = false; setTimeout(() => { - cc.tween(ball) - .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y}) - .call(() =>{ - this.ball_Array[k].active = false; - if(k == this.ball_Array.length-1){ - setTimeout(() => { - this.ball.opacity = 255; - this.ball.position = cc.v3(ball.x,ball.y,0); - this.ball.active = false; - this.startGuide(0); - }, 200); - } - }) - .start(); - }, timeCount*1000); - timeCount += (timeArray[k-1]+0.1); - } + this.destroyLine(); + let timeArray = []; + let timeCount = 0; + let ball = this.ball_Array[0]; + for(let i=1; i< this.ball_Array.length; i++){ + let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y, + this.ball_Array[i-1].x,this.ball_Array[i-1].y); + timeArray.push(time); + } + for(let k=1; k< this.ball_Array.length; k++){ + setTimeout(() => { + cc.tween(ball) + .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y}) + .call(() =>{ + this.ball_Array[k].active = false; + if(k == this.ball_Array.length-1){ + setTimeout(() => { + this.ball.opacity = 255; + this.ball.position = cc.v3(ball.x,ball.y,0); + this.ball.active = false; + this.startGuide(0); + }, 200); + } + }) + .start(); + }, timeCount*1000); + timeCount += (timeArray[k-1]+0.1); + } + }, 400); + }) + .start(); } - //点击太阳执行方法 clickSun(data){ if(this.begin == true){ @@ -237,46 +216,19 @@ export default class NewClass extends cc.Component { if(this.ball_Array[this.clickNow-1]) this.ball_Array[this.clickNow-1].getChildByName("guang").active = false; }, 200); - - if(this.clickNow == 3){ - let win = this.node.getChildByName("Win"); - win.active = true; win.setScale(0); - cc.tween(win) - .delay(0.4) - .to(0.01,{scale:2.5}) - .to(0.35,{scale:1}) - .delay(0.6) - .call(() =>{ - win.active = false; - setTimeout(() => { - this.passLevel(); - }, 400); - - }) - .start(); + this.passLevel(); } } else{ - GameData._instance.AudioManager.playWarning(); - this.begin = false; - - this.loseLevel(1) - let over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25,{opacity:255}) - .delay(0.1) - .to(0.2,{opacity:0}) - .delay(0.1) - .to(0.15,{opacity:255}) - .delay(0.1) - .to(0.1,{opacity:0}) - .start(); + this.loseLevel(); } } } - - loseLevel(type){ + //失败事件 + loseLevel(){ + this.begin = false; + GameData._instance.AudioManager.playWarning(); this.destroyLine(); let ball = this.ball_Array[0]; for(let k=1; k< this.ball_Array.length; k++){ @@ -294,8 +246,19 @@ export default class NewClass extends cc.Component { }) .start() } + //结束页面动画 + let over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25,{opacity:255}) + .delay(0.1) + .to(0.2,{opacity:0}) + .delay(0.1) + .to(0.15,{opacity:255}) + .delay(0.1) + .to(0.1,{opacity:0}) + .start(); } - + //点击太阳事件 clearSun(){ for(let k=0; k< this.ball_Array.length; k++){ this.ball_Array[k].removeFromParent(); @@ -303,23 +266,12 @@ export default class NewClass extends cc.Component { } this.ball_Array = []; } - //获取时间戳 getTime(){ const timestamp = new Date().getTime(); return timestamp; } - - destroyLine() { - for(let i =0; i< this.node.getChildByName("Line").children.length;i++){ - if(this.node.getChildByName("Line").children[i]){ - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - } - + //创造连线,参数起点,终点,连线时间 createLine(start,end,time){ let line = cc.instantiate(this.linePrefab); line.parent = this.node.getChildByName("Line"); @@ -335,19 +287,26 @@ export default class NewClass extends cc.Component { .to(time,{fillRange:1}) .start(); } - + //摧毁连线 + destroyLine() { + for(let i =0; i< this.node.getChildByName("Line").children.length;i++){ + if(this.node.getChildByName("Line").children[i]){ + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + } + //获取两个点之间的角度 用于写连线 确定连线方向 calculateAngle(x1, y1, x2, y2) { var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90; return -angle; } - onEnable () { Notification.on("clickSun", this.clickSun, this); } - onDisable () { Notification.off("clickSun", this.clickSun); } - // update (dt) {} } diff --git a/assets/Script/Load.ts b/assets/Script/Load.ts index 9bcca6b..6559ae4 100644 --- a/assets/Script/Load.ts +++ b/assets/Script/Load.ts @@ -1,47 +1,35 @@ -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html + const {ccclass, property, requireComponent} = cc._decorator; import GameData from "./GameData"; import { StorageMessage } from "./Storage"; -import HttpUtil from "./crypto/serverAPI"; -import Rq from "./crypto/serverAPI"; -// import {StorageMessage} from "./StorageMessage"; -// import { apiSign } from "./crypto/sign"; @ccclass export default class NewClass extends cc.Component { - @property(cc.Label) - label: cc.Label = null; - - @property - text: string = 'hello'; - - start () { + this.Authentication(); + } + + //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 + private Authentication(){ let userId = StorageMessage.getStorage("user"); - if(userId == "undifend" || userId==null){ - this.setId(); + if(userId == "undifend" || userId==null || userId == ""){ + this.setUserId(); } else{ let data = StorageMessage.getStorage("user"); - data = this.getId(data); + data = this.getUserId(data); let timestamp = parseInt(new Date().getTime()/1000 + ""); if((timestamp - data[2]) > 86400){ - this.setId(); + this.setUserId(); return; } - GameData._instance.GM_INFO.userId = data[1]; - GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId); + GameData._instance.GM_INFO.userId = parseInt(data[1]); } } - - setId(){ - GameData._instance.GM_INFO.userId = this.getUserId(); + //设置userId,链接有获取,没有跳转授权 + private setUserId(){ + GameData._instance.GM_INFO.userId = this.getUserId(null); if(GameData._instance.GM_INFO.userId == null){ let url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href; window.location.href = url; @@ -54,81 +42,33 @@ export default class NewClass extends cc.Component { GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId); } } - - createTexture(){ - let url = "http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg"; - cc.assetManager.loadRemote(url, (err, texture:cc.Texture2D) => { - console.log(err,texture) - if(texture){ - var sprite = this.node.getChildByName("icon").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - } - }) - } - - private getUserId() { + //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId + private getUserId(str) { let pathStr = window.location.search; - let arr=pathStr.split("&"); + if(str != null) arr=pathStr.split("?"); if (pathStr.length>= 0&&arr.length>0) { let arr2=[]; arr.map(item=>{ arr2.push(item.split("=")[1]) }) - // GameData._instance.GM_INFO.userId = arr2[0] + ""; - return arr2[0]; + return str == null ? arr2[0]:arr2; } else { return null } } - - private getId(str) { - let pathStr = str; - - let arr=pathStr.split("?"); - if (pathStr.length>= 0&&arr.length>0) { - let arr2=[]; - arr.map(item=>{ - arr2.push(item.split("=")[1]) - }) - // GameData._instance.GM_INFO.userId = arr2[1] + ""; - return arr2; - } else { - return null - } - } - + //开始游戏,跳转至引导页面 startGame(){ - GameData._instance.GM_INFO.custom = 0; cc.director.loadScene("GuideScene"); } - + //备用,用来测试跳转 指定关卡 clickBtn(event,data){ GameData._instance.GM_INFO.custom = parseInt(data); cc.director.loadScene("GameScene"); } - - openLevel(){ - this.node.getChildByName("Level").active = true; - } - - closeBtn(){ - this.node.getChildByName("Level").active = false; - } - - back(data){ - // debugger; - } - - openBtn(){ - GameData._instance.GM_INFO.custom = 0; - cc.director.loadScene("GuideScene"); - } - + //打开排行榜 openRank(){ cc.director.loadScene("RankScene"); - } - - // update (dt) {} + } diff --git a/assets/Script/RankListItem.prefab b/assets/Script/RankListItem.prefab deleted file mode 100644 index b80bc88..0000000 --- a/assets/Script/RankListItem.prefab +++ /dev/null @@ -1,428 +0,0 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false - }, - { - "__type__": "cc.Node", - "_name": "RankListItem", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 5 - }, - { - "__id__": 8 - } - ], - "_active": true, - "_components": [ - { - "__id__": 11 - } - ], - "_prefab": { - "__id__": 12 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - } - ], - "_prefab": { - "__id__": 4 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 164, - "g": 118, - "b": 239, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "6eyN1+nK5HT7svNqUsa2/+", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "rankLab", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 6 - } - ], - "_prefab": { - "__id__": 7 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 16, - "g": 1, - "b": 1, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 97.87, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -46.832, - 22.301, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 5 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_useOriginalSize": false, - "_string": "Label", - "_N$string": "Label", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "de4HHWkIhExrJq1+nHHMA6", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "nameLab", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 9 - } - ], - "_prefab": { - "__id__": 10 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 13, - "g": 1, - "b": 1, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100.06, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -45.717, - -24.531, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 8 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_useOriginalSize": false, - "_string": "name", - "_N$string": "name", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "05c46heZhJV4sYMqYyxlB5", - "sync": false - }, - { - "__type__": "ca0f9k0oBVDbpQC+OMNTF3m", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "55FH2q1HJAyK0hrjxGH/+q", - "sync": false - } -] \ No newline at end of file diff --git a/assets/Script/RankListItem.prefab.meta b/assets/Script/RankListItem.prefab.meta deleted file mode 100644 index 6a48644..0000000 --- a/assets/Script/RankListItem.prefab.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.3.2", - "uuid": "5aca560f-66b4-413d-95bd-73669c0bca6b", - "importer": "prefab", - "optimizationPolicy": "AUTO", - "asyncLoadAssets": false, - "readonly": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/Helloworld.ts b/assets/Script/RankManager.ts similarity index 76% rename from assets/Script/Helloworld.ts rename to assets/Script/RankManager.ts index 7c2e6fe..a94d252 100644 --- a/assets/Script/Helloworld.ts +++ b/assets/Script/RankManager.ts @@ -1,47 +1,54 @@ import GameData from "./GameData"; import List from "./ListView/List"; import HttpUtil from "./crypto/serverAPI"; -// import { apiSign } from "./crypto/sign"; - const { ccclass, property } = cc._decorator; - +//排行榜 @ccclass -export default class Helloworld extends cc.Component { - - @property(cc.Node) +export default class RankManager extends cc.Component { + @property(cc.Node) //用户上方头像 Player: cc.Node = null; - - @property(cc.Node) + @property(cc.Node) //用户最下方个人信息 selfNode: cc.Node = null; - - @property(cc.Sprite) + @property(cc.Sprite) //用户头像换图 phone: cc.Sprite = null; - - private rankList: List; //排行榜 - tween: cc.Tween; - listData: any; - selfData: any; - rankNumber: number; - rankTotal: number; + private rankList: List; //排行榜 + tween: cc.Tween; //最上方用户头像动画 + listData: any; //总列表信息 + selfData: any; //自己信息 + rankNumber: number; //用户自己排名 有可能不在排行榜内99+ + rankTotal: number; //获取排行榜用户数量 现在为100 onLoad() { - this.Player.getChildByName("rank").active = false; + this.init(); + } + //初始化数据 + init(){ this.rankList = cc.find("ScrollView", this.node).getComponent(List); + this.Player.getChildByName("rank").active = false; this.listData = []; this.selfData = null; this.rankNumber = 100; this.rankTotal= 100; this.selfNode.opacity = 0; } - + start() { this.Player.active = false; this.getRank(); } - + //调用获取排行榜接口 + getRank(){ + let postData = { + "page":1, + "pageSize":100 + }; + //回调进getRankData + HttpUtil.rankData(2,this.getRankData.bind(this),postData); + } + //实际设置排行数据 getRankData(data){ if(data){ - // console.log(data); + console.log(data); this.listData = data.data.list; this.selfData = data.data.info; let rankData = []; @@ -65,7 +72,6 @@ export default class Helloworld extends cc.Component { this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; this.setPic(this.selfData.pic); - this.setPic2(this.selfData.pic); if(this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1"){ this.selfNode.getChildByName("rank").getChildByName("one").active = true; } @@ -82,14 +88,14 @@ export default class Helloworld extends cc.Component { if(this.selfData.totalSunCount == 0) this.selfNode.opacity = 0; } } + //返回按钮 backClick(){ cc.director.loadScene("LoadScene"); } - + //最上方用户动画 playerAction(){ //-254 377 210 453 this.Player.getChildByName("rank").active = false; - let time = 1; this.tween = cc.tween(this.Player) .to(2,{position:cc.v3(210,453,0)}) @@ -109,12 +115,6 @@ export default class Helloworld extends cc.Component { } } } - else{ - - } - - - setTimeout(() => { if(this.tween)this.tween.stop(); this.Player.getChildByName("rank").active = true; @@ -123,56 +123,21 @@ export default class Helloworld extends cc.Component { }, time*2000); } - - getRank(){ - let postData = { - "page":1, - "pageSize":100 - }; - HttpUtil.rankData(2,this.getRankData.bind(this),postData); - } - + //设置头像 public setPic(pic){ this.phone.node.parent.getChildByName("icon").active = false; this.phone.node.active = false; - let url = pic; - fetch(url) + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) .then(response => { return response.headers.get('Content-Length'); }) .then(errNo => { if(errNo == "5093"){ this.phone.node.parent.getChildByName("icon").active = true; - } - }) - .catch(error => { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => { - if(texture){ - this.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - } - else{ - console.log(err,texture) - } - }) - } - - public setPic2(pic){ - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - let url = pic; - fetch(url) - .then(response => { - return response.headers.get('Content-Length'); - }) - - .then(errNo => { - if(errNo == "5093"){ this.Player.getChildByName("mask").getChildByName("icon").active = true; } }) @@ -180,27 +145,26 @@ export default class Helloworld extends cc.Component { console.error('Error fetching X-Info:', error); }); var self = this; - cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => { + cc.assetManager.loadRemote(pic, {ext:'.jpg'},(err, texture:cc.Texture2D) => { + self.Player.opacity = 255; if(texture){ - this.Player.opacity = 255; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = true; - this.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) .spriteFrame = new cc.SpriteFrame(texture); setTimeout(() => { - this.playerAction(); + self.playerAction(); }, 500); - // console.log("设置头像成功",err); } else{ - this.Player.opacity = 255; - // console.log("设置头像失败",url); - this.Player.getChildByName("mask").getChildByName("icon").active = true; - console.log(err,texture) + self.Player.getChildByName("mask").getChildByName("icon").active = true; setTimeout(() => { - this.playerAction(); + self.playerAction(); }, 500); } + }) } diff --git a/assets/Script/test.ts.meta b/assets/Script/RankManager.ts.meta similarity index 77% rename from assets/Script/test.ts.meta rename to assets/Script/RankManager.ts.meta index 67974ca..fd3f5dc 100644 --- a/assets/Script/test.ts.meta +++ b/assets/Script/RankManager.ts.meta @@ -1,6 +1,6 @@ { "ver": "1.1.0", - "uuid": "f7f5d7e6-2a27-4e6d-988c-2edb817408aa", + "uuid": "e74a9f7d-2031-4e69-bcb2-9998174088b2", "importer": "typescript", "isPlugin": false, "loadPluginInWeb": true, diff --git a/assets/Script/Storage.ts b/assets/Script/Storage.ts index 4bfd38e..ea5d843 100644 --- a/assets/Script/Storage.ts +++ b/assets/Script/Storage.ts @@ -1,4 +1,4 @@ - +//缓存浏览器数据 var StorageMessage = { getStorage : function(key){ var result = null; @@ -15,9 +15,6 @@ var StorageMessage = { //主动拉起分享接口 var temp = JSON.stringify(value); cc.sys.localStorage.setItem(key, temp) - // debugger; - // var temp = cc.sys.localStorage.getItem(key); - // debugger; }, removeStorage : function(key){ //主动删除消息接口 diff --git a/assets/Script/Sun.ts b/assets/Script/Sun.ts index 8e552b0..3c1ba25 100644 --- a/assets/Script/Sun.ts +++ b/assets/Script/Sun.ts @@ -11,25 +11,25 @@ import { Notification } from './Notification'; @ccclass export default class NewClass extends cc.Component { - id_Number:number _speed:number _color:number touch:boolean _repeat:boolean move:boolean - // LIFE-CYCLE CALLBACKS: - // onLoad () {} - start () { + } + //初始化数据 + init(_id,color,speed,repeat){ this.touch = true; this.move = false; - this._color = 0; - this._speed = 0; - var shan = this.node.getChildByName("shan"); - - cc.tween(shan) + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) .repeatForever( cc.tween() .to(1,{opacity:0,scale:0.5,}) @@ -38,57 +38,45 @@ export default class NewClass extends cc.Component { .delay(0.5) ) .start(); - } - - init(_id,color,speed,repeat){ - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - } - + //用于作弊 测试 showNumber(type){ this.node.getChildByName("number").active = type; if(type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; } - - clickBtn(){ - var temp = this.node.parent.parent.name; - // console.log(temp,this.move,this.touch); - if( this.move == false && this.touch == true){ - if(this.node.parent.parent.name == "GameNode"){ - if(this.node.parent.parent.getComponent("GameManager").begin == true){ - cc.tween(this.node.getChildByName("action")) - .to(0.5,{opacity:0,scale:1.8}) - .start(); - cc.tween(this.node) - .to(0.3,{scale:1.3}) - .to(0.3,{scale:1}) - .start(); + //点击事件 + clickBtn(event,data){ + if(data === "1"){ + if( this.move == false && this.touch == true){ + if(this.node.parent.parent.name == "GameNode"){ + if(this.node.parent.parent.getComponent("GameManager").begin == true){ + cc.tween(this.node.getChildByName("action")) + .to(0.5,{opacity:0,scale:1.8}) + .start(); + cc.tween(this.node) + .to(0.3,{scale:1.3}) + .to(0.3,{scale:1}) + .start(); + this.touch = false; + this.node.zIndex = -1; + Notification.emit("clickSun",this.id_Number); + } + } + else{ this.touch = false; this.node.zIndex = -1; Notification.emit("clickSun",this.id_Number); } + } - else{ + } + else{ + if( this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true){ this.touch = false; this.node.zIndex = -1; Notification.emit("clickSun",this.id_Number); } - } } - - clickBtn2(){ - if( this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true){ - this.touch = false; - this.node.zIndex = -1; - Notification.emit("clickSun",this.id_Number); - } - } - - update (dt) { - } } diff --git a/assets/Script/test.ts b/assets/Script/test.ts deleted file mode 100644 index e69de29..0000000 diff --git a/assets/Script/BallAudioManager.js b/assets/Script/tool/AudioManager.js similarity index 97% rename from assets/Script/BallAudioManager.js rename to assets/Script/tool/AudioManager.js index 674891c..ec7a662 100644 --- a/assets/Script/BallAudioManager.js +++ b/assets/Script/tool/AudioManager.js @@ -57,7 +57,6 @@ cc.Class({ callback.call(this); }.bind(this)); } - // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); this.mAudioMap[audioSource] = context; return audioSource; @@ -81,8 +80,6 @@ cc.Class({ context.play() this.mAudioMap[audioSource] = context; - // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl); - return audioSource; } }, @@ -100,7 +97,6 @@ cc.Class({ // this.mEffectSwitch = parseInt(volume); // }.bind(this), 1); - this.reward = false; this.finish = false; this.rewardCount = 0; diff --git a/assets/Script/tool/AudioManager.js.meta b/assets/Script/tool/AudioManager.js.meta new file mode 100644 index 0000000..cd584c5 --- /dev/null +++ b/assets/Script/tool/AudioManager.js.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "971c4bee-6f80-49a6-aad2-08b3c9f20d55", + "importer": "javascript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/prefab/qiu1.prefab b/assets/prefab/qiu1.prefab index 47b50d9..027d3a6 100644 --- a/assets/prefab/qiu1.prefab +++ b/assets/prefab/qiu1.prefab @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/assets/prefab/qiu2.prefab b/assets/prefab/qiu2.prefab index 1245a23..665827a 100644 --- a/assets/prefab/qiu2.prefab +++ b/assets/prefab/qiu2.prefab @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/assets/prefab/qiu3.prefab b/assets/prefab/qiu3.prefab index 3cb8114..c06e205 100644 --- a/assets/prefab/qiu3.prefab +++ b/assets/prefab/qiu3.prefab @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/assets/prefab/qiu4.prefab b/assets/prefab/qiu4.prefab index 1b06477..aa3f1fa 100644 --- a/assets/prefab/qiu4.prefab +++ b/assets/prefab/qiu4.prefab @@ -856,8 +856,8 @@ }, "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", - "handler": "clickBtn2", - "customEventData": "" + "handler": "clickBtn", + "customEventData": "2" }, { "__type__": "cc.PrefabInfo", diff --git a/library/imports/13/13110e4f-3587-4e6b-8811-0ca16cac8149.json b/library/imports/13/13110e4f-3587-4e6b-8811-0ca16cac8149.json index a223b94..6ba0938 100644 --- a/library/imports/13/13110e4f-3587-4e6b-8811-0ca16cac8149.json +++ b/library/imports/13/13110e4f-3587-4e6b-8811-0ca16cac8149.json @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json b/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json index baa7d58..58e0347 100644 --- a/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json +++ b/library/imports/2d/2d2f792f-a40c-49bb-a189-ed176a246e49.json @@ -58,7 +58,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "2d2f792f-a40c-49bb-a189-ed176a246e49" }, { diff --git a/library/imports/3a/3a232388-d8dc-4f79-a1ea-82f6385b7ce2.json b/library/imports/3a/3a232388-d8dc-4f79-a1ea-82f6385b7ce2.json index ba9a5f2..50102e0 100644 --- a/library/imports/3a/3a232388-d8dc-4f79-a1ea-82f6385b7ce2.json +++ b/library/imports/3a/3a232388-d8dc-4f79-a1ea-82f6385b7ce2.json @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js b/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js index bdffa39..fdf87c3 100644 --- a/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js +++ b/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js @@ -23,12 +23,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来 var GameData_1 = require("./GameData"); var Notification_1 = require("./Notification"); var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; @@ -42,15 +37,16 @@ var NewClass = /** @class */ (function (_super) { _this.qiu1 = null; _this.linePrefab = null; return _this; - // update (dt) {} } // onLoad () {} NewClass.prototype.start = function () { - this.custom = 1; + GameData_1.default._instance.GM_INFO.custom = 0; this.init(); this.startGuide(0); }; + //初始化数据 NewClass.prototype.init = function () { + this.custom = 1; this.ball.zIndex = 100; this.Pos_Array = []; this.ball_Array = []; @@ -58,11 +54,11 @@ var NewClass = /** @class */ (function (_super) { this.clickNow = 0; this.tip = null; }; + //开始引导方法 NewClass.prototype.startGuide = function (type) { var _this = this; var num = this.custom; var time = 0.5; - var delay = 1.5; var name = "tip" + num; if (type != 0) { cc.tween(this.node) @@ -75,9 +71,8 @@ var NewClass = /** @class */ (function (_super) { _this.createSun1(); else if (_this.custom == 3) _this.createSun2(); - else if (_this.custom == 4) { + else if (_this.custom == 4) _this.begin = true; - } else if (_this.custom == 5) cc.director.loadScene("GameScene"); }) @@ -90,47 +85,19 @@ var NewClass = /** @class */ (function (_super) { cc.tween(this.tip) .to(time, { opacity: 255 }) .start(); - // cc.tween(tip) - // .to(time,{opacity:255}) - // .delay(delay) - // .to(time,{opacity:0}) - // .call(() =>{ - // this.custom += 1; - // if(type != 0) this.custom = 2; - // if( this.custom == 2) this.createSun1(); - // else if( this.custom == 3) this.createSun2(); - // else if( this.custom == 4) this.begin = true; - // else if( this.custom == 5) cc.director.loadScene("GameScene"); - // }) - // .start(); } }; - //创建太阳 - NewClass.prototype.createSun1 = function () { - var _this = this; - this.ball_Array = []; - this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); - var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); - this.ball.opacity = 0; - cc.tween(this.ball) - .to(time1, { position: this.Pos_Array[0] }) - .call(function () { - _this.createBall(0, 0, 0, false); - }) - .delay(1) - .call(function () { - _this.startGuide(0); - }) - .start(); - }; + //清除所有太阳 NewClass.prototype.beginClick = function () { for (var i = 0; i < this.ball_Array.length; i++) { this.ball_Array[i].getComponent("Sun").move = false; } }; + //点击开始游戏,或者点击跳过引导 NewClass.prototype.clickBtn = function () { cc.director.loadScene("GameScene"); }; + //点击下一步按钮 NewClass.prototype.next = function () { var _this = this; var time = 0.5; @@ -138,11 +105,10 @@ var NewClass = /** @class */ (function (_super) { .to(time, { opacity: 0 }) .call(function () { _this.custom += 1; - // if(type != 0) this.custom = 2; if (_this.custom == 2) - _this.createSun1(); + _this.createSun(true); else if (_this.custom == 3) - _this.createSun2(); + _this.createSun(false); else if (_this.custom == 4) _this.begin = true; else if (_this.custom == 5) @@ -150,33 +116,53 @@ var NewClass = /** @class */ (function (_super) { }) .start(); }; - NewClass.prototype.createSun2 = function () { + //创建太阳 + NewClass.prototype.createSun = function (type) { var _this = this; - var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); - var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); - this.ball.opacity = 255; - this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); - cc.tween(this.ball) - .to(time2, { position: this.Pos_Array[1] }) - .call(function () { - _this.createBall(1, 0, 0, false); - }) - .delay(0.5) - .call(function () { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); - }) - .to(time3, { position: this.Pos_Array[2] }) - .call(function () { - _this.createBall(2, 0, 0, false); - _this.ball.opacity = 0; - }) - .delay(0.2) - .call(function () { - _this.destroyLine(); - _this.startGuide(0); - }) - .start(); + if (type == true) { + this.ball_Array = []; + this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); + var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); + this.ball.opacity = 0; + cc.tween(this.ball) + .to(time1, { position: this.Pos_Array[0] }) + .call(function () { + _this.createBall(0, 0, 0, false); + }) + .delay(1) + .call(function () { + _this.startGuide(0); + }) + .start(); + } + else { + var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); + var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); + this.ball.opacity = 255; + this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); + cc.tween(this.ball) + .to(time2, { position: this.Pos_Array[1] }) + .call(function () { + _this.createBall(1, 0, 0, false); + }) + .delay(0.5) + .call(function () { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); + }) + .to(time3, { position: this.Pos_Array[2] }) + .call(function () { + _this.createBall(2, 0, 0, false); + _this.ball.opacity = 0; + }) + .delay(0.2) + .call(function () { + _this.destroyLine(); + _this.startGuide(0); + }) + .start(); + } }; + //创建太阳 NewClass.prototype.createBall = function (number, color, speed, repeat) { var ball = null; ball = cc.instantiate(this.qiu1); @@ -187,6 +173,7 @@ var NewClass = /** @class */ (function (_super) { ball.getComponent("Sun").move = true; this.ball_Array.push(ball); }; + //获取两点之间角度创建连线用 NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { var dx = x2 - x1; var dy = y2 - y1; @@ -196,42 +183,53 @@ var NewClass = /** @class */ (function (_super) { var time = distance / 800 * 0.8; return time; }; - //移动创建下一个太阳 - NewClass.prototype.moveSun = function () { - }; - //获胜 + //引导成功 NewClass.prototype.passLevel = function () { var _this = this; - this.destroyLine(); - var timeArray = []; - var timeCount = 0; - var ball = this.ball_Array[0]; - for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); - timeArray.push(time); - } - var _loop_1 = function (k) { + var win = this.node.getChildByName("Win"); + win.active = true; + win.setScale(0); + cc.tween(win) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.6) + .call(function () { + win.active = false; setTimeout(function () { - cc.tween(ball) - .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.ball.active = false; - _this.startGuide(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray[k - 1] + 0.1); - }; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_1(k); - } + _this.destroyLine(); + var timeArray = []; + var timeCount = 0; + var ball = _this.ball_Array[0]; + for (var i = 1; i < _this.ball_Array.length; i++) { + var time = _this.calculateDistance(_this.ball_Array[i].x, _this.ball_Array[i].y, _this.ball_Array[i - 1].x, _this.ball_Array[i - 1].y); + timeArray.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball) + .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.ball.active = false; + _this.startGuide(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray[k - 1] + 0.1); + }; + for (var k = 1; k < _this.ball_Array.length; k++) { + _loop_1(k); + } + }, 400); + }) + .start(); }; //点击太阳执行方法 NewClass.prototype.clickSun = function (data) { @@ -249,42 +247,19 @@ var NewClass = /** @class */ (function (_super) { _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; }, 200); if (this.clickNow == 3) { - var win_1 = this.node.getChildByName("Win"); - win_1.active = true; - win_1.setScale(0); - cc.tween(win_1) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.6) - .call(function () { - win_1.active = false; - setTimeout(function () { - _this.passLevel(); - }, 400); - }) - .start(); + this.passLevel(); } } else { - GameData_1.default._instance.AudioManager.playWarning(); - this.begin = false; - this.loseLevel(1); - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); + this.loseLevel(); } } }; - NewClass.prototype.loseLevel = function (type) { + //失败事件 + NewClass.prototype.loseLevel = function () { var _this = this; + this.begin = false; + GameData_1.default._instance.AudioManager.playWarning(); this.destroyLine(); var ball = this.ball_Array[0]; var _loop_2 = function (k) { @@ -306,7 +281,19 @@ var NewClass = /** @class */ (function (_super) { for (var k = 1; k < this.ball_Array.length; k++) { _loop_2(k); } + //结束页面动画 + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) + .start(); }; + //点击太阳事件 NewClass.prototype.clearSun = function () { for (var k = 0; k < this.ball_Array.length; k++) { this.ball_Array[k].removeFromParent(); @@ -319,15 +306,7 @@ var NewClass = /** @class */ (function (_super) { var timestamp = new Date().getTime(); return timestamp; }; - NewClass.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; + //创造连线,参数起点,终点,连线时间 NewClass.prototype.createLine = function (start, end, time) { var line = cc.instantiate(this.linePrefab); line.parent = this.node.getChildByName("Line"); @@ -342,6 +321,17 @@ var NewClass = /** @class */ (function (_super) { .to(time, { fillRange: 1 }) .start(); }; + //摧毁连线 + NewClass.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //获取两个点之间的角度 用于写连线 确定连线方向 NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; return -angle; diff --git a/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js.map b/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js.map index 80861e3..ae3c949 100644 --- a/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js.map +++ b/library/imports/3f/3fd2f87a-bc73-4978-8494-8b35b4f716ad.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GuideManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.Node)\r\n dialog: cc.Node = null;\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n clickNow:number;\r\n custom: number;\r\n Pos_Array: any;\r\n ball_Array: any;\r\n begin: boolean;\r\n tip: cc.Node;\r\n // onLoad () {}\r\n\r\n start () {\r\n this.custom = 1;\r\n this.init();\r\n this.startGuide(0);\r\n }\r\n\r\n init(){\r\n this.ball.zIndex = 100;\r\n this.Pos_Array = [];\r\n this.ball_Array = [];\r\n this.begin = false;\r\n this.clickNow = 0;\r\n this.tip = null;\r\n }\r\n\r\n startGuide(type){\r\n let num = this.custom;\r\n let time = 0.5;\r\n let delay = 1.5;\r\n let name = \"tip\" + num;\r\n\r\n if(type!=0){\r\n cc.tween(this.node)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n this.custom += 1;\r\n if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4){\r\n\r\n this.begin = true;\r\n } \r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n })\r\n .start();\r\n }\r\n else{\r\n this.tip = this.dialog.getChildByName(name);\r\n this.tip.active = true; this.tip.opacity = 0;\r\n cc.tween(this.tip)\r\n .to(time,{opacity:255})\r\n .start();\r\n // cc.tween(tip)\r\n // .to(time,{opacity:255})\r\n // .delay(delay)\r\n // .to(time,{opacity:0})\r\n // .call(() =>{\r\n // this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n // if( this.custom == 2) this.createSun1();\r\n // else if( this.custom == 3) this.createSun2();\r\n // else if( this.custom == 4) this.begin = true;\r\n // else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n // })\r\n // .start();\r\n }\r\n\r\n }\r\n //创建太阳\r\n createSun1(){\r\n this.ball_Array = [];\r\n this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500));\r\n let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y)\r\n this.ball.opacity = 0;\r\n cc.tween(this.ball)\r\n .to(time1,{position:this.Pos_Array[0]})\r\n .call(() =>{\r\n this.createBall(0,0,0,false);\r\n })\r\n .delay(1)\r\n .call(() =>{\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n\r\n beginClick(){\r\n for(let i=0; i{\r\n this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n createSun2(){\r\n let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y)\r\n let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y)\r\n this.ball.opacity = 255;\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y),\r\n 0.5);\r\n cc.tween(this.ball)\r\n .to(time2,{position:this.Pos_Array[1]})\r\n .call(() =>{\r\n this.createBall(1,0,0,false);\r\n })\r\n .delay(0.5)\r\n .call(() =>{\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y),\r\n 0.5);\r\n })\r\n .to(time3,{position:this.Pos_Array[2]})\r\n .call(() =>{\r\n this.createBall(2,0,0,false);\r\n this.ball.opacity = 0;\r\n })\r\n .delay(0.2)\r\n .call(() =>{\r\n this.destroyLine();\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n \r\n \r\n\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n ball = cc.instantiate(this.qiu1);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.Pos_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n ball.getComponent(\"Sun\").move = true;\r\n this.ball_Array.push(ball);\r\n }\r\n\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.8;\r\n return time;\r\n }\r\n\r\n //移动创建下一个太阳\r\n moveSun(){\r\n\r\n }\r\n\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.ball.active = false;\r\n this.startGuide(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2);\r\n }\r\n this.clickNow += 1;\r\n GameData._instance.GM_INFO.total += 1;\r\n setTimeout(() => {\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n }, 200);\r\n \r\n \r\n if(this.clickNow == 3){\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.6)\r\n .call(() =>{\r\n win.active = false;\r\n setTimeout(() => {\r\n this.passLevel();\r\n }, 400);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n\r\n this.loseLevel(1)\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n }\r\n }\r\n\r\n loseLevel(type){\r\n this.destroyLine();\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(0.6,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 0;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.custom = 1;\r\n this.startGuide(1);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n this.ball_Array = [];\r\n }\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n \r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n\r\n onEnable () {\r\n Notification.on(\"clickSun\", this.clickSun, this);\r\n }\r\n\r\n onDisable () {\r\n Notification.off(\"clickSun\", this.clickSun);\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GuideManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.Node)\r\n dialog: cc.Node = null;\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n clickNow:number;\r\n custom: number;\r\n Pos_Array: any;\r\n ball_Array: any;\r\n begin: boolean;\r\n tip: cc.Node;\r\n // onLoad () {}\r\n\r\n start () {\r\n GameData._instance.GM_INFO.custom = 0;\r\n this.init();\r\n this.startGuide(0);\r\n }\r\n //初始化数据\r\n init(){\r\n this.custom = 1;\r\n this.ball.zIndex = 100;\r\n this.Pos_Array = [];\r\n this.ball_Array = [];\r\n this.begin = false;\r\n this.clickNow = 0;\r\n this.tip = null;\r\n }\r\n //开始引导方法\r\n startGuide(type){\r\n let num = this.custom;\r\n let time = 0.5;\r\n let name = \"tip\" + num;\r\n if(type!=0){\r\n cc.tween(this.node)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n this.custom += 1;\r\n if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n })\r\n .start();\r\n }\r\n else{\r\n this.tip = this.dialog.getChildByName(name);\r\n this.tip.active = true; this.tip.opacity = 0;\r\n cc.tween(this.tip)\r\n .to(time,{opacity:255})\r\n .start();\r\n }\r\n }\r\n //清除所有太阳\r\n beginClick(){\r\n for(let i=0; i{\r\n this.custom += 1;\r\n if( this.custom == 2) this.createSun(true);\r\n else if( this.custom == 3) this.createSun(false);\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n //创建太阳\r\n createSun(type){\r\n if(type == true){\r\n this.ball_Array = [];\r\n this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500));\r\n let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y)\r\n this.ball.opacity = 0;\r\n cc.tween(this.ball)\r\n .to(time1,{position:this.Pos_Array[0]})\r\n .call(() =>{\r\n this.createBall(0,0,0,false);\r\n })\r\n .delay(1)\r\n .call(() =>{\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n else{\r\n let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y)\r\n let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y)\r\n this.ball.opacity = 255;\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y),\r\n 0.5);\r\n cc.tween(this.ball)\r\n .to(time2,{position:this.Pos_Array[1]})\r\n .call(() =>{\r\n this.createBall(1,0,0,false);\r\n })\r\n .delay(0.5)\r\n .call(() =>{\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y),\r\n 0.5);\r\n })\r\n .to(time3,{position:this.Pos_Array[2]})\r\n .call(() =>{\r\n this.createBall(2,0,0,false);\r\n this.ball.opacity = 0;\r\n })\r\n .delay(0.2)\r\n .call(() =>{\r\n this.destroyLine();\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n //创建太阳\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n ball = cc.instantiate(this.qiu1);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.Pos_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n ball.getComponent(\"Sun\").move = true;\r\n this.ball_Array.push(ball);\r\n }\r\n //获取两点之间角度创建连线用\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.8;\r\n return time;\r\n }\r\n\r\n //引导成功\r\n passLevel(){\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.6)\r\n .call(() =>{\r\n win.active = false;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.ball.active = false;\r\n this.startGuide(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }, 400);\r\n })\r\n .start();\r\n }\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2);\r\n }\r\n this.clickNow += 1;\r\n GameData._instance.GM_INFO.total += 1;\r\n setTimeout(() => {\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n }, 200);\r\n if(this.clickNow == 3){\r\n this.passLevel();\r\n }\r\n }\r\n else{\r\n this.loseLevel();\r\n }\r\n }\r\n }\r\n //失败事件\r\n loseLevel(){\r\n this.begin = false;\r\n GameData._instance.AudioManager.playWarning();\r\n this.destroyLine();\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(0.6,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 0;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.custom = 1;\r\n this.startGuide(1);\r\n }\r\n })\r\n .start()\r\n }\r\n //结束页面动画\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n //点击太阳事件\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n this.ball_Array = [];\r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //创造连线,参数起点,终点,连线时间\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n //摧毁连线\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n //获取两个点之间的角度 用于写连线 确定连线方向\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n onEnable () {\r\n Notification.on(\"clickSun\", this.clickSun, this);\r\n }\r\n onDisable () {\r\n Notification.off(\"clickSun\", this.clickSun);\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js index 397f17b..8e3a081 100644 --- a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js +++ b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js @@ -23,45 +23,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; var GameData_1 = require("./GameData"); var Storage_1 = require("./Storage"); -// import {StorageMessage} from "./StorageMessage"; -// import { apiSign } from "./crypto/sign"; var NewClass = /** @class */ (function (_super) { __extends(NewClass, _super); function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } NewClass.prototype.start = function () { + this.Authentication(); + }; + //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 + NewClass.prototype.Authentication = function () { var userId = Storage_1.StorageMessage.getStorage("user"); - if (userId == "undifend" || userId == null) { - this.setId(); + if (userId == "undifend" || userId == null || userId == "") { + this.setUserId(); } else { var data = Storage_1.StorageMessage.getStorage("user"); - data = this.getId(data); + data = this.getUserId(data); var timestamp = parseInt(new Date().getTime() / 1000 + ""); if ((timestamp - data[2]) > 86400) { - this.setId(); + this.setUserId(); return; } - GameData_1.default._instance.GM_INFO.userId = data[1]; - GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); + GameData_1.default._instance.GM_INFO.userId = parseInt(data[1]); } }; - NewClass.prototype.setId = function () { - GameData_1.default._instance.GM_INFO.userId = this.getUserId(); + //设置userId,链接有获取,没有跳转授权 + NewClass.prototype.setUserId = function () { + GameData_1.default._instance.GM_INFO.userId = this.getUserId(null); if (GameData_1.default._instance.GM_INFO.userId == null) { var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; window.location.href = url; @@ -74,77 +66,36 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); } }; - NewClass.prototype.createTexture = function () { - var _this = this; - var url = "http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg"; - cc.assetManager.loadRemote(url, function (err, texture) { - console.log(err, texture); - if (texture) { - var sprite = _this.node.getChildByName("icon").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - } - }); - }; - NewClass.prototype.getUserId = function () { + //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId + NewClass.prototype.getUserId = function (str) { var pathStr = window.location.search; var arr = pathStr.split("&"); + if (str != null) + arr = pathStr.split("?"); if (pathStr.length >= 0 && arr.length > 0) { var arr2_1 = []; arr.map(function (item) { arr2_1.push(item.split("=")[1]); }); - // GameData._instance.GM_INFO.userId = arr2[0] + ""; - return arr2_1[0]; - } - else { - return null; - } - }; - NewClass.prototype.getId = function (str) { - var pathStr = str; - var arr = pathStr.split("?"); - if (pathStr.length >= 0 && arr.length > 0) { - var arr2_2 = []; - arr.map(function (item) { - arr2_2.push(item.split("=")[1]); - }); - // GameData._instance.GM_INFO.userId = arr2[1] + ""; - return arr2_2; + return str == null ? arr2_1[0] : arr2_1; } else { return null; } }; + //开始游戏,跳转至引导页面 NewClass.prototype.startGame = function () { - GameData_1.default._instance.GM_INFO.custom = 0; cc.director.loadScene("GuideScene"); }; + //备用,用来测试跳转 指定关卡 NewClass.prototype.clickBtn = function (event, data) { GameData_1.default._instance.GM_INFO.custom = parseInt(data); cc.director.loadScene("GameScene"); }; - NewClass.prototype.openLevel = function () { - this.node.getChildByName("Level").active = true; - }; - NewClass.prototype.closeBtn = function () { - this.node.getChildByName("Level").active = false; - }; - NewClass.prototype.back = function (data) { - // debugger; - }; - NewClass.prototype.openBtn = function () { - GameData_1.default._instance.GM_INFO.custom = 0; - cc.director.loadScene("GuideScene"); - }; + //打开排行榜 NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; - __decorate([ - property(cc.Label) - ], NewClass.prototype, "label", void 0); - __decorate([ - property - ], NewClass.prototype, "text", void 0); NewClass = __decorate([ ccclass ], NewClass); diff --git a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map index 4dae1b4..6ce843f 100644 --- a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map +++ b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wEAAwE;AACxE,mBAAmB;AACnB,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;AAC5E,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAC5D,uCAAkC;AAClC,qCAA2C;AAG3C,mDAAmD;AACnD,2CAA2C;AAG3C;IAAsC,4BAAY;IAAlD;QAAA,qEAsHC;QAnHG,WAAK,GAAa,IAAI,CAAC;QAGvB,UAAI,GAAW,OAAO,CAAC;;QA+GvB,iBAAiB;IACrB,CAAC;IA7GG,wBAAK,GAAL;QACI,IAAI,MAAM,GAAG,wBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAG,MAAM,IAAI,UAAU,IAAI,MAAM,IAAE,IAAI,EAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;aACG;YACA,IAAI,IAAI,GAAG,wBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAC;gBAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO;aACV;YACD,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5C,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACnF;IACL,CAAC;IAED,wBAAK,GAAL;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACrD,IAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAC;YACzC,IAAI,GAAG,GAAG,6EAA6E,GAAC,QAAQ,CAAC,IAAI,CAAC;YACtG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAC9B;aACG;YACA,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,GAAG,SAAS,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;gBAC1D,WAAW,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;YACvE,wBAAc,CAAC,UAAU,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;YACzC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACnF;IACL,CAAC;IAED,gCAAa,GAAb;QAAA,iBASC;QARG,IAAI,GAAG,GAAG,wGAAwG,CAAC;QACnH,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,OAAoB;YACtD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAC,OAAO,CAAC,CAAA;YACxB,IAAG,OAAO,EAAC;gBACP,IAAI,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACtE,MAAM,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACpD;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,4BAAS,GAAjB;QACI,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAErC,IAAI,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,IAAG,CAAC,IAAE,GAAG,CAAC,MAAM,GAAC,CAAC,EAAE;YAClC,IAAI,MAAI,GAAC,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,UAAA,IAAI;gBACR,MAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YACF,oDAAoD;YACpD,OAAO,MAAI,CAAC,CAAC,CAAC,CAAC;SAClB;aAAM;YACH,OAAO,IAAI,CAAA;SACd;IACL,CAAC;IAEO,wBAAK,GAAb,UAAc,GAAG;QACb,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,IAAI,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,IAAG,CAAC,IAAE,GAAG,CAAC,MAAM,GAAC,CAAC,EAAE;YAClC,IAAI,MAAI,GAAC,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,UAAA,IAAI;gBACR,MAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YACF,oDAAoD;YACpD,OAAO,MAAI,CAAC;SACf;aAAM;YACH,OAAO,IAAI,CAAA;SACd;IACL,CAAC;IAED,4BAAS,GAAT;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,4BAAS,GAAT;QACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,2BAAQ,GAAR;QACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,uBAAI,GAAJ,UAAK,IAAI;QACL,YAAY;IAChB,CAAC;IAED,0BAAO,GAAP;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvC,CAAC;IAhHD;QADC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;2CACI;IAGvB;QADC,QAAQ;0CACc;IANN,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAsH5B;IAAD,eAAC;CAtHD,AAsHC,CAtHqC,EAAE,CAAC,SAAS,GAsHjD;kBAtHoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\nimport GameData from \"./GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n// import {StorageMessage} from \"./StorageMessage\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Label)\r\n label: cc.Label = null;\r\n\r\n @property\r\n text: string = 'hello';\r\n\r\n\r\n start () {\r\n let userId = StorageMessage.getStorage(\"user\");\r\n if(userId == \"undifend\" || userId==null){\r\n this.setId();\r\n }\r\n else{\r\n let data = StorageMessage.getStorage(\"user\");\r\n data = this.getId(data);\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n if((timestamp - data[2]) > 86400){\r\n this.setId();\r\n return;\r\n }\r\n GameData._instance.GM_INFO.userId = data[1];\r\n GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId);\r\n }\r\n }\r\n\r\n setId(){\r\n GameData._instance.GM_INFO.userId = this.getUserId();\r\n if(GameData._instance.GM_INFO.userId == null){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n let idTemp = \"gameId=\" + GameData._instance.GM_INFO.gameId + \r\n \"?userId= \" + GameData._instance.GM_INFO.userId + \"?time=\" + timestamp;\r\n StorageMessage.setStorage(\"user\",idTemp);\r\n GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId);\r\n }\r\n }\r\n\r\n createTexture(){\r\n let url = \"http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg\";\r\n cc.assetManager.loadRemote(url, (err, texture:cc.Texture2D) => {\r\n console.log(err,texture)\r\n if(texture){\r\n var sprite = this.node.getChildByName(\"icon\").getComponent(cc.Sprite);\r\n sprite.spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n })\r\n }\r\n\r\n private getUserId() {\r\n let pathStr = window.location.search;\r\n\r\n let arr=pathStr.split(\"&\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n // GameData._instance.GM_INFO.userId = arr2[0] + \"\";\r\n return arr2[0];\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n private getId(str) {\r\n let pathStr = str;\r\n\r\n let arr=pathStr.split(\"?\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n // GameData._instance.GM_INFO.userId = arr2[1] + \"\";\r\n return arr2;\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n startGame(){\r\n GameData._instance.GM_INFO.custom = 0;\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n \r\n clickBtn(event,data){\r\n GameData._instance.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n\r\n openLevel(){\r\n this.node.getChildByName(\"Level\").active = true;\r\n }\r\n\r\n closeBtn(){\r\n this.node.getChildByName(\"Level\").active = false;\r\n }\r\n\r\n back(data){\r\n // debugger;\r\n }\r\n\r\n openBtn(){\r\n GameData._instance.GM_INFO.custom = 0;\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n\r\n }\r\n \r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\nimport GameData from \"./GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n start () {\r\n this.Authentication();\r\n }\r\n\r\n //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上\r\n private Authentication(){\r\n let userId = StorageMessage.getStorage(\"user\");\r\n if(userId == \"undifend\" || userId==null || userId == \"\"){\r\n this.setUserId();\r\n }\r\n else{\r\n let data = StorageMessage.getStorage(\"user\");\r\n data = this.getUserId(data);\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n if((timestamp - data[2]) > 86400){\r\n this.setUserId();\r\n return;\r\n }\r\n GameData._instance.GM_INFO.userId = parseInt(data[1]);\r\n }\r\n }\r\n //设置userId,链接有获取,没有跳转授权\r\n private setUserId(){\r\n GameData._instance.GM_INFO.userId = this.getUserId(null);\r\n if(GameData._instance.GM_INFO.userId == null){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n let idTemp = \"gameId=\" + GameData._instance.GM_INFO.gameId + \r\n \"?userId= \" + GameData._instance.GM_INFO.userId + \"?time=\" + timestamp;\r\n StorageMessage.setStorage(\"user\",idTemp);\r\n GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId);\r\n }\r\n }\r\n //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId\r\n private getUserId(str) { \r\n let pathStr = window.location.search;\r\n let arr=pathStr.split(\"&\");\r\n if(str != null) arr=pathStr.split(\"?\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n return str == null ? arr2[0]:arr2;\r\n } else {\r\n return null\r\n }\r\n }\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n //备用,用来测试跳转 指定关卡\r\n clickBtn(event,data){\r\n GameData._instance.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json b/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json index df4bccb..c69423b 100644 --- a/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json +++ b/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json @@ -58,7 +58,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5" }, { @@ -1412,7 +1412,7 @@ }, "component": "", "_componentId": "805c6nf399HWZeuWnNB9CTH", - "handler": "back", + "handler": "openRank", "customEventData": "" }, { diff --git a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js index e7bbcbf..506be46 100644 --- a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js +++ b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js @@ -36,15 +36,19 @@ var NewClass = /** @class */ (function (_super) { function NewClass() { return _super !== null && _super.apply(this, arguments) || this; } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { + }; + //初始化数据 + NewClass.prototype.init = function (_id, color, speed, repeat) { this.touch = true; this.move = false; - this._color = 0; - this._speed = 0; - var shan = this.node.getChildByName("shan"); - cc.tween(shan) + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) .repeatForever(cc.tween() .to(1, { opacity: 0, scale: 0.5, }) .delay(0.2) @@ -52,51 +56,45 @@ var NewClass = /** @class */ (function (_super) { .delay(0.5)) .start(); }; - NewClass.prototype.init = function (_id, color, speed, repeat) { - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - }; + //用于作弊 测试 NewClass.prototype.showNumber = function (type) { this.node.getChildByName("number").active = type; if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; - NewClass.prototype.clickBtn = function () { - var temp = this.node.parent.parent.name; - // console.log(temp,this.move,this.touch); - if (this.move == false && this.touch == true) { - if (this.node.parent.parent.name == "GameNode") { - if (this.node.parent.parent.getComponent("GameManager").begin == true) { - cc.tween(this.node.getChildByName("action")) - .to(0.5, { opacity: 0, scale: 1.8 }) - .start(); - cc.tween(this.node) - .to(0.3, { scale: 1.3 }) - .to(0.3, { scale: 1 }) - .start(); + //点击事件 + NewClass.prototype.clickBtn = function (event, data) { + if (data === "1") { + if (this.move == false && this.touch == true) { + if (this.node.parent.parent.name == "GameNode") { + if (this.node.parent.parent.getComponent("GameManager").begin == true) { + cc.tween(this.node.getChildByName("action")) + .to(0.5, { opacity: 0, scale: 1.8 }) + .start(); + cc.tween(this.node) + .to(0.3, { scale: 1.3 }) + .to(0.3, { scale: 1 }) + .start(); + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + else { this.touch = false; this.node.zIndex = -1; Notification_1.Notification.emit("clickSun", this.id_Number); } } - else { + } + else { + if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { this.touch = false; this.node.zIndex = -1; Notification_1.Notification.emit("clickSun", this.id_Number); } } }; - NewClass.prototype.clickBtn2 = function () { - if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - }; - NewClass.prototype.update = function (dt) { - }; NewClass = __decorate([ ccclass ], NewClass); diff --git a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map index 3cb86e1..9565a60 100644 --- a/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map +++ b/library/imports/4b/4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Sun.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\nimport GameManager from './GameManager';\r\nimport { Notification } from './Notification';\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n id_Number:number\r\n _speed:number\r\n _color:number\r\n touch:boolean\r\n _repeat:boolean\r\n move:boolean\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.touch = true;\r\n this.move = false;\r\n this._color = 0;\r\n this._speed = 0;\r\n var shan = this.node.getChildByName(\"shan\");\r\n\r\n cc.tween(shan)\r\n .repeatForever(\r\n cc.tween()\r\n .to(1,{opacity:0,scale:0.5,})\r\n .delay(0.2)\r\n .to(1,{opacity:255,scale:1.2})\r\n .delay(0.5)\r\n )\r\n .start();\r\n\r\n }\r\n\r\n init(_id,color,speed,repeat){\r\n this.id_Number = _id;\r\n this._color = color;\r\n this._speed = speed;\r\n this._repeat = repeat;\r\n }\r\n\r\n showNumber(type){\r\n this.node.getChildByName(\"number\").active = type;\r\n if(type == true)\r\n this.node.getChildByName(\"number\").getComponent(cc.Label).string = this.id_Number + \"\";\r\n }\r\n\r\n clickBtn(){\r\n var temp = this.node.parent.parent.name;\r\n // console.log(temp,this.move,this.touch);\r\n if( this.move == false && this.touch == true){\r\n if(this.node.parent.parent.name == \"GameNode\"){\r\n if(this.node.parent.parent.getComponent(\"GameManager\").begin == true){\r\n cc.tween(this.node.getChildByName(\"action\"))\r\n .to(0.5,{opacity:0,scale:1.8})\r\n .start();\r\n cc.tween(this.node)\r\n .to(0.3,{scale:1.3})\r\n .to(0.3,{scale:1})\r\n .start();\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n else{\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n\r\n }\r\n }\r\n\r\n clickBtn2(){\r\n if( this.touch == true && this.node.parent.parent.getComponent(\"GuideManager\").begin == true){\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n\r\n update (dt) {\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Sun.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\nimport GameManager from './GameManager';\r\nimport { Notification } from './Notification';\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n id_Number:number\r\n _speed:number\r\n _color:number\r\n touch:boolean\r\n _repeat:boolean\r\n move:boolean\r\n // onLoad () {}\r\n start () {\r\n }\r\n //初始化数据\r\n init(_id,color,speed,repeat){\r\n this.touch = true;\r\n this.move = false;\r\n this.id_Number = _id;\r\n this._color = color;\r\n this._speed = speed;\r\n this._repeat = repeat;\r\n //太阳动画\r\n cc.tween(this.node.getChildByName(\"shan\"))\r\n .repeatForever(\r\n cc.tween()\r\n .to(1,{opacity:0,scale:0.5,})\r\n .delay(0.2)\r\n .to(1,{opacity:255,scale:1.2})\r\n .delay(0.5)\r\n )\r\n .start();\r\n }\r\n //用于作弊 测试\r\n showNumber(type){\r\n this.node.getChildByName(\"number\").active = type;\r\n if(type == true)\r\n this.node.getChildByName(\"number\").getComponent(cc.Label).string = this.id_Number + \"\";\r\n }\r\n //点击事件\r\n clickBtn(event,data){\r\n if(data === \"1\"){\r\n if( this.move == false && this.touch == true){\r\n if(this.node.parent.parent.name == \"GameNode\"){\r\n if(this.node.parent.parent.getComponent(\"GameManager\").begin == true){\r\n cc.tween(this.node.getChildByName(\"action\"))\r\n .to(0.5,{opacity:0,scale:1.8})\r\n .start();\r\n cc.tween(this.node)\r\n .to(0.3,{scale:1.3})\r\n .to(0.3,{scale:1})\r\n .start();\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n else{\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n \r\n }\r\n }\r\n else{\r\n if( this.touch == true && this.node.parent.parent.getComponent(\"GuideManager\").begin == true){\r\n this.touch = false;\r\n this.node.zIndex = -1;\r\n Notification.emit(\"clickSun\",this.id_Number);\r\n }\r\n }\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/5a/5aca560f-66b4-413d-95bd-73669c0bca6b.json b/library/imports/5a/5aca560f-66b4-413d-95bd-73669c0bca6b.json deleted file mode 100644 index d394de3..0000000 --- a/library/imports/5a/5aca560f-66b4-413d-95bd-73669c0bca6b.json +++ /dev/null @@ -1,428 +0,0 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "RankListItem", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false - }, - { - "__type__": "cc.Node", - "_name": "RankListItem", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 5 - }, - { - "__id__": 8 - } - ], - "_active": true, - "_components": [ - { - "__id__": 11 - } - ], - "_prefab": { - "__id__": 12 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - } - ], - "_prefab": { - "__id__": 4 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 164, - "g": 118, - "b": 239, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "6eyN1+nK5HT7svNqUsa2/+", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "rankLab", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 6 - } - ], - "_prefab": { - "__id__": 7 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 16, - "g": 1, - "b": 1, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 97.87, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -46.832, - 22.301, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 5 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_useOriginalSize": false, - "_string": "Label", - "_N$string": "Label", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "de4HHWkIhExrJq1+nHHMA6", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "nameLab", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 9 - } - ], - "_prefab": { - "__id__": 10 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 13, - "g": 1, - "b": 1, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100.06, - "height": 50.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -45.717, - -24.531, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 8 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_useOriginalSize": false, - "_string": "name", - "_N$string": "name", - "_fontSize": 40, - "_lineHeight": 40, - "_enableWrapText": true, - "_N$file": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_underlineHeight": 0, - "_N$horizontalAlign": 0, - "_N$verticalAlign": 1, - "_N$fontFamily": "Arial", - "_N$overflow": 0, - "_N$cacheMode": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "05c46heZhJV4sYMqYyxlB5", - "sync": false - }, - { - "__type__": "ca0f9k0oBVDbpQC+OMNTF3m", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "5aca560f-66b4-413d-95bd-73669c0bca6b" - }, - "fileId": "55FH2q1HJAyK0hrjxGH/+q", - "sync": false - } -] \ No newline at end of file diff --git a/library/imports/5e/5e515837-650e-4584-a089-e2a025e36c39.json b/library/imports/5e/5e515837-650e-4584-a089-e2a025e36c39.json index 148da04..3029a50 100644 --- a/library/imports/5e/5e515837-650e-4584-a089-e2a025e36c39.json +++ b/library/imports/5e/5e515837-650e-4584-a089-e2a025e36c39.json @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/library/imports/77/774829bb-123e-48b6-930e-6b3e02491506.json b/library/imports/77/774829bb-123e-48b6-930e-6b3e02491506.json index 77432a1..6f012e7 100644 --- a/library/imports/77/774829bb-123e-48b6-930e-6b3e02491506.json +++ b/library/imports/77/774829bb-123e-48b6-930e-6b3e02491506.json @@ -58,7 +58,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "774829bb-123e-48b6-930e-6b3e02491506" }, { diff --git a/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js b/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js index fa4fb60..50803e2 100644 --- a/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js +++ b/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js @@ -5,8 +5,7 @@ cc._RF.push(module, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageMessage = void 0; -// var jequry = require("jquery"); -// var coinManager = require("coinManager"); +//缓存浏览器数据 var StorageMessage = { getStorage: function (key) { var result = null; @@ -22,9 +21,6 @@ var StorageMessage = { //主动拉起分享接口 var temp = JSON.stringify(value); cc.sys.localStorage.setItem(key, temp); - // debugger; - // var temp = cc.sys.localStorage.getItem(key); - // debugger; }, removeStorage: function (key) { //主动删除消息接口 diff --git a/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js.map b/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js.map index b428700..1c4305a 100644 --- a/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js.map +++ b/library/imports/7c/7cf8c313-e732-40d1-9538-1a9d0970bf2f.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Storage.ts"],"names":[],"mappings":";;;;;;;AACA,kCAAkC;AAClC,4CAA4C;AAC5C,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtC,YAAY;QACZ,+CAA+C;QAC/C,YAAY;IAChB,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["\n// var jequry = require(\"jquery\");\n// var coinManager = require(\"coinManager\");\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n // debugger;\n // var temp = cc.sys.localStorage.getItem(key);\n // debugger;\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Storage.ts"],"names":[],"mappings":";;;;;;;AAAA,SAAS;AACT,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["//缓存浏览器数据\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file diff --git a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js index 1733c97..15ef7ef 100644 --- a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js +++ b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js @@ -45,9 +45,7 @@ var NewClass = /** @class */ (function (_super) { _this.four = null; _this.five = null; return _this; - // update (dt) {} } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { this.count.string = GameData_1.default._instance.GM_INFO.total; @@ -55,6 +53,10 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; } this.time.string = GameData_1.default._instance.GM_INFO.mean_Time + "s"; + this.init(); + }; + //初始化数据 + NewClass.prototype.init = function () { this.listData = []; this.selfData = null; this.one.active = false; @@ -62,17 +64,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; - // this.setData(); this.getRank(); }; - NewClass.prototype.success = function (data) { - }; - NewClass.prototype.back = function () { + //打开排行榜 + NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; + //重新开始玩 NewClass.prototype.again = function () { cc.director.loadScene("GameScene"); }; + //获取排行榜 NewClass.prototype.getRank = function () { var postData = { "page": 1, @@ -80,6 +82,7 @@ var NewClass = /** @class */ (function (_super) { }; serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); }; + //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { this.listData = data.data.list; @@ -106,6 +109,7 @@ var NewClass = /** @class */ (function (_super) { } } }; + //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { var hitNode = null; if (num == 0) { @@ -133,6 +137,7 @@ var NewClass = /** @class */ (function (_super) { this.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); } }; + //设置头像 NewClass.prototype.setPic = function (node, pic) { node.active = false; var url = pic; diff --git a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map index 6eca424..384cca4 100644 --- a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map +++ b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nimport GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n\r\n listData: any;\r\n selfData: any;\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.count.string = GameData._instance.GM_INFO.total;\r\n if(GameData._instance.GM_INFO.mean_Time > 10){\r\n GameData._instance.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = GameData._instance.GM_INFO.mean_Time + \"s\";\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n // this.setData();\r\n this.getRank();\r\n }\r\n\r\n\r\n \r\n\r\n success(data){\r\n }\r\n\r\n\r\n\r\n back(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n\r\n getRankData(data){\r\n if(data){\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n if(this.selfData.nickName.length > 4){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,4) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"name\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"total\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n if(i<5) this.setRank(i,this.listData[i]);\r\n }\r\n\r\n }\r\n }\r\n\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length > 4){\r\n data.nickName= data.nickName.substring(0,4) + \"...\"\r\n }\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n this.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n\r\n }\r\n\r\n public setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n \r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nimport GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = GameData._instance.GM_INFO.total;\r\n if(GameData._instance.GM_INFO.mean_Time > 10){\r\n GameData._instance.GM_INFO.mean_Time = (parseInt(Math.random()*10+\"\")+5)/10\r\n }\r\n this.time.string = GameData._instance.GM_INFO.mean_Time + \"s\";\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.listData = [];\r\n this.selfData = null;\r\n this.one.active = false;\r\n this.two.active = false;\r\n this.three.active = false;\r\n this.four.active = false;\r\n this.five.active = false;\r\n this.getRank();\r\n }\r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n //重新开始玩\r\n again(){\r\n cc.director.loadScene(\"GameScene\");\r\n }\r\n //获取排行榜\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n if(data){\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n if(this.selfData.nickName.length > 4){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,4) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"name\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"total\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.selfNode.getChildByName(\"rank\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n if(i<5) this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length > 4){\r\n data.nickName= data.nickName.substring(0,4) + \"...\"\r\n }\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.totalSunCount;\r\n this.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n //设置头像\r\n public setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n \r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/bd/bd9f7f17-383e-4f98-b4e3-936acb6018b3.js b/library/imports/97/971c4bee-6f80-49a6-aad2-08b3c9f20d55.js similarity index 95% rename from library/imports/bd/bd9f7f17-383e-4f98-b4e3-936acb6018b3.js rename to library/imports/97/971c4bee-6f80-49a6-aad2-08b3c9f20d55.js index 63bef5e..a5d933f 100644 --- a/library/imports/bd/bd9f7f17-383e-4f98-b4e3-936acb6018b3.js +++ b/library/imports/97/971c4bee-6f80-49a6-aad2-08b3c9f20d55.js @@ -1,6 +1,6 @@ "use strict"; -cc._RF.push(module, 'bd9f78XOD5PmLTjk2rLYBiz', 'BallAudioManager'); -// Script/BallAudioManager.js +cc._RF.push(module, '971c4vub4BJpqrSCLPJ8g1V', 'AudioManager'); +// Script/AudioManager.js "use strict"; @@ -59,8 +59,7 @@ cc.Class({ cc.audioEngine.setFinishCallback(context, function () { callback.call(this); }.bind(this)); - } // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); - + } this.mAudioMap[audioSource] = context; return audioSource; @@ -82,8 +81,7 @@ cc.Class({ context.src = audioSource.nativeUrl; context.play(); - this.mAudioMap[audioSource] = context; // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl); - + this.mAudioMap[audioSource] = context; return audioSource; } }, diff --git a/library/imports/97/971c4bee-6f80-49a6-aad2-08b3c9f20d55.js.map b/library/imports/97/971c4bee-6f80-49a6-aad2-08b3c9f20d55.js.map new file mode 100644 index 0000000..5b9ef60 --- /dev/null +++ b/library/imports/97/971c4bee-6f80-49a6-aad2-08b3c9f20d55.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\AudioManager.js"],"names":["cc","Class","Component","properties","audioGameBgm0","type","AudioClip","audioButtonClick","audioWarning","audioWin","reward","finish","rewardCount","ctor","mAudioMap","bgMusicVolume","effectMusicVolume","mMusicSwitch","mEffectSwitch","play","audioSource","loop","callback","isBgMusic","volume","sys","isBrowser","brickSound","context","audioEngine","setFinishCallback","call","bind","wx","createInnerAudioContext","autoplay","obeyMuteSwitch","onEnded","offEnded","src","nativeUrl","save","onLoad","window","addEventListener","dispatchEvent","preload","platform","WECHAT_GAME","musics","forEach","path","getAudioMusicSwitch","getAudioEffectSwitch","trunAudioSound","on","switchMusic","switchEffect","playMusicGame","stopMusic","onHide","pauseAll","onShow","resumeAll","playMusic","key","mMusicKey","stop","playBomb","audioBomb","playJiGuang","audioJiGuang","playItem1","audioItem1","playGameStart","audioGameStart","playGameOver","audioGameOver","playGameResultFailed","audioGameResultFail","playGameResultSuccess","audioGameResultSuccess","playWarning","playWin","playBrick","brickBoom","audioObj","playAudioButton","playRandomMatch","randomMatchSound","playMatchFoundSound","matchFoundSound"],"mappings":"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","sourceRoot":"/","sourcesContent":["cc.Class({\n extends: cc.Component,\n properties:{\n //背景音乐\n audioGameBgm0:{\n default:null,\n type:cc.AudioClip\n },\n // 按钮点击\n audioButtonClick:{\n default:null,\n type:cc.AudioClip\n },\n // 报警音效\n audioWarning:{\n default:null,\n type:cc.AudioClip\n },\n\n //游戏开始音效\n audioWin:{\n default:null,\n type:cc.AudioClip\n },\n\n reward: false,\n finish: false,\n rewardCount: 0\n\n },\n ctor: function () {\n this.mAudioMap = {};\n\n /**\n * 默认音量大小\n * @type {number}\n */\n this.bgMusicVolume = 0.1;\n this.effectMusicVolume = 1;\n\n this.mMusicSwitch = 1;\n this.mEffectSwitch = 1;\n },\n play : function(audioSource, loop, callback, isBgMusic) {\n if (isBgMusic && !this.mMusicSwitch) return;\n if (!isBgMusic && !this.mEffectSwitch) return;\n\n var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume;\n\n if (cc.sys.isBrowser) {\n if(audioSource == this.brickSound){\n volume = 0.1;\n } \n var context = cc.audioEngine.play(audioSource, loop, volume);\n if (callback){\n cc.audioEngine.setFinishCallback(context, function(){\n callback.call(this);\n }.bind(this));\n }\n\n this.mAudioMap[audioSource] = context;\n return audioSource;\n } else {\n var context = wx.createInnerAudioContext();\n context.autoplay = true;\n context.loop = loop;\n context.obeyMuteSwitch = true;\n context.volume = volume;\n\n if (callback) {\n context.onEnded(function() {\n callback.call(this);\n }.bind(this));\n } else {\n context.offEnded();\n }\n \n // var audioPath = cc.url.raw(\"resources/BallMaster/sounds\" + audioSource.name + \".mp3\");\n context.src = audioSource.nativeUrl;\n context.play()\n this.mAudioMap[audioSource] = context;\n \n return audioSource;\n }\n },\n\n save: function () {\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch);\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch);\n },\n onLoad() {\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) {\n // this.mMusicSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) {\n // this.mEffectSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n this.reward = false;\n this.finish = false;\n this.rewardCount = 0;\n window.addEventListener('rewardCanUse', () => {\n // 此时激励可用 游戏内部逻辑\n this.reward = true;\n });\n\n 'undefined' != typeof window['reward'] ? \n window.dispatchEvent(window['reward']):\"\"\n\n this.preload();\n },\n preload : function() {\n if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { return; }\n\n var musics = [\n this.audioGameBgm0,\n ];\n musics.forEach(function(path) {\n // var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path;\n // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) {\n // cc.loader.load(musicPath, function(err, remoteUrl) {\n // if (err) {\n // cc.error(err.message || err);\n // return;\n // }\n // });\n // }\n })\n },\n\n getAudioMusicSwitch()\n {\n return this.mMusicSwitch;\n\n },\n getAudioEffectSwitch()\n {\n return this.mEffectSwitch;\n },\n trunAudioSound(on)\n {\n this.switchMusic(on);\n this.switchEffect(on)\n },\n switchMusic : function(on) {\n if (this.mMusicSwitch != (on?1:0))\n {\n this.mMusicSwitch = 1-this.mMusicSwitch;\n // this.save();\n \n }\n if(on)\n {\n this.playMusicGame();\n }\n else\n {\n this.stopMusic();\n }\n },\n switchEffect : function(on) {\n if (this.mEffectSwitch != (on?1:0)){\n this.mEffectSwitch = 1-this.mEffectSwitch;\n // this.save();\n\n }\n },\n onHide () {\n cc.audioEngine.pauseAll();\n\n // if (CC_JSB) {\n // } else {\n // for (var key in this.mAudioMap) {\n // if (key === this.mMusicKey) {\n // this.mAudioMap[key].pause();\n // } else {\n // this.mAudioMap[key].stop();\n // }\n // }\n // }\n },\n\n onShow () {\n cc.audioEngine.resumeAll();\n\n // if (CC_JSB) {\n // } else {\n // if (!this.mMusicSwitch) return;\n // var context = this.mAudioMap[this.mMusicKey];\n // if (context) {\n // context.play();\n // }\n // }\n },\n playMusic : function(key, callback, loop) {\n\n loop = typeof loop == 'undefined' || loop ? true : false;\n\n this.stopMusic();\n this.mMusicKey = this.play(key, loop, callback, true);\n },\n /**\n * 游戏背景音乐\n */\n playMusicGame () {\n this.playMusic(this.audioGameBgm0);\n },\n /**\n * 停止背景音乐播放\n */\n stopMusic () {\n // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey);\n\n var context = this.mAudioMap[this.mMusicKey];\n\n if (typeof(context) != 'undefined') {\n if (cc.sys.isBrowser) {\n cc.audioEngine.stop(context);\n } else {\n context.stop();\n }\n cc.audioEngine.stop(context);\n\n }\n },\n // 炸弹、火箭爆炸音效\n playBomb () {\n return this.play(this.audioBomb, false);\n },\n //激光音效\n playJiGuang()\n {\n return this.play(this.audioJiGuang, false);\n },\n //技能音效\n playItem1()\n {\n return this.play(this.audioItem1, false);\n },\n /*\n * 游戏开始音效\n *\n */\n playGameStart()\n {\n return this.play(this.audioGameStart, false);\n },\n /*\n * 失败的游戏结束\n */\n playGameOver()\n {\n return this.play(this.audioGameOver,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultFailed()\n {\n return this.play(this.audioGameResultFail,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultSuccess()\n {\n return this.play(this.audioGameResultSuccess,false);\n },\n /**\n * 报警的音效\n */\n playWarning()\n {\n return this.play(this.audioWarning,false);\n\n },\n\n playWin()\n {\n return this.play(this.audioWin,false);\n },\n\n /*\n * 方块碰撞的声音\n */\n playBrick()\n {\n return this.play(this.brickSound,false);\n },\n //方块破碎的声音\n brickBoom(){\n return this.play(this.audioObj,false);\n },\n /**\n * 按钮\n */\n playAudioButton () {\n return this.play(this.audioButtonClick, false);\n },\n\n playRandomMatch()\n {\n this.playMusic(this.randomMatchSound);\n },\n playMatchFoundSound()\n {\n this.stopMusic();\n return this.play(this.matchFoundSound, false);\n }\n});"]} \ No newline at end of file diff --git a/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json b/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json index cf07ca0..0882f5e 100644 --- a/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json +++ b/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json @@ -137,12 +137,10 @@ "__id__": 2 }, "_enabled": true, - "label": null, - "text": "hello", "_id": "89UAK+FSRBh4q9PzKutGtE" }, { - "__type__": "bd9f78XOD5PmLTjk2rLYBiz", + "__type__": "971c4vub4BJpqrSCLPJ8g1V", "_name": "", "_objFlags": 0, "node": { @@ -162,7 +160,7 @@ "reward": false, "finish": false, "rewardCount": 0, - "_id": "f4nksYNJROS4BnQwsjb5Tr" + "_id": "dbb1mOJilJI5DAHXWGh8XU" }, { "__type__": "cc.Node", @@ -182,25 +180,25 @@ "__id__": 15 }, { - "__id__": 22 + "__id__": 19 }, { - "__id__": 30 + "__id__": 27 }, { - "__id__": 36 + "__id__": 33 } ], "_active": true, "_components": [ { - "__id__": 255 + "__id__": 252 }, { - "__id__": 256 + "__id__": 253 }, { - "__id__": 257 + "__id__": 254 } ], "_prefab": null, @@ -658,18 +656,14 @@ "_parent": { "__id__": 5 }, - "_children": [ - { - "__id__": 16 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 16 }, { - "__id__": 20 + "__id__": 17 } ], "_prefab": null, @@ -720,122 +714,6 @@ "groupIndex": 0, "_id": "fbUHhjpABG74DdpeYzdl/2" }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 15 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 17 - }, - { - "__id__": 18 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 376, - "height": 84 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "a7Cbo0XSVPC6+yqwMcKLSX" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "6b74e4c6-15c5-4566-8dd4-fa523a15898b" - } - ], - "_srcBlendFactor": 769, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "16ec87d8-d077-43c9-976d-94b0de683920" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" - }, - "_id": "3d0l1BTrRGtJyAYhq+EV5Q" - }, - { - "__type__": "b48a2ukFF1FlJGSkUcHUIET", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "m_delayTime": 0, - "m_fluxayTime": 1.5, - "m_intervalTime": 1, - "m_scale": 0.4, - "m_angle": 10, - "m_reviseStartTime": 0, - "m_reviseTimeScale": 1, - "_id": "d06hI9j9xAjLq5z880AEMa" - }, { "__type__": "cc.Sprite", "_name": "", @@ -884,7 +762,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 21 + "__id__": 18 } ], "_N$interactable": true, @@ -961,13 +839,13 @@ }, "_children": [ { - "__id__": 23 + "__id__": 20 } ], "_active": false, "_components": [ { - "__id__": 28 + "__id__": 25 } ], "_prefab": null, @@ -1023,20 +901,20 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 22 + "__id__": 19 }, "_children": [ { - "__id__": 24 + "__id__": 21 } ], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 23 }, { - "__id__": 27 + "__id__": 24 } ], "_prefab": null, @@ -1092,13 +970,13 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 23 + "__id__": 20 }, "_children": [], "_active": true, "_components": [ { - "__id__": 25 + "__id__": 22 } ], "_prefab": null, @@ -1154,7 +1032,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 21 }, "_enabled": true, "_materials": [ @@ -1187,7 +1065,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 20 }, "_enabled": true, "_materials": [ @@ -1219,7 +1097,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 20 }, "_enabled": true, "alignMode": 0, @@ -1246,7 +1124,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 19 }, "_enabled": true, "_normalMaterial": null, @@ -1255,7 +1133,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 29 + "__id__": 26 } ], "_N$interactable": true, @@ -1321,7 +1199,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 23 + "__id__": 20 }, "_id": "a6Lbjg6z5F5Kn3eBsSkb4V" }, @@ -1344,13 +1222,13 @@ }, "_children": [ { - "__id__": 31 + "__id__": 28 } ], "_active": true, "_components": [ { - "__id__": 34 + "__id__": 31 } ], "_prefab": null, @@ -1406,16 +1284,16 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 30 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 32 + "__id__": 29 }, { - "__id__": 33 + "__id__": 30 } ], "_prefab": null, @@ -1471,7 +1349,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -1505,7 +1383,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "alignMode": 0, @@ -1532,7 +1410,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 27 }, "_enabled": true, "_normalMaterial": null, @@ -1541,7 +1419,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 35 + "__id__": 32 } ], "_N$interactable": true, @@ -1607,7 +1485,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 31 + "__id__": 28 }, "_id": "79F7b/WB5F2JOMTqOD3Wq1" }, @@ -1630,118 +1508,118 @@ }, "_children": [ { - "__id__": 37 + "__id__": 34 }, { - "__id__": 39 + "__id__": 36 }, { - "__id__": 41 + "__id__": 38 }, { - "__id__": 47 + "__id__": 44 }, { - "__id__": 53 + "__id__": 50 }, { - "__id__": 59 + "__id__": 56 }, { - "__id__": 65 + "__id__": 62 }, { - "__id__": 71 + "__id__": 68 }, { - "__id__": 77 + "__id__": 74 }, { - "__id__": 83 + "__id__": 80 }, { - "__id__": 89 + "__id__": 86 }, { - "__id__": 95 + "__id__": 92 }, { - "__id__": 101 + "__id__": 98 }, { - "__id__": 107 + "__id__": 104 }, { - "__id__": 113 + "__id__": 110 }, { - "__id__": 119 + "__id__": 116 }, { - "__id__": 125 + "__id__": 122 }, { - "__id__": 131 + "__id__": 128 }, { - "__id__": 137 + "__id__": 134 }, { - "__id__": 143 + "__id__": 140 }, { - "__id__": 149 + "__id__": 146 }, { - "__id__": 155 + "__id__": 152 }, { - "__id__": 161 + "__id__": 158 }, { - "__id__": 167 + "__id__": 164 }, { - "__id__": 173 + "__id__": 170 }, { - "__id__": 179 + "__id__": 176 }, { - "__id__": 185 + "__id__": 182 }, { - "__id__": 191 + "__id__": 188 }, { - "__id__": 197 + "__id__": 194 }, { - "__id__": 203 + "__id__": 200 }, { - "__id__": 209 + "__id__": 206 }, { - "__id__": 215 + "__id__": 212 }, { - "__id__": 221 + "__id__": 218 }, { - "__id__": 227 + "__id__": 224 }, { - "__id__": 233 + "__id__": 230 }, { - "__id__": 239 + "__id__": 236 }, { - "__id__": 245 + "__id__": 242 }, { - "__id__": 251 + "__id__": 248 } ], "_active": false, @@ -1799,13 +1677,13 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 35 } ], "_prefab": null, @@ -1861,7 +1739,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 37 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -1893,13 +1771,13 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 37 } ], "_prefab": null, @@ -1955,7 +1833,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 39 + "__id__": 36 }, "_enabled": true, "_materials": [ @@ -1987,20 +1865,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 42 + "__id__": 39 } ], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 41 }, { - "__id__": 45 + "__id__": 42 } ], "_prefab": null, @@ -2056,13 +1934,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 41 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 43 + "__id__": 40 } ], "_prefab": null, @@ -2118,7 +1996,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -2151,7 +2029,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_materials": [ @@ -2183,7 +2061,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_normalMaterial": null, @@ -2192,7 +2070,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 46 + "__id__": 43 } ], "_N$interactable": true, @@ -2248,7 +2126,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 41 + "__id__": 38 }, "_id": "9atPuDujpGf7JpL56hk8PW" }, @@ -2267,20 +2145,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 48 + "__id__": 45 } ], "_active": true, "_components": [ { - "__id__": 50 + "__id__": 47 }, { - "__id__": 51 + "__id__": 48 } ], "_prefab": null, @@ -2336,13 +2214,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 44 }, "_children": [], "_active": true, "_components": [ { - "__id__": 49 + "__id__": 46 } ], "_prefab": null, @@ -2398,7 +2276,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 48 + "__id__": 45 }, "_enabled": true, "_materials": [ @@ -2431,7 +2309,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 44 }, "_enabled": true, "_materials": [ @@ -2463,7 +2341,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 44 }, "_enabled": true, "_normalMaterial": null, @@ -2472,7 +2350,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 52 + "__id__": 49 } ], "_N$interactable": true, @@ -2528,7 +2406,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 47 + "__id__": 44 }, "_id": "e28O7TPcBMM4zZMWd0PJHj" }, @@ -2547,20 +2425,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 54 + "__id__": 51 } ], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 53 }, { - "__id__": 57 + "__id__": 54 } ], "_prefab": null, @@ -2616,13 +2494,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 53 + "__id__": 50 }, "_children": [], "_active": true, "_components": [ { - "__id__": 55 + "__id__": 52 } ], "_prefab": null, @@ -2678,7 +2556,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 54 + "__id__": 51 }, "_enabled": true, "_materials": [ @@ -2711,7 +2589,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 50 }, "_enabled": true, "_materials": [ @@ -2743,7 +2621,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 50 }, "_enabled": true, "_normalMaterial": null, @@ -2752,7 +2630,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 58 + "__id__": 55 } ], "_N$interactable": true, @@ -2808,7 +2686,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 53 + "__id__": 50 }, "_id": "e7myKHg99ATKcx0BJHQfkS" }, @@ -2827,20 +2705,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 60 + "__id__": 57 } ], "_active": true, "_components": [ { - "__id__": 62 + "__id__": 59 }, { - "__id__": 63 + "__id__": 60 } ], "_prefab": null, @@ -2896,13 +2774,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 59 + "__id__": 56 }, "_children": [], "_active": true, "_components": [ { - "__id__": 61 + "__id__": 58 } ], "_prefab": null, @@ -2958,7 +2836,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 57 }, "_enabled": true, "_materials": [ @@ -2991,7 +2869,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 56 }, "_enabled": true, "_materials": [ @@ -3023,7 +2901,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 56 }, "_enabled": true, "_normalMaterial": null, @@ -3032,7 +2910,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 64 + "__id__": 61 } ], "_N$interactable": true, @@ -3088,7 +2966,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 59 + "__id__": 56 }, "_id": "f0VrSTnI5Bg6B/Ts9KUsfs" }, @@ -3107,20 +2985,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 66 + "__id__": 63 } ], "_active": true, "_components": [ { - "__id__": 68 + "__id__": 65 }, { - "__id__": 69 + "__id__": 66 } ], "_prefab": null, @@ -3176,13 +3054,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 62 }, "_children": [], "_active": true, "_components": [ { - "__id__": 67 + "__id__": 64 } ], "_prefab": null, @@ -3238,7 +3116,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 66 + "__id__": 63 }, "_enabled": true, "_materials": [ @@ -3271,7 +3149,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_materials": [ @@ -3303,7 +3181,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_normalMaterial": null, @@ -3312,7 +3190,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 70 + "__id__": 67 } ], "_N$interactable": true, @@ -3368,7 +3246,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 65 + "__id__": 62 }, "_id": "a09YOkZyhJHYj18zpcijBO" }, @@ -3387,20 +3265,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 72 + "__id__": 69 } ], "_active": true, "_components": [ { - "__id__": 74 + "__id__": 71 }, { - "__id__": 75 + "__id__": 72 } ], "_prefab": null, @@ -3456,13 +3334,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 68 }, "_children": [], "_active": true, "_components": [ { - "__id__": 73 + "__id__": 70 } ], "_prefab": null, @@ -3518,7 +3396,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 72 + "__id__": 69 }, "_enabled": true, "_materials": [ @@ -3551,7 +3429,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 68 }, "_enabled": true, "_materials": [ @@ -3583,7 +3461,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 68 }, "_enabled": true, "_normalMaterial": null, @@ -3592,7 +3470,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 76 + "__id__": 73 } ], "_N$interactable": true, @@ -3648,7 +3526,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 71 + "__id__": 68 }, "_id": "b3+cthiN9M/5KRbLTOp8ko" }, @@ -3667,20 +3545,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 78 + "__id__": 75 } ], "_active": true, "_components": [ { - "__id__": 80 + "__id__": 77 }, { - "__id__": 81 + "__id__": 78 } ], "_prefab": null, @@ -3736,13 +3614,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 77 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 79 + "__id__": 76 } ], "_prefab": null, @@ -3798,7 +3676,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 78 + "__id__": 75 }, "_enabled": true, "_materials": [ @@ -3831,7 +3709,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 74 }, "_enabled": true, "_materials": [ @@ -3863,7 +3741,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 74 }, "_enabled": true, "_normalMaterial": null, @@ -3872,7 +3750,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 82 + "__id__": 79 } ], "_N$interactable": true, @@ -3928,7 +3806,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 77 + "__id__": 74 }, "_id": "a91G0F1ztEkLM2gjPT+VaU" }, @@ -3947,20 +3825,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 84 + "__id__": 81 } ], "_active": true, "_components": [ { - "__id__": 86 + "__id__": 83 }, { - "__id__": 87 + "__id__": 84 } ], "_prefab": null, @@ -4016,13 +3894,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 83 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 85 + "__id__": 82 } ], "_prefab": null, @@ -4078,7 +3956,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 84 + "__id__": 81 }, "_enabled": true, "_materials": [ @@ -4111,7 +3989,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 80 }, "_enabled": true, "_materials": [ @@ -4143,7 +4021,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 80 }, "_enabled": true, "_normalMaterial": null, @@ -4152,7 +4030,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 88 + "__id__": 85 } ], "_N$interactable": true, @@ -4208,7 +4086,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 83 + "__id__": 80 }, "_id": "bevIjnSAJOn5MeW422Y+aw" }, @@ -4227,20 +4105,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 90 + "__id__": 87 } ], "_active": true, "_components": [ { - "__id__": 92 + "__id__": 89 }, { - "__id__": 93 + "__id__": 90 } ], "_prefab": null, @@ -4296,13 +4174,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 89 + "__id__": 86 }, "_children": [], "_active": true, "_components": [ { - "__id__": 91 + "__id__": 88 } ], "_prefab": null, @@ -4358,7 +4236,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 90 + "__id__": 87 }, "_enabled": true, "_materials": [ @@ -4391,7 +4269,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 86 }, "_enabled": true, "_materials": [ @@ -4423,7 +4301,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 86 }, "_enabled": true, "_normalMaterial": null, @@ -4432,7 +4310,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 94 + "__id__": 91 } ], "_N$interactable": true, @@ -4488,7 +4366,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 89 + "__id__": 86 }, "_id": "14oKZTFmZFJIH5LApG6gCz" }, @@ -4507,20 +4385,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 96 + "__id__": 93 } ], "_active": true, "_components": [ { - "__id__": 98 + "__id__": 95 }, { - "__id__": 99 + "__id__": 96 } ], "_prefab": null, @@ -4576,13 +4454,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 95 + "__id__": 92 }, "_children": [], "_active": true, "_components": [ { - "__id__": 97 + "__id__": 94 } ], "_prefab": null, @@ -4638,7 +4516,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 96 + "__id__": 93 }, "_enabled": true, "_materials": [ @@ -4671,7 +4549,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 92 }, "_enabled": true, "_materials": [ @@ -4703,7 +4581,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 92 }, "_enabled": true, "_normalMaterial": null, @@ -4712,7 +4590,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 100 + "__id__": 97 } ], "_N$interactable": true, @@ -4768,7 +4646,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 95 + "__id__": 92 }, "_id": "68ZV0ceh5Lgo1VHyJIhorl" }, @@ -4787,20 +4665,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 102 + "__id__": 99 } ], "_active": true, "_components": [ { - "__id__": 104 + "__id__": 101 }, { - "__id__": 105 + "__id__": 102 } ], "_prefab": null, @@ -4856,13 +4734,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 101 + "__id__": 98 }, "_children": [], "_active": true, "_components": [ { - "__id__": 103 + "__id__": 100 } ], "_prefab": null, @@ -4918,7 +4796,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 102 + "__id__": 99 }, "_enabled": true, "_materials": [ @@ -4951,7 +4829,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 98 }, "_enabled": true, "_materials": [ @@ -4983,7 +4861,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 98 }, "_enabled": true, "_normalMaterial": null, @@ -4992,7 +4870,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 106 + "__id__": 103 } ], "_N$interactable": true, @@ -5048,7 +4926,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 101 + "__id__": 98 }, "_id": "2en+0G+zVI4I027GXsViqq" }, @@ -5067,20 +4945,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 108 + "__id__": 105 } ], "_active": true, "_components": [ { - "__id__": 110 + "__id__": 107 }, { - "__id__": 111 + "__id__": 108 } ], "_prefab": null, @@ -5136,13 +5014,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 107 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 109 + "__id__": 106 } ], "_prefab": null, @@ -5198,7 +5076,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 108 + "__id__": 105 }, "_enabled": true, "_materials": [ @@ -5231,7 +5109,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 104 }, "_enabled": true, "_materials": [ @@ -5263,7 +5141,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 104 }, "_enabled": true, "_normalMaterial": null, @@ -5272,7 +5150,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 112 + "__id__": 109 } ], "_N$interactable": true, @@ -5328,7 +5206,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 107 + "__id__": 104 }, "_id": "fcLcv4F55ILarJcPoEx+3d" }, @@ -5347,20 +5225,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 114 + "__id__": 111 } ], "_active": true, "_components": [ { - "__id__": 116 + "__id__": 113 }, { - "__id__": 117 + "__id__": 114 } ], "_prefab": null, @@ -5416,13 +5294,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 113 + "__id__": 110 }, "_children": [], "_active": true, "_components": [ { - "__id__": 115 + "__id__": 112 } ], "_prefab": null, @@ -5478,7 +5356,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 114 + "__id__": 111 }, "_enabled": true, "_materials": [ @@ -5511,7 +5389,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 110 }, "_enabled": true, "_materials": [ @@ -5543,7 +5421,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 110 }, "_enabled": true, "_normalMaterial": null, @@ -5552,7 +5430,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 118 + "__id__": 115 } ], "_N$interactable": true, @@ -5608,7 +5486,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 113 + "__id__": 110 }, "_id": "aafQu13+ZHxb8tVZapcd2n" }, @@ -5627,20 +5505,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 120 + "__id__": 117 } ], "_active": true, "_components": [ { - "__id__": 122 + "__id__": 119 }, { - "__id__": 123 + "__id__": 120 } ], "_prefab": null, @@ -5696,13 +5574,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 119 + "__id__": 116 }, "_children": [], "_active": true, "_components": [ { - "__id__": 121 + "__id__": 118 } ], "_prefab": null, @@ -5758,7 +5636,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 120 + "__id__": 117 }, "_enabled": true, "_materials": [ @@ -5791,7 +5669,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 119 + "__id__": 116 }, "_enabled": true, "_materials": [ @@ -5823,7 +5701,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 119 + "__id__": 116 }, "_enabled": true, "_normalMaterial": null, @@ -5832,7 +5710,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 124 + "__id__": 121 } ], "_N$interactable": true, @@ -5888,7 +5766,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 119 + "__id__": 116 }, "_id": "50IFJGWB1FWqZIYeWB3oFG" }, @@ -5907,20 +5785,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 126 + "__id__": 123 } ], "_active": true, "_components": [ { - "__id__": 128 + "__id__": 125 }, { - "__id__": 129 + "__id__": 126 } ], "_prefab": null, @@ -5976,13 +5854,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 125 + "__id__": 122 }, "_children": [], "_active": true, "_components": [ { - "__id__": 127 + "__id__": 124 } ], "_prefab": null, @@ -6038,7 +5916,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 126 + "__id__": 123 }, "_enabled": true, "_materials": [ @@ -6071,7 +5949,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 122 }, "_enabled": true, "_materials": [ @@ -6103,7 +5981,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 122 }, "_enabled": true, "_normalMaterial": null, @@ -6112,7 +5990,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 130 + "__id__": 127 } ], "_N$interactable": true, @@ -6168,7 +6046,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 125 + "__id__": 122 }, "_id": "e8gF8YFdxOj5+BJEEdu9h0" }, @@ -6187,20 +6065,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 132 + "__id__": 129 } ], "_active": true, "_components": [ { - "__id__": 134 + "__id__": 131 }, { - "__id__": 135 + "__id__": 132 } ], "_prefab": null, @@ -6256,13 +6134,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 131 + "__id__": 128 }, "_children": [], "_active": true, "_components": [ { - "__id__": 133 + "__id__": 130 } ], "_prefab": null, @@ -6318,7 +6196,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 132 + "__id__": 129 }, "_enabled": true, "_materials": [ @@ -6351,7 +6229,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 131 + "__id__": 128 }, "_enabled": true, "_materials": [ @@ -6383,7 +6261,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 131 + "__id__": 128 }, "_enabled": true, "_normalMaterial": null, @@ -6392,7 +6270,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 136 + "__id__": 133 } ], "_N$interactable": true, @@ -6448,7 +6326,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 131 + "__id__": 128 }, "_id": "9bFxBleHNANr+nSLnGJeDT" }, @@ -6467,20 +6345,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 138 + "__id__": 135 } ], "_active": true, "_components": [ { - "__id__": 140 + "__id__": 137 }, { - "__id__": 141 + "__id__": 138 } ], "_prefab": null, @@ -6536,13 +6414,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 137 + "__id__": 134 }, "_children": [], "_active": true, "_components": [ { - "__id__": 139 + "__id__": 136 } ], "_prefab": null, @@ -6598,7 +6476,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 138 + "__id__": 135 }, "_enabled": true, "_materials": [ @@ -6631,7 +6509,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 137 + "__id__": 134 }, "_enabled": true, "_materials": [ @@ -6663,7 +6541,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 137 + "__id__": 134 }, "_enabled": true, "_normalMaterial": null, @@ -6672,7 +6550,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 142 + "__id__": 139 } ], "_N$interactable": true, @@ -6728,7 +6606,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 137 + "__id__": 134 }, "_id": "5fGP361SBNqofKz3J5kEQC" }, @@ -6747,20 +6625,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 144 + "__id__": 141 } ], "_active": true, "_components": [ { - "__id__": 146 + "__id__": 143 }, { - "__id__": 147 + "__id__": 144 } ], "_prefab": null, @@ -6816,13 +6694,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 143 + "__id__": 140 }, "_children": [], "_active": true, "_components": [ { - "__id__": 145 + "__id__": 142 } ], "_prefab": null, @@ -6878,7 +6756,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 144 + "__id__": 141 }, "_enabled": true, "_materials": [ @@ -6911,7 +6789,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 140 }, "_enabled": true, "_materials": [ @@ -6943,7 +6821,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 140 }, "_enabled": true, "_normalMaterial": null, @@ -6952,7 +6830,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 148 + "__id__": 145 } ], "_N$interactable": true, @@ -7008,7 +6886,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 143 + "__id__": 140 }, "_id": "492u/xS+1MRZAdJJ1qxzzJ" }, @@ -7027,20 +6905,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 150 + "__id__": 147 } ], "_active": true, "_components": [ { - "__id__": 152 + "__id__": 149 }, { - "__id__": 153 + "__id__": 150 } ], "_prefab": null, @@ -7096,13 +6974,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 149 + "__id__": 146 }, "_children": [], "_active": true, "_components": [ { - "__id__": 151 + "__id__": 148 } ], "_prefab": null, @@ -7158,7 +7036,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 150 + "__id__": 147 }, "_enabled": true, "_materials": [ @@ -7191,7 +7069,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 146 }, "_enabled": true, "_materials": [ @@ -7223,7 +7101,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 146 }, "_enabled": true, "_normalMaterial": null, @@ -7232,7 +7110,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 154 + "__id__": 151 } ], "_N$interactable": true, @@ -7288,7 +7166,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 149 + "__id__": 146 }, "_id": "eeNz2KyitJdqieZJD/Xx9X" }, @@ -7307,20 +7185,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 156 + "__id__": 153 } ], "_active": true, "_components": [ { - "__id__": 158 + "__id__": 155 }, { - "__id__": 159 + "__id__": 156 } ], "_prefab": null, @@ -7376,13 +7254,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 155 + "__id__": 152 }, "_children": [], "_active": true, "_components": [ { - "__id__": 157 + "__id__": 154 } ], "_prefab": null, @@ -7438,7 +7316,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 156 + "__id__": 153 }, "_enabled": true, "_materials": [ @@ -7471,7 +7349,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 155 + "__id__": 152 }, "_enabled": true, "_materials": [ @@ -7503,7 +7381,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 155 + "__id__": 152 }, "_enabled": true, "_normalMaterial": null, @@ -7512,7 +7390,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 160 + "__id__": 157 } ], "_N$interactable": true, @@ -7568,7 +7446,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 155 + "__id__": 152 }, "_id": "9ebB2BB1RMTKLqlWXpa28x" }, @@ -7587,20 +7465,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 162 + "__id__": 159 } ], "_active": true, "_components": [ { - "__id__": 164 + "__id__": 161 }, { - "__id__": 165 + "__id__": 162 } ], "_prefab": null, @@ -7656,13 +7534,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 161 + "__id__": 158 }, "_children": [], "_active": true, "_components": [ { - "__id__": 163 + "__id__": 160 } ], "_prefab": null, @@ -7718,7 +7596,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 162 + "__id__": 159 }, "_enabled": true, "_materials": [ @@ -7751,7 +7629,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 161 + "__id__": 158 }, "_enabled": true, "_materials": [ @@ -7783,7 +7661,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 161 + "__id__": 158 }, "_enabled": true, "_normalMaterial": null, @@ -7792,7 +7670,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 166 + "__id__": 163 } ], "_N$interactable": true, @@ -7848,7 +7726,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 161 + "__id__": 158 }, "_id": "f0m9Y1KzFONI3nagtLwjqm" }, @@ -7867,20 +7745,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 168 + "__id__": 165 } ], "_active": true, "_components": [ { - "__id__": 170 + "__id__": 167 }, { - "__id__": 171 + "__id__": 168 } ], "_prefab": null, @@ -7936,13 +7814,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 167 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 169 + "__id__": 166 } ], "_prefab": null, @@ -7998,7 +7876,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 168 + "__id__": 165 }, "_enabled": true, "_materials": [ @@ -8031,7 +7909,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 164 }, "_enabled": true, "_materials": [ @@ -8063,7 +7941,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 164 }, "_enabled": true, "_normalMaterial": null, @@ -8072,7 +7950,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 172 + "__id__": 169 } ], "_N$interactable": true, @@ -8128,7 +8006,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 167 + "__id__": 164 }, "_id": "1dks4O6C1JYIpJ2tD09Iu7" }, @@ -8147,20 +8025,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 174 + "__id__": 171 } ], "_active": true, "_components": [ { - "__id__": 176 + "__id__": 173 }, { - "__id__": 177 + "__id__": 174 } ], "_prefab": null, @@ -8216,13 +8094,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 173 + "__id__": 170 }, "_children": [], "_active": true, "_components": [ { - "__id__": 175 + "__id__": 172 } ], "_prefab": null, @@ -8278,7 +8156,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 174 + "__id__": 171 }, "_enabled": true, "_materials": [ @@ -8311,7 +8189,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 173 + "__id__": 170 }, "_enabled": true, "_materials": [ @@ -8343,7 +8221,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 173 + "__id__": 170 }, "_enabled": true, "_normalMaterial": null, @@ -8352,7 +8230,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 178 + "__id__": 175 } ], "_N$interactable": true, @@ -8408,7 +8286,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 173 + "__id__": 170 }, "_id": "a0HX8uFuVKjLjj/qLuBqMx" }, @@ -8427,20 +8305,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 180 + "__id__": 177 } ], "_active": true, "_components": [ { - "__id__": 182 + "__id__": 179 }, { - "__id__": 183 + "__id__": 180 } ], "_prefab": null, @@ -8496,13 +8374,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 179 + "__id__": 176 }, "_children": [], "_active": true, "_components": [ { - "__id__": 181 + "__id__": 178 } ], "_prefab": null, @@ -8558,7 +8436,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 180 + "__id__": 177 }, "_enabled": true, "_materials": [ @@ -8591,7 +8469,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 179 + "__id__": 176 }, "_enabled": true, "_materials": [ @@ -8623,7 +8501,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 179 + "__id__": 176 }, "_enabled": true, "_normalMaterial": null, @@ -8632,7 +8510,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 184 + "__id__": 181 } ], "_N$interactable": true, @@ -8688,7 +8566,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 179 + "__id__": 176 }, "_id": "aeyKAFfjhJHI54enYkiQ7H" }, @@ -8707,20 +8585,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 186 + "__id__": 183 } ], "_active": true, "_components": [ { - "__id__": 188 + "__id__": 185 }, { - "__id__": 189 + "__id__": 186 } ], "_prefab": null, @@ -8776,13 +8654,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 185 + "__id__": 182 }, "_children": [], "_active": true, "_components": [ { - "__id__": 187 + "__id__": 184 } ], "_prefab": null, @@ -8838,7 +8716,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 186 + "__id__": 183 }, "_enabled": true, "_materials": [ @@ -8871,7 +8749,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 182 }, "_enabled": true, "_materials": [ @@ -8903,7 +8781,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 182 }, "_enabled": true, "_normalMaterial": null, @@ -8912,7 +8790,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 190 + "__id__": 187 } ], "_N$interactable": true, @@ -8968,7 +8846,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 185 + "__id__": 182 }, "_id": "c8AeKs2aBAt7Zk90C4xbua" }, @@ -8987,20 +8865,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 192 + "__id__": 189 } ], "_active": true, "_components": [ { - "__id__": 194 + "__id__": 191 }, { - "__id__": 195 + "__id__": 192 } ], "_prefab": null, @@ -9056,13 +8934,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 191 + "__id__": 188 }, "_children": [], "_active": true, "_components": [ { - "__id__": 193 + "__id__": 190 } ], "_prefab": null, @@ -9118,7 +8996,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 192 + "__id__": 189 }, "_enabled": true, "_materials": [ @@ -9151,7 +9029,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 188 }, "_enabled": true, "_materials": [ @@ -9183,7 +9061,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 188 }, "_enabled": true, "_normalMaterial": null, @@ -9192,7 +9070,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 196 + "__id__": 193 } ], "_N$interactable": true, @@ -9248,7 +9126,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 191 + "__id__": 188 }, "_id": "f8i424vd1PGY6uaZTXTsKo" }, @@ -9267,20 +9145,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 198 + "__id__": 195 } ], "_active": true, "_components": [ { - "__id__": 200 + "__id__": 197 }, { - "__id__": 201 + "__id__": 198 } ], "_prefab": null, @@ -9336,13 +9214,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 197 + "__id__": 194 }, "_children": [], "_active": true, "_components": [ { - "__id__": 199 + "__id__": 196 } ], "_prefab": null, @@ -9398,7 +9276,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 198 + "__id__": 195 }, "_enabled": true, "_materials": [ @@ -9431,7 +9309,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 197 + "__id__": 194 }, "_enabled": true, "_materials": [ @@ -9463,7 +9341,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 197 + "__id__": 194 }, "_enabled": true, "_normalMaterial": null, @@ -9472,7 +9350,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 202 + "__id__": 199 } ], "_N$interactable": true, @@ -9528,7 +9406,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 197 + "__id__": 194 }, "_id": "d8xaiqyHRO3qjmHJAAyMVi" }, @@ -9547,20 +9425,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 204 + "__id__": 201 } ], "_active": true, "_components": [ { - "__id__": 206 + "__id__": 203 }, { - "__id__": 207 + "__id__": 204 } ], "_prefab": null, @@ -9616,13 +9494,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 203 + "__id__": 200 }, "_children": [], "_active": true, "_components": [ { - "__id__": 205 + "__id__": 202 } ], "_prefab": null, @@ -9678,7 +9556,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 204 + "__id__": 201 }, "_enabled": true, "_materials": [ @@ -9711,7 +9589,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 200 }, "_enabled": true, "_materials": [ @@ -9743,7 +9621,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 200 }, "_enabled": true, "_normalMaterial": null, @@ -9752,7 +9630,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 208 + "__id__": 205 } ], "_N$interactable": true, @@ -9808,7 +9686,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 203 + "__id__": 200 }, "_id": "89LqCBIi5Dy4O15VlWt8QI" }, @@ -9827,20 +9705,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 210 + "__id__": 207 } ], "_active": true, "_components": [ { - "__id__": 212 + "__id__": 209 }, { - "__id__": 213 + "__id__": 210 } ], "_prefab": null, @@ -9896,13 +9774,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 209 + "__id__": 206 }, "_children": [], "_active": true, "_components": [ { - "__id__": 211 + "__id__": 208 } ], "_prefab": null, @@ -9958,7 +9836,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 210 + "__id__": 207 }, "_enabled": true, "_materials": [ @@ -9991,7 +9869,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 209 + "__id__": 206 }, "_enabled": true, "_materials": [ @@ -10023,7 +9901,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 209 + "__id__": 206 }, "_enabled": true, "_normalMaterial": null, @@ -10032,7 +9910,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 214 + "__id__": 211 } ], "_N$interactable": true, @@ -10088,7 +9966,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 209 + "__id__": 206 }, "_id": "25j/mznoNCZY36yaujDiZT" }, @@ -10107,20 +9985,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 216 + "__id__": 213 } ], "_active": true, "_components": [ { - "__id__": 218 + "__id__": 215 }, { - "__id__": 219 + "__id__": 216 } ], "_prefab": null, @@ -10176,13 +10054,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 215 + "__id__": 212 }, "_children": [], "_active": true, "_components": [ { - "__id__": 217 + "__id__": 214 } ], "_prefab": null, @@ -10238,7 +10116,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 216 + "__id__": 213 }, "_enabled": true, "_materials": [ @@ -10271,7 +10149,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 212 }, "_enabled": true, "_materials": [ @@ -10303,7 +10181,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 212 }, "_enabled": true, "_normalMaterial": null, @@ -10312,7 +10190,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 220 + "__id__": 217 } ], "_N$interactable": true, @@ -10368,7 +10246,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 215 + "__id__": 212 }, "_id": "8bUwvu2XlPZ6sNwewjqmgF" }, @@ -10387,20 +10265,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 222 + "__id__": 219 } ], "_active": true, "_components": [ { - "__id__": 224 + "__id__": 221 }, { - "__id__": 225 + "__id__": 222 } ], "_prefab": null, @@ -10456,13 +10334,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 221 + "__id__": 218 }, "_children": [], "_active": true, "_components": [ { - "__id__": 223 + "__id__": 220 } ], "_prefab": null, @@ -10518,7 +10396,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 222 + "__id__": 219 }, "_enabled": true, "_materials": [ @@ -10551,7 +10429,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 221 + "__id__": 218 }, "_enabled": true, "_materials": [ @@ -10583,7 +10461,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 221 + "__id__": 218 }, "_enabled": true, "_normalMaterial": null, @@ -10592,7 +10470,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 226 + "__id__": 223 } ], "_N$interactable": true, @@ -10648,7 +10526,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 221 + "__id__": 218 }, "_id": "3151oR5TZEoqJQm/Xkotpg" }, @@ -10667,20 +10545,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 228 + "__id__": 225 } ], "_active": true, "_components": [ { - "__id__": 230 + "__id__": 227 }, { - "__id__": 231 + "__id__": 228 } ], "_prefab": null, @@ -10736,13 +10614,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 227 + "__id__": 224 }, "_children": [], "_active": true, "_components": [ { - "__id__": 229 + "__id__": 226 } ], "_prefab": null, @@ -10798,7 +10676,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 228 + "__id__": 225 }, "_enabled": true, "_materials": [ @@ -10831,7 +10709,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 227 + "__id__": 224 }, "_enabled": true, "_materials": [ @@ -10863,7 +10741,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 227 + "__id__": 224 }, "_enabled": true, "_normalMaterial": null, @@ -10872,7 +10750,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 232 + "__id__": 229 } ], "_N$interactable": true, @@ -10928,7 +10806,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 227 + "__id__": 224 }, "_id": "58RTQYo/pCXo+GDAVYXeHE" }, @@ -10947,20 +10825,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 234 + "__id__": 231 } ], "_active": true, "_components": [ { - "__id__": 236 + "__id__": 233 }, { - "__id__": 237 + "__id__": 234 } ], "_prefab": null, @@ -11016,13 +10894,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 233 + "__id__": 230 }, "_children": [], "_active": true, "_components": [ { - "__id__": 235 + "__id__": 232 } ], "_prefab": null, @@ -11078,7 +10956,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 234 + "__id__": 231 }, "_enabled": true, "_materials": [ @@ -11111,7 +10989,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 233 + "__id__": 230 }, "_enabled": true, "_materials": [ @@ -11143,7 +11021,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 233 + "__id__": 230 }, "_enabled": true, "_normalMaterial": null, @@ -11152,7 +11030,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 238 + "__id__": 235 } ], "_N$interactable": true, @@ -11208,7 +11086,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 233 + "__id__": 230 }, "_id": "a5tEFqUyFD+aewpN832re3" }, @@ -11227,20 +11105,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 240 + "__id__": 237 } ], "_active": true, "_components": [ { - "__id__": 242 + "__id__": 239 }, { - "__id__": 243 + "__id__": 240 } ], "_prefab": null, @@ -11296,13 +11174,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 239 + "__id__": 236 }, "_children": [], "_active": true, "_components": [ { - "__id__": 241 + "__id__": 238 } ], "_prefab": null, @@ -11358,7 +11236,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 240 + "__id__": 237 }, "_enabled": true, "_materials": [ @@ -11391,7 +11269,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 236 }, "_enabled": true, "_materials": [ @@ -11423,7 +11301,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 236 }, "_enabled": true, "_normalMaterial": null, @@ -11432,7 +11310,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 244 + "__id__": 241 } ], "_N$interactable": true, @@ -11488,7 +11366,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 239 + "__id__": 236 }, "_id": "2eYsDnIV5IEJU90tLqp1fk" }, @@ -11507,20 +11385,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 246 + "__id__": 243 } ], "_active": true, "_components": [ { - "__id__": 248 + "__id__": 245 }, { - "__id__": 249 + "__id__": 246 } ], "_prefab": null, @@ -11576,13 +11454,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 245 + "__id__": 242 }, "_children": [], "_active": true, "_components": [ { - "__id__": 247 + "__id__": 244 } ], "_prefab": null, @@ -11638,7 +11516,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 246 + "__id__": 243 }, "_enabled": true, "_materials": [ @@ -11671,7 +11549,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 245 + "__id__": 242 }, "_enabled": true, "_materials": [ @@ -11703,7 +11581,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 245 + "__id__": 242 }, "_enabled": true, "_normalMaterial": null, @@ -11712,7 +11590,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 250 + "__id__": 247 } ], "_N$interactable": true, @@ -11768,7 +11646,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 245 + "__id__": 242 }, "_id": "edIND0fB1P64VuNg51ugjO" }, @@ -11787,16 +11665,16 @@ "_name": "New Sprite", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 252 + "__id__": 249 }, { - "__id__": 253 + "__id__": 250 } ], "_prefab": null, @@ -11852,7 +11730,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 251 + "__id__": 248 }, "_enabled": true, "_materials": [ @@ -11886,7 +11764,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 251 + "__id__": 248 }, "_enabled": true, "_normalMaterial": null, @@ -11895,7 +11773,7 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 254 + "__id__": 251 } ], "_N$interactable": true, @@ -11951,7 +11829,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 251 + "__id__": 248 }, "_id": "15MwQHwkBCIJzp1FEjHkP/" }, @@ -12017,8 +11895,6 @@ "__id__": 5 }, "_enabled": true, - "label": null, - "text": "hello", "_id": "50zCP3Mq9MKIKjMbohPY8j" } ] \ No newline at end of file diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js index 350b5b7..01c96f0 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js @@ -3,12 +3,6 @@ cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); // Script/GameManager.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -29,6 +23,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); +// 主游戏控制类 var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData_1 = require("./GameData"); var Notification_1 = require("./Notification"); @@ -46,7 +41,6 @@ var GameManager = /** @class */ (function (_super) { _this.bg1 = null; _this.bg2 = null; _this.time = null; - // LIFE-CYCLE CALLBACKS: _this.begin = false; _this.fuhuo = false; _this.over = false; @@ -54,38 +48,11 @@ var GameManager = /** @class */ (function (_super) { _this.levelLabel = null; return _this; } - GameManager.prototype.onLoad = function () { - }; + GameManager.prototype.onLoad = function () { }; GameManager.prototype.start = function () { this.fit(); this.init(); }; - GameManager.prototype.fit = function () { - this.fitTop = 450; //600 - this.fitBot = -600; //-700 - var jg = this.setFit(); - if (!jg) { - this.fitTop = 600; - this.fitBot = -700; - } - }; - GameManager.prototype.getSetScreenResolutionFlag = function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }; - //判断全面屏适配 - GameManager.prototype.setFit = function () { - var flag = this.getSetScreenResolutionFlag(); - if (flag) { - } - else { - } - return flag; - }; //初始化数据 GameManager.prototype.init = function () { this.node.getChildByName("GameOver").zIndex = 100; @@ -133,6 +100,35 @@ var GameManager = /** @class */ (function (_super) { this.schedule(this.updateCountDownTime, 1); this.startGame(); }; + //根据是否全面屏,做独立适配方面 + GameManager.prototype.fit = function () { + this.fitTop = 450; //600 + this.fitBot = -600; //-700 + var jg = this.setFit(); + if (!jg) { + this.fitTop = 600; + this.fitBot = -700; + } + }; + //判断全面屏 + GameManager.prototype.getSetScreenResolutionFlag = function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }; + //判断全面屏适配 + GameManager.prototype.setFit = function () { + var flag = this.getSetScreenResolutionFlag(); + if (flag) { + } + else { + } + return flag; + }; + //返回首页 GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; @@ -167,8 +163,6 @@ var GameManager = /** @class */ (function (_super) { this.bgMove(-1); } }; - GameManager.prototype.begin_Guide = function () { - }; //获取时间戳 GameManager.prototype.getTime = function () { var timestamp = new Date().getTime(); @@ -183,7 +177,7 @@ var GameManager = /** @class */ (function (_super) { var timeCount = 0; var ball_1 = this.ball_Array[0]; for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance2(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); + var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y, 2); timeArray_1.push(time); } var _loop_1 = function (k) { @@ -237,6 +231,7 @@ var GameManager = /** @class */ (function (_super) { } } }; + //清理太阳 GameManager.prototype.clearSun = function () { for (var k = 0; k < this.ball_Array.length; k++) { this.ball_Array[k].removeFromParent(); @@ -257,11 +252,8 @@ var GameManager = /** @class */ (function (_super) { this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); } this.clickNow += 1; - // GameData._instance.GM_INFO.total += 1; if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; - // setTimeout(() => { - // }, 200); if (this.clickNow == this.now_Array.length) { this.pause = true; GameData_1.default._instance.GM_INFO.total += this.clickNow; @@ -269,12 +261,9 @@ var GameManager = /** @class */ (function (_super) { if (this.startTime > 0 && this.overTime > 0) { GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); } - // console.log("成功",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime); - // console.log(GameData._instance.GM_INFO.mean_Time); var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); this.startTime = 0; this.overTime = 0; - // console.log("33333333"); var color = "y"; if (this.level < 4 && this.level > 1) color = "yr"; @@ -319,7 +308,6 @@ var GameManager = /** @class */ (function (_super) { stepTimeList: this.time_Array, remainder: this.countTime }; - this.outPut(); this.setData(); cc.tween(win_1) .delay(0.4) @@ -351,9 +339,9 @@ var GameManager = /** @class */ (function (_super) { else { this.setLoss(); } - // this.hitAction(data) } }; + //执行失败 GameManager.prototype.setLoss = function () { GameData_1.default._instance.AudioManager.playWarning(); this.begin = false; @@ -404,7 +392,6 @@ var GameManager = /** @class */ (function (_super) { stepTimeList: this.time_Array, remainder: this.countTime }; - this.outPut(); this.setData(); if (this.fuhuo == true) { this.fuhuo = false; @@ -433,22 +420,6 @@ var GameManager = /** @class */ (function (_super) { .to(0.1, { opacity: 0 }) .start(); }; - GameManager.prototype.hitAction = function (data) { - var _this = this; - this.hit.active = true; - this.hit.opacity = 0; - this.hit.setPosition; - this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); - cc.tween(this.hit) - .to(0, { opacity: 255 }) - .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) - .delay(0.2) - .to(0.1, { opacity: 0 }) - .call(function () { - _this.hit.active = false; - }) - .start(); - }; //开始游戏 GameManager.prototype.startGame = function () { if (this.over == false && this.countTime > 0) { @@ -458,9 +429,9 @@ var GameManager = /** @class */ (function (_super) { cc.tween(this.ball) .to(0.5, { opacity: 255, scale: 1.3 }) .start(); - // this.runGame() } }; + //执行太阳运行动画,以及后面移动动画 GameManager.prototype.runGame = function () { var _this = this; var time = -650; @@ -504,6 +475,7 @@ var GameManager = /** @class */ (function (_super) { _loop_3(i); } }; + //设置移动重叠数据 GameManager.prototype.createMove = function () { var _this = this; if (this.over == false) { @@ -573,10 +545,6 @@ var GameManager = /** @class */ (function (_super) { } } } - // debugger; - //设置重叠 - // this.repeat = -1; - // this.numberRepeat = -1; //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for (var k = 0; k < this.moveArray.length; k++) { if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { @@ -626,9 +594,6 @@ var GameManager = /** @class */ (function (_super) { if (info.moveNumber > 0) { //0 1 2 3 4 5 6 7 8 9 //可移动区分 - var pos = cc.v2(0, 0); - // this.repeat = -1; - // this.numberRepeat = -1; //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for (var k = 0; k < this.moveArray.length; k++) { if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { @@ -651,7 +616,7 @@ var GameManager = /** @class */ (function (_super) { var _loop_5 = function (i) { if (moveArray[i] == 1) { if (i != lastNumber) { //如果不是最后一个移动的 - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); this_4.ball_Array[i].getComponent("Sun").move = true; cc.tween(this_4.ball_Array[i]) .to(time, { position: this_4.Pos_Array[i] }) @@ -662,7 +627,7 @@ var GameManager = /** @class */ (function (_super) { } //如果是最后一个 else { - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); this_4.ball_Array[i].getComponent("Sun").move = true; cc.tween(this_4.ball_Array[i]) .to(time, { position: this_4.Pos_Array[i] }) @@ -679,6 +644,7 @@ var GameManager = /** @class */ (function (_super) { } } }; + //每次重新开始新一轮儿游戏 GameManager.prototype.beginGame = function () { this.begin = true; this.startTime = this.getTime(); @@ -686,19 +652,20 @@ var GameManager = /** @class */ (function (_super) { this.pause = false; // this.node.getChildByName("showBtn").active = true; }; - GameManager.prototype.getRandomArray = function (lastNumber) { - var num = parseInt(Math.random() * 8 - 4 + ""); - var jg = num + lastNumber; - if (num > 1 || num < -1) { - if (num == 0 || (jg < 0 || jg >= this.Pos_Array.length)) { - jg = this.getRandomArray(lastNumber); - } - } - else { - jg = this.getRandomArray(lastNumber); - } - return jg; - }; + //暂时作废 + // getRandomArray(lastNumber){ + // let num = parseInt(Math.random()*8 - 4 + ""); + // let jg = num + lastNumber; + // if(num > 1 || num <-1){ + // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ + // jg = this.getRandomArray(lastNumber); + // } + // } + // else{ + // jg = this.getRandomArray(lastNumber); + // } + // return jg; + // } //创建太阳所需数据 GameManager.prototype.createSun = function () { var _this = this; @@ -720,8 +687,8 @@ var GameManager = /** @class */ (function (_super) { for (var l = 0; l < levelData.number; l++) { _loop_6(l); } - // 0 0 0 0 0 0 0 0 0 0 0 }; + //创建太阳位置,颜色信息等数据 GameManager.prototype.createPos = function () { var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; @@ -738,9 +705,10 @@ var GameManager = /** @class */ (function (_super) { if (levelData.number == 4) colorArray = [0, 0, 0, 0]; this.color_Array = colorArray; + //存储太阳数据 for (var i = 0; i < levelData.number; i++) { - var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y)); - var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y) + timeCount; + var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1)); + var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1) + timeCount; data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; if (this.repeat == i) { data.repeat = true; @@ -752,6 +720,7 @@ var GameManager = /** @class */ (function (_super) { } this.runGame(); }; + //获取,N个太阳位置的方法,和POS2分开两个方法,防止递归溢出 GameManager.prototype.getPos = function (type, num) { var posX = Math.random() * 620 - 310; var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; @@ -774,6 +743,7 @@ var GameManager = /** @class */ (function (_super) { } return point; }; + //获取,N个太阳可移动位置的方法,和POS分开算防止递归溢出 GameManager.prototype.getPos2 = function (type, num) { var posX = Math.random() * 620 - 310; var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; @@ -796,6 +766,7 @@ var GameManager = /** @class */ (function (_super) { } return point; }; + //获取两点之间距离,返回判断是否在一定范围内 将来提出到工具类 GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { var jg = false; var dx = x2 - x1; @@ -819,6 +790,92 @@ var GameManager = /** @class */ (function (_super) { } return jg; }; + //命中动画 + GameManager.prototype.hitAction = function (data) { + var _this = this; + this.hit.active = true; + this.hit.opacity = 0; + this.hit.setPosition; + this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); + cc.tween(this.hit) + .to(0, { opacity: 255 }) + .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) + .delay(0.2) + .to(0.1, { opacity: 0 }) + .call(function () { + _this.hit.active = false; + }) + .start(); + }; + //创造太阳 + GameManager.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + if (color == 0) + ball = cc.instantiate(this.qiu1); + else if (color == 1) + ball = cc.instantiate(this.qiu2); + else if (color == 2) + ball = cc.instantiate(this.qiu3); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.now_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + this.ball_Array.push(ball); + }; + //销毁连线 + GameManager.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //创建连线 + GameManager.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //获取两点之间的角度,将来都可放工具类 + GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + //获取两点之间的距离 返回对应时间 + GameManager.prototype.calculateDistance = function (x1, y1, x2, y2, num) { + var dx = x2 - x1; + var dy = y2 - y1; + var time = 0; + var distance = Math.sqrt(dx * dx + dy * dy); + if (num == 1) { + if (distance > 800) + distance = 800; + time = distance / 800 * 0.6; + } + else if (num == 2) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1; + } + else if (num == 3) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1.5; + } + return time; + }; + //获取两点之间距离 返回距离判断 GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { var jg = false; var dx = x2 - x1; @@ -837,81 +894,12 @@ var GameManager = /** @class */ (function (_super) { } return jg; }; - GameManager.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - if (color == 0) - ball = cc.instantiate(this.qiu1); - else if (color == 1) - ball = cc.instantiate(this.qiu2); - else if (color == 2) - ball = cc.instantiate(this.qiu3); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.now_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - this.ball_Array.push(ball); - }; - GameManager.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - GameManager.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - GameManager.prototype.calculateDistance = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 800) - distance = 800; - var time = distance / 800 * 0.6; - return time; - }; - GameManager.prototype.calculateDistance2 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1; - return time; - }; - GameManager.prototype.calculateDistance3 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1.5; - return time; - }; //背景移动 GameManager.prototype.bgMove = function (type) { var _this = this; var random = Math.random() * 300 + 300; var posX = Math.random() * 600 - 300; var y1 = this.bg1.y - random * type; - // let y2 = this.bg2.y - random*type; var time1 = 0.7 * (random / 400); cc.tween(this.ball) .to(0.3, { scale: 1.3 }) @@ -921,17 +909,9 @@ var GameManager = /** @class */ (function (_super) { .delay(0.3) .to(time1, { y: y1 }) .start(); - // cc.tween(this.bg2) - // .delay(0.3) - // .to(time1,{y:y2}) - // .start(); setTimeout(function () { - // if(this.over == false && GameData._instance.GM_INFO.custom == 0){ - // this.startGame(); - // } - if (_this.over == false) { + if (_this.over == false) _this.startGame(); - } }, time1 * 1500); }; //时间格式转换 @@ -974,20 +954,21 @@ var GameManager = /** @class */ (function (_super) { this.unschedule(this.updateCountDownTime); this.setLoss(); var time = 0; - // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount); if (this.clickCount > 0) time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; - // console.log( GameData._instance.GM_INFO.mean_Time,time); - // debugger; if (time > 10000) time = (Math.random() * 10 + 5) * 100; this.setRank(time); } } }; + //上传每次操作数据 GameManager.prototype.setData = function () { + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); + GameData_1.default._instance.CLICK_init(); var data = GameData_1.default._instance.GAME_DATA; var matchId = this.getMatchId(); console.log(matchId); @@ -998,6 +979,7 @@ var GameManager = /** @class */ (function (_super) { console.log("上传数据:"); serverAPI_1.default.uploadUserLogData(postData, function () { }); }; + //获取matchId 用于上传每次点击数据里面记录id方便查询 GameManager.prototype.getMatchId = function () { var matchId = cc.sys.localStorage.getItem("matchId"); if (matchId == "undifend" || matchId == null) { @@ -1019,9 +1001,11 @@ var GameManager = /** @class */ (function (_super) { } return matchId; }; + //检测matchId 如果有缓存以前的nanana数据清除 GameManager.prototype.containsNanana = function (str) { return /na/i.test(str); }; + //重新设置MatchId GameManager.prototype.setMatchId = function () { // 定义包含可用字符的字符集 var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; @@ -1042,6 +1026,7 @@ var GameManager = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.matchId = data; return data; }; + //上传排行榜数据 GameManager.prototype.setRank = function (time) { var postData = { "type": 1, @@ -1049,7 +1034,6 @@ var GameManager = /** @class */ (function (_super) { "totalSunCount": GameData_1.default._instance.GM_INFO.total, "success": GameData_1.default._instance.GM_INFO.success }; - // console.log(postData); serverAPI_1.default.rankData(1, function () { }, postData); this.node.getChildByName("GameOver").active = true; this.node.getChildByName("GameOver").opacity = 0; @@ -1062,12 +1046,7 @@ var GameManager = /** @class */ (function (_super) { }) .start(); }; - GameManager.prototype.outPut = function () { - var data = GameData_1.default._instance.CLICK_DATA; - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); - GameData_1.default._instance.CLICK_init(); - }; + //作弊,测试用 GameManager.prototype.showNumber = function () { if (this.show == false) this.show = true; @@ -1079,10 +1058,8 @@ var GameManager = /** @class */ (function (_super) { }; GameManager.prototype.onEnable = function () { Notification_1.Notification.on("clickSun", this.clickSun, this); - // Notification.on("HammerPlay", this.HammerPlay, this); }; GameManager.prototype.onDisable = function () { - // Notification.off("rightAnswers", this.rightAnswers); Notification_1.Notification.off("clickSun", this.clickSun); }; GameManager.prototype.update = function (dt) { diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map index 8f3101a..69c3fdc 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nimport HttpUtil from './crypto/serverAPI';\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n qiu2: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n qiu3: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n @property(cc.Node)\r\n hit: cc.Node = null;\r\n\r\n bg1: cc.Node = null;\r\n bg2: cc.Node = null;\r\n time: cc.Label = null;\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n begin: boolean = false;\r\n fuhuo: boolean = false;\r\n over: boolean = false;\r\n show: boolean = false;\r\n countTime:number;\r\n timeCount:number;\r\n fitTop:number;\r\n fitBot:number;\r\n level:number;\r\n clickNow:number;\r\n startTime:number;\r\n overTime:number;\r\n winTime:number;\r\n clickCount:number;\r\n timeStart:number;\r\n route_Array: any[];\r\n now_Array: any[];\r\n ball_Array: any[];\r\n Line_Array: any[];\r\n Pos_Array: any[];\r\n time_Array: any[];\r\n color_Array: any[];\r\n\r\n\r\n @property(cc.Label)\r\n levelLabel: cc.Label = null;\r\n static _instance: any;\r\n moveArray: number[];\r\n repeat: number;\r\n numberRepeat: number;\r\n round: number;\r\n pause: boolean;\r\n\r\n onLoad () {\r\n\r\n }\r\n\r\n start () {\r\n this.fit();\r\n this.init();\r\n }\r\n fit(){\r\n this.fitTop = 450; //600\r\n this.fitBot = -600; //-700\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.fitTop = 600;\r\n this.fitBot = -700;\r\n }\r\n }\r\n\r\n getSetScreenResolutionFlag () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n\r\n //初始化数据\r\n init(){\r\n this.node.getChildByName(\"GameOver\").zIndex = 100;\r\n this.node.getChildByName(\"GameOver\").active = false;\r\n this.ball.zIndex = 100;\r\n this.bg1 = this.node.getChildByName(\"bg1\");\r\n this.bg2 = this.node.getChildByName(\"bg2\");\r\n this.time = this.node.getChildByName(\"Top\").getChildByName(\"time\").getComponent(cc.Label);\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.begin = false;\r\n this.over = false;\r\n this.fuhuo = true;\r\n this.pause = true;\r\n this.show = false;\r\n this.round = 0; \r\n this.level = 2;\r\n this.countTime = 60;\r\n if(GameData._instance.GM_INFO.custom != 0){\r\n this.level = GameData._instance.GM_INFO.custom;\r\n // this.levelLabel.string = this.level + \"\";\r\n GameData._instance.GM_INFO.custom += 1;\r\n this.countTime = 12000000;\r\n }\r\n // this.levelLabel.string = this.level + \"\";\r\n \r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.clickCount = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.route_Array = [];\r\n this.moveArray = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n GameData._instance.GAME_DATA = [];\r\n GameData._instance.GM_INFO.success = false;\r\n this.startTime = 0;\r\n this.overTime = 0;\r\n this.winTime = 0;\r\n GameData._instance.GM_INFO.total = 0;\r\n\r\n GameData._instance.GM_INFO.mean_Time = 0;\r\n this.schedule(this.updateCountDownTime,1);\r\n\r\n\r\n this.startGame();\r\n }\r\n\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n\r\n //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n // if(GameData._instance.GM_INFO.custom != 0){\r\n // cc.director.loadScene(\"LoadScene\");\r\n // return;\r\n // }\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.destroyLine();\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n \r\n this.begin = false;\r\n this.route_Array = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.moveArray = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n \r\n if(type == 0){\r\n this.bgMove(1);\r\n }\r\n else if(type == 1){\r\n this.startGame();\r\n }\r\n else if(type == 2){\r\n this.bgMove(-1);\r\n }\r\n \r\n }\r\n\r\n begin_Guide(){\r\n\r\n }\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance2(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n ball.active = false;\r\n this.clearSun();\r\n this.reStart(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n\r\n }\r\n //失败\r\n loseLevel(type){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(2,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.reStart(type);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n\r\n }\r\n\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n }\r\n\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n this.clickCount += 1;\r\n let clickTime = this.getTime();\r\n this.time_Array.push((clickTime - this.timeStart))\r\n this.timeStart = this.getTime();\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2); \r\n }\r\n this.clickNow += 1;\r\n // GameData._instance.GM_INFO.total += 1;\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n // setTimeout(() => {\r\n \r\n // }, 200);\r\n \r\n \r\n if(this.clickNow == this.now_Array.length){\r\n this.pause = true;\r\n GameData._instance.GM_INFO.total += this.clickNow;\r\n\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n // console.log(\"成功\",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime);\r\n // console.log(GameData._instance.GM_INFO.mean_Time);\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n // console.log(\"33333333\");\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n GameData._instance.AudioManager.playWin();\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m{\r\n win.active = false;\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n if(this.level >= 15){\r\n GameData._instance.GM_INFO.success = true;\r\n this.level += 0;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n \r\n this.passLevel();\r\n }\r\n else{\r\n this.level += 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n \r\n this.passLevel();\r\n }\r\n }\r\n\r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n this.setLoss();\r\n }\r\n // this.hitAction(data)\r\n }\r\n\r\n }\r\n\r\n setLoss(){\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 2){\r\n this.level -= 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n // this.fuhuo = false;\r\n this.loseLevel(2);\r\n }\r\n else{\r\n this.loseLevel(1);\r\n }\r\n }\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n\r\n hitAction(data){\r\n this.hit.active = true; this.hit.opacity = 0;\r\n this.hit.setPosition\r\n this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35);\r\n cc.tween(this.hit)\r\n .to(0,{opacity:255})\r\n .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)})\r\n .delay(0.2)\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n this.hit.active = false;\r\n })\r\n .start();\r\n }\r\n\r\n //开始游戏\r\n startGame(){\r\n if(this.over == false && this.countTime > 0){\r\n this.pause = true;\r\n this.createSun();\r\n this.begin = false;\r\n cc.tween(this.ball)\r\n .to(0.5,{opacity:255,scale:1.3})\r\n .start();\r\n // this.runGame()\r\n }\r\n }\r\n\r\n runGame(){\r\n let time = -650;\r\n for(let i=0; i {\r\n if(this.over == false){\r\n let temp = this.now_Array[i].timeCount;\r\n if(temp > 0.5) temp = 0.5;\r\n if(i != 0){\r\n if(this.ball && this.now_Array[i]){\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.now_Array[i].x,this.now_Array[i].y),\r\n this.now_Array[i].time-temp);\r\n }\r\n }\r\n \r\n cc.tween(this.ball)\r\n .to(this.now_Array[i].time-temp,{x:this.now_Array[i].x,y:this.now_Array[i].y})\r\n .to(0.1,{scale:1})\r\n .call(()=>{\r\n this.createBall(i,this.now_Array[i].color,this.now_Array[i].speed,this.now_Array[i].repeat);\r\n if(i == this.now_Array.length -1){\r\n this.ball.opacity = 0;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n this.beginGame();\r\n if(GameData._instance.LEVEL_INFO[this.level-1].moveNumber<1){\r\n this.pause = false;\r\n }\r\n else{\r\n this.moveAction();\r\n }\r\n \r\n }, 150);\r\n }\r\n })\r\n .start()\r\n }\r\n\r\n }, time);\r\n \r\n }\r\n }\r\n\r\n createMove(){\r\n if(this.over == false){\r\n let info = GameData._instance.LEVEL_INFO[this.level-1];\r\n //改变移动速度\r\n var speed = 7;\r\n if(info.moveSpeed >= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n }\r\n if(info.repeat == 1){\r\n this.repeat = parseInt((Math.random()*(info.number-1)+1) + \"\");\r\n let tempNumber = 0;\r\n // this.repeat = 4;\r\n if(this.repeat > 4){\r\n this.numberRepeat = parseInt(Math.random()*4 + \"\");\r\n if(this.repeat == (info.number-1)) //如果是最后一个 不能跟第一个重叠\r\n this.numberRepeat = this.repeat - parseInt( (Math.random()*3 + 2)+ \"\")\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n this.Pos_Array[this.repeat ] = tempNumber;\r\n }\r\n else{ // 0 1 2 3 4 5 \r\n // 6 - 3 - 1 = 2 4 01 4\r\n if(this.repeat == 0) this.repeat = 1;\r\n if((info.number-1-this.repeat ) == 2){\r\n this.numberRepeat = info.number - 1;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else if((info.number-1-this.repeat ) == 1){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) == 0){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) > 2){\r\n this.numberRepeat = parseInt(Math.random()*(info.number-this.repeat -2) + \"\") + this.repeat + 2 ;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else{\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n this.Pos_Array[this.repeat] = tempNumber;\r\n }\r\n }\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n \r\n for(let z=0; z Math.random() - 0.5);\r\n if(this.moveArray[0] == 1){\r\n for(let r=info.number-1; r>=0; r--){\r\n if(this.moveArray[r] == 0){\r\n this.moveArray[r] = 1;\r\n this.moveArray[0] = 0;\r\n r = -1;\r\n }\r\n }\r\n }\r\n // debugger;\r\n //设置重叠\r\n // this.repeat = -1;\r\n // this.numberRepeat = -1;\r\n\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n for(let i =0; i {\r\n pos = this.getPos2(true,i);\r\n this.Pos_Array[i] = pos;\r\n }, timeOut*300);\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n //移动后数据 重新刷一遍赋值\r\n updateArray(){\r\n for(let i=0; i= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n } \r\n \r\n\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n\r\n\r\n // this.repeat = -1;\r\n // this.numberRepeat = -1;\r\n\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n let lastNumber = 0;\r\n //锁定最后一个可移动的\r\n for(let j =0; j{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n //如果是最后一个\r\n else{\r\n let time = speed*this.calculateDistance3(this.ball_Array[i].x,this.ball_Array[i].y,this.Pos_Array[i].x,this.Pos_Array[i].y);\r\n this.ball_Array[i].getComponent(\"Sun\").move = true;\r\n cc.tween(this.ball_Array[i])\r\n .to(time,{position:this.Pos_Array[i]})\r\n .call(() =>{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n beginGame(){\r\n this.begin = true;\r\n this.startTime = this.getTime();\r\n this.timeStart = this.getTime();\r\n this.pause = false;\r\n // this.node.getChildByName(\"showBtn\").active = true;\r\n }\r\n\r\n getRandomArray(lastNumber){\r\n let num = parseInt(Math.random()*8 - 4 + \"\");\r\n let jg = num + lastNumber;\r\n if(num > 1 || num <-1){\r\n if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){\r\n jg = this.getRandomArray(lastNumber);\r\n }\r\n }\r\n else{\r\n jg = this.getRandomArray(lastNumber);\r\n }\r\n \r\n return jg;\r\n }\r\n\r\n //创建太阳所需数据\r\n createSun(){\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n let tiemOut = 0;\r\n for(let l=0; l {\r\n if(this.over == false){\r\n let pos = this.getPos(false,l);\r\n this.Pos_Array.push(pos);\r\n if(this.Pos_Array.length == levelData.number){\r\n this.createMove();\r\n this.createPos();\r\n }\r\n }\r\n\r\n }, tiemOut*100);\r\n \r\n }\r\n // 0 0 0 0 0 0 0 0 0 0 0\r\n\r\n }\r\n\r\n createPos(){\r\n let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false};\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n //颜色区分\r\n let colorArray = [0,1];\r\n for(let j=0; j Math.random() - 0.5);\r\n }\r\n colorArray.sort(() => Math.random() - 0.5);\r\n if(levelData.number == 4) colorArray = [0,0,0,0];\r\n this.color_Array = colorArray;\r\n\r\n\r\n for(let i=0; i 0){\r\n for(let i=0; i 0){\r\n for(let i=0; i 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n else{\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n getDistance2(x1, y1, x2, y2,num) {\r\n var jg = false;\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxDistance) jg = true;\r\n else jg = false;\r\n }\r\n else{\r\n jg = true;\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n if(color == 0)ball = cc.instantiate(this.qiu1);\r\n else if(color == 1)ball = cc.instantiate(this.qiu2);\r\n else if(color == 2)ball = cc.instantiate(this.qiu3);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.now_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n this.ball_Array.push(ball);\r\n }\r\n\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.6;\r\n return time;\r\n }\r\n\r\n calculateDistance2(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 1200) distance = 1200;\r\n const time = distance/1200 * 1;\r\n return time;\r\n }\r\n\r\n calculateDistance3(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 1200) distance = 1200;\r\n const time = distance/1200 * 1.5;\r\n return time;\r\n }\r\n\r\n //背景移动\r\n bgMove(type){\r\n let random = Math.random()*300 + 300;\r\n let posX = Math.random()*600 - 300;\r\n \r\n let y1 = this.bg1.y - random*type;\r\n // let y2 = this.bg2.y - random*type;\r\n let time1 = 0.7*(random/400);\r\n\r\n cc.tween(this.ball)\r\n .to(0.3,{scale:1.3})\r\n .to(time1,{x:posX})\r\n .start();\r\n\r\n cc.tween(this.bg1)\r\n .delay(0.3)\r\n .to(time1,{y:y1})\r\n .start();\r\n\r\n // cc.tween(this.bg2)\r\n // .delay(0.3)\r\n // .to(time1,{y:y2})\r\n // .start();\r\n\r\n setTimeout(() => {\r\n // if(this.over == false && GameData._instance.GM_INFO.custom == 0){\r\n // this.startGame();\r\n // }\r\n if(this.over == false){\r\n this.startGame();\r\n }\r\n \r\n }, time1*1500);\r\n }\r\n //时间格式转换\r\n getTimeMargin(second:number) {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n }\r\n\r\n \r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0 && this.pause == false) {\r\n this.countTime -= 1;\r\n this.time.string = this.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n cc.tween(this.time.node)\r\n .to(0.25,{scale:1.5,color:cc.color(255,0,0)})\r\n .to(0.25,{scale:1,color:cc.color(255,255,255)})\r\n .start()\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.begin = false;\r\n this.over = true;\r\n this.unschedule(this.updateCountDownTime);\r\n this.setLoss();\r\n var time = 0;\r\n \r\n // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount);\r\n if(this.clickCount > 0) time = parseInt(GameData._instance.GM_INFO.mean_Time/this.clickCount + \"\");\r\n GameData._instance.GM_INFO.mean_Time = parseInt(time/100 + \"\");\r\n GameData._instance.GM_INFO.mean_Time = GameData._instance.GM_INFO.mean_Time /10;\r\n // console.log( GameData._instance.GM_INFO.mean_Time,time);\r\n // debugger;\r\n if(time > 10000) time = (Math.random()*10+5)*100;\r\n this.setRank(time);\r\n }\r\n }\r\n }\r\n\r\n setData(){\r\n let data = GameData._instance.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n console.log(matchId);\r\n let postData = {\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n console.log(\"上传数据:\")\r\n HttpUtil.uploadUserLogData(postData,function(){})\r\n }\r\n\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.round == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n GameData._instance.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n\r\n return matchId;\r\n }\r\n\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n }\r\n\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n \r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n \r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n GameData._instance.GM_INFO.matchId = data;\r\n return data;\r\n }\r\n\r\n setRank(time){\r\n let postData = {\r\n \"type\":1,\r\n \"reactionTime\": time,\r\n \"totalSunCount\": GameData._instance.GM_INFO.total,\r\n \"success\": GameData._instance.GM_INFO.success\r\n \r\n };\r\n // console.log(postData);\r\n HttpUtil.rankData(1,function(){},postData);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n \r\n }\r\n\r\n outPut(){\r\n\r\n let data = GameData._instance.CLICK_DATA;\r\n GameData._instance.GAME_DATA = [];\r\n\r\n GameData._instance.GAME_DATA.push(GameData._instance.CLICK_DATA);\r\n GameData._instance.CLICK_init();\r\n }\r\n\r\n showNumber(){\r\n if(this.show == false) this.show = true;\r\n else if(this.show == true) this.show = false;\r\n for(let i=0; i (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n //下一关,或者重新开始,或者返回上一关,根据level决定\r\n reStart(type){\r\n // if(GameData._instance.GM_INFO.custom != 0){\r\n // cc.director.loadScene(\"LoadScene\");\r\n // return;\r\n // }\r\n this.node.getChildByName(\"showBtn\").active = false;\r\n this.destroyLine();\r\n this.timeCount = 0.1;\r\n this.clickNow = 0;\r\n this.timeStart = 0;\r\n this.repeat = -1;\r\n this.numberRepeat = -1;\r\n this.begin = false;\r\n this.route_Array = [];\r\n this.now_Array = [];\r\n this.ball_Array = [];\r\n this.Pos_Array = [];\r\n this.moveArray = [];\r\n this.time_Array = [];\r\n this.color_Array = [];\r\n if(type == 0){\r\n this.bgMove(1);\r\n }\r\n else if(type == 1){\r\n this.startGame();\r\n }\r\n else if(type == 2){\r\n this.bgMove(-1);\r\n }\r\n \r\n }\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y,2);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n ball.active = false;\r\n this.clearSun();\r\n this.reStart(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n }\r\n //失败\r\n loseLevel(type){\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(2,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.reStart(type);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n }\r\n //清理太阳\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n }\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n this.clickCount += 1;\r\n let clickTime = this.getTime();\r\n this.time_Array.push((clickTime - this.timeStart))\r\n this.timeStart = this.getTime();\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2); \r\n }\r\n this.clickNow += 1;\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n if(this.clickNow == this.now_Array.length){\r\n this.pause = true;\r\n GameData._instance.GM_INFO.total += this.clickNow;\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n GameData._instance.AudioManager.playWin();\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m{\r\n win.active = false;\r\n this.destroyLine();\r\n if(this.over == false && this.countTime >= 0){\r\n if(this.level >= 15){\r\n GameData._instance.GM_INFO.success = true;\r\n this.level += 0;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n else{\r\n this.level += 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n this.passLevel();\r\n }\r\n }\r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n this.setLoss();\r\n }\r\n }\r\n }\r\n //执行失败\r\n setLoss(){\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n this.overTime = this.getTime();\r\n if(this.startTime > 0 && this.overTime > 0){\r\n GameData._instance.GM_INFO.mean_Time += (this.overTime - this.startTime);\r\n }\r\n let finish_time = parseInt((this.overTime - this.startTime)/100+\"\");\r\n this.startTime = 0; this.overTime = 0;\r\n let color = \"y\";\r\n if(this.level < 4 && this.level > 1)color = \"yr\";\r\n else if(this.level >= 4) color = \"yrb\";\r\n this.round += 1;\r\n let sunArray = [];\r\n if(this.moveArray.length > 0){\r\n for(let m=0 ; m 2){\r\n this.level -= 1;\r\n // this.levelLabel.string = this.level + \"\";\r\n this.fuhuo = true;\r\n // this.fuhuo = false;\r\n this.loseLevel(2);\r\n }\r\n else{\r\n this.loseLevel(1);\r\n }\r\n }\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n //开始游戏\r\n startGame(){\r\n if(this.over == false && this.countTime > 0){\r\n this.pause = true;\r\n this.createSun();\r\n this.begin = false;\r\n cc.tween(this.ball)\r\n .to(0.5,{opacity:255,scale:1.3})\r\n .start();\r\n }\r\n }\r\n //执行太阳运行动画,以及后面移动动画\r\n runGame(){\r\n let time = -650;\r\n for(let i=0; i {\r\n if(this.over == false){\r\n let temp = this.now_Array[i].timeCount;\r\n if(temp > 0.5) temp = 0.5;\r\n if(i != 0){\r\n if(this.ball && this.now_Array[i]){\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.now_Array[i].x,this.now_Array[i].y),\r\n this.now_Array[i].time-temp);\r\n }\r\n }\r\n \r\n cc.tween(this.ball)\r\n .to(this.now_Array[i].time-temp,{x:this.now_Array[i].x,y:this.now_Array[i].y})\r\n .to(0.1,{scale:1})\r\n .call(()=>{\r\n this.createBall(i,this.now_Array[i].color,this.now_Array[i].speed,this.now_Array[i].repeat);\r\n if(i == this.now_Array.length -1){\r\n this.ball.opacity = 0;\r\n setTimeout(() => {\r\n this.destroyLine();\r\n this.beginGame();\r\n if(GameData._instance.LEVEL_INFO[this.level-1].moveNumber<1){\r\n this.pause = false;\r\n }\r\n else{\r\n this.moveAction();\r\n }\r\n \r\n }, 150);\r\n }\r\n })\r\n .start()\r\n }\r\n }, time);\r\n }\r\n }\r\n //设置移动重叠数据\r\n createMove(){\r\n if(this.over == false){\r\n let info = GameData._instance.LEVEL_INFO[this.level-1];\r\n //改变移动速度\r\n var speed = 7;\r\n if(info.moveSpeed >= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n }\r\n if(info.repeat == 1){\r\n this.repeat = parseInt((Math.random()*(info.number-1)+1) + \"\");\r\n let tempNumber = 0;\r\n // this.repeat = 4;\r\n if(this.repeat > 4){\r\n this.numberRepeat = parseInt(Math.random()*4 + \"\");\r\n if(this.repeat == (info.number-1)) //如果是最后一个 不能跟第一个重叠\r\n this.numberRepeat = this.repeat - parseInt( (Math.random()*3 + 2)+ \"\")\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n this.Pos_Array[this.repeat ] = tempNumber;\r\n }\r\n else{ // 0 1 2 3 4 5 \r\n // 6 - 3 - 1 = 2 4 01 4\r\n if(this.repeat == 0) this.repeat = 1;\r\n if((info.number-1-this.repeat ) == 2){\r\n this.numberRepeat = info.number - 1;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else if((info.number-1-this.repeat ) == 1){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) == 0){\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n } \r\n else if((info.number-1-this.repeat ) > 2){\r\n this.numberRepeat = parseInt(Math.random()*(info.number-this.repeat -2) + \"\") + this.repeat + 2 ;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n else{\r\n this.numberRepeat = this.repeat - 2;\r\n tempNumber = this.Pos_Array[this.numberRepeat];\r\n }\r\n this.Pos_Array[this.repeat] = tempNumber;\r\n }\r\n }\r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n let pos = cc.v2(0,0);\r\n for(let z=0; z Math.random() - 0.5);\r\n if(this.moveArray[0] == 1){\r\n for(let r=info.number-1; r>=0; r--){\r\n if(this.moveArray[r] == 0){\r\n this.moveArray[r] = 1;\r\n this.moveArray[0] = 0;\r\n r = -1;\r\n }\r\n }\r\n }\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n for(let i =0; i {\r\n pos = this.getPos2(true,i);\r\n this.Pos_Array[i] = pos;\r\n }, timeOut*300);\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n //移动后数据 重新刷一遍赋值\r\n updateArray(){\r\n for(let i=0; i= 2){\r\n speed = 7 - info.moveSpeed/2;\r\n } \r\n if(info.moveNumber > 0){\r\n //0 1 2 3 4 5 6 7 8 9\r\n //可移动区分\r\n //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7\r\n for(let k =0; k= 0; m--){\r\n if(m != k && this.moveArray[m] == 0 && m!= this.repeat && m!= this.numberRepeat){\r\n this.moveArray[m] = 1;\r\n this.moveArray[k] = 0;\r\n m = -1;\r\n }\r\n }\r\n }\r\n }\r\n let lastNumber = 0;\r\n //锁定最后一个可移动的\r\n for(let j =0; j{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n //如果是最后一个\r\n else{\r\n let time = speed*this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,this.Pos_Array[i].x,this.Pos_Array[i].y,3);\r\n this.ball_Array[i].getComponent(\"Sun\").move = true;\r\n cc.tween(this.ball_Array[i])\r\n .to(time,{position:this.Pos_Array[i]})\r\n .call(() =>{\r\n this.ball_Array[i].getComponent(\"Sun\").move = false;\r\n })\r\n .start();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n //每次重新开始新一轮儿游戏\r\n beginGame(){\r\n this.begin = true;\r\n this.startTime = this.getTime();\r\n this.timeStart = this.getTime();\r\n this.pause = false;\r\n // this.node.getChildByName(\"showBtn\").active = true;\r\n }\r\n //暂时作废\r\n // getRandomArray(lastNumber){\r\n // let num = parseInt(Math.random()*8 - 4 + \"\");\r\n // let jg = num + lastNumber;\r\n // if(num > 1 || num <-1){\r\n // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){\r\n // jg = this.getRandomArray(lastNumber);\r\n // }\r\n // }\r\n // else{\r\n // jg = this.getRandomArray(lastNumber);\r\n // }\r\n // return jg;\r\n // }\r\n\r\n //创建太阳所需数据\r\n createSun(){\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n let tiemOut = 0;\r\n for(let l=0; l {\r\n if(this.over == false){\r\n let pos = this.getPos(false,l);\r\n this.Pos_Array.push(pos);\r\n if(this.Pos_Array.length == levelData.number){\r\n this.createMove();\r\n this.createPos();\r\n }\r\n }\r\n\r\n }, tiemOut*100);\r\n }\r\n }\r\n //创建太阳位置,颜色信息等数据\r\n createPos(){\r\n let data = {x:this.ball.x,y:this.ball.y,time:0,timeCount:0,color:0,speed:0,repeat:false};\r\n let levelData = GameData._instance.LEVEL_INFO[this.level-1];\r\n //颜色区分\r\n let colorArray = [0,1];\r\n for(let j=0; j Math.random() - 0.5);\r\n }\r\n colorArray.sort(() => Math.random() - 0.5);\r\n if(levelData.number == 4) colorArray = [0,0,0,0];\r\n this.color_Array = colorArray;\r\n //存储太阳数据\r\n for(let i=0; i 0){\r\n for(let i=0; i 0){\r\n for(let i=0; i 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n else{\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxMove){\r\n jg = true;\r\n } \r\n else jg = false;\r\n }\r\n }\r\n return jg;\r\n }\r\n //命中动画\r\n hitAction(data){\r\n this.hit.active = true; this.hit.opacity = 0;\r\n this.hit.setPosition\r\n this.hit.setPosition(this.ball_Array[data].x+35,this.ball_Array[data].y+35);\r\n cc.tween(this.hit)\r\n .to(0,{opacity:255})\r\n .to(0.2,{position:cc.v3(this.hit.x-35,this.hit.y-35,0)})\r\n .delay(0.2)\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n this.hit.active = false;\r\n })\r\n .start();\r\n }\r\n //创造太阳\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n if(color == 0)ball = cc.instantiate(this.qiu1);\r\n else if(color == 1)ball = cc.instantiate(this.qiu2);\r\n else if(color == 2)ball = cc.instantiate(this.qiu3);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.now_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n this.ball_Array.push(ball);\r\n }\r\n //销毁连线\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n //创建连线\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n //获取两点之间的角度,将来都可放工具类\r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n //获取两点之间的距离 返回对应时间\r\n calculateDistance(x1, y1, x2, y2, num) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n let time = 0;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(num == 1){\r\n if(distance > 800) distance = 800;\r\n time = distance/800 * 0.6;\r\n }\r\n else if(num == 2){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1;\r\n }\r\n else if(num == 3){\r\n if(distance > 1200) distance = 1200;\r\n time = distance/1200 * 1.5;\r\n }\r\n\r\n return time;\r\n }\r\n //获取两点之间距离 返回距离判断\r\n getDistance2(x1, y1, x2, y2,num) {\r\n var jg = false;\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 160){\r\n if(num == true){\r\n if(distance < GameData._instance.LEVEL_INFO[this.level-1].maxDistance) jg = true;\r\n else jg = false;\r\n }\r\n else{\r\n jg = true;\r\n }\r\n }\r\n return jg;\r\n }\r\n //背景移动\r\n bgMove(type){\r\n let random = Math.random()*300 + 300;\r\n let posX = Math.random()*600 - 300;\r\n let y1 = this.bg1.y - random*type;\r\n let time1 = 0.7*(random/400);\r\n cc.tween(this.ball)\r\n .to(0.3,{scale:1.3})\r\n .to(time1,{x:posX})\r\n .start();\r\n cc.tween(this.bg1)\r\n .delay(0.3)\r\n .to(time1,{y:y1})\r\n .start();\r\n setTimeout(() => {\r\n if(this.over == false) this.startGame();\r\n }, time1*1500);\r\n }\r\n //时间格式转换\r\n getTimeMargin(second:number) {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n }\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0 && this.pause == false) {\r\n this.countTime -= 1;\r\n this.time.string = this.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n cc.tween(this.time.node)\r\n .to(0.25,{scale:1.5,color:cc.color(255,0,0)})\r\n .to(0.25,{scale:1,color:cc.color(255,255,255)})\r\n .start()\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.begin = false;\r\n this.over = true;\r\n this.unschedule(this.updateCountDownTime);\r\n this.setLoss();\r\n var time = 0;\r\n if(this.clickCount > 0) time = parseInt(GameData._instance.GM_INFO.mean_Time/this.clickCount + \"\");\r\n GameData._instance.GM_INFO.mean_Time = parseInt(time/100 + \"\");\r\n GameData._instance.GM_INFO.mean_Time = GameData._instance.GM_INFO.mean_Time /10;\r\n if(time > 10000) time = (Math.random()*10+5)*100;\r\n this.setRank(time);\r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n setData(){\r\n GameData._instance.GAME_DATA = [];\r\n GameData._instance.GAME_DATA.push(GameData._instance.CLICK_DATA);\r\n GameData._instance.CLICK_init();\r\n let data = GameData._instance.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n console.log(matchId);\r\n let postData = {\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n console.log(\"上传数据:\")\r\n HttpUtil.uploadUserLogData(postData,function(){})\r\n }\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(matchId[10]);\r\n if(this.round == 1){\r\n char += 1;\r\n }\r\n matchId = matchId.slice(0, 10) + char + \"\";\r\n GameData._instance.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n return matchId;\r\n }\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n }\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n GameData._instance.GM_INFO.matchId = data;\r\n return data;\r\n }\r\n //上传排行榜数据\r\n setRank(time){\r\n let postData = {\r\n \"type\":1,\r\n \"reactionTime\": time,\r\n \"totalSunCount\": GameData._instance.GM_INFO.total,\r\n \"success\": GameData._instance.GM_INFO.success\r\n \r\n };\r\n HttpUtil.rankData(1,function(){},postData);\r\n this.node.getChildByName(\"GameOver\").active = true;\r\n this.node.getChildByName(\"GameOver\").opacity = 0;\r\n cc.tween(this.node.getChildByName(\"GameOver\"))\r\n .to(0.4,{opacity:255})\r\n .delay(2)\r\n .to(0.4,{opacity:50})\r\n .call(() =>{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //作弊,测试用\r\n showNumber(){\r\n if(this.show == false) this.show = true;\r\n else if(this.show == true) this.show = false;\r\n for(let i=0; i this.m_fluxayTime + this.m_intervalTime) { - this._time = 0; - } - - var u_time = this._time / this.m_fluxayTime; - - if (this._time > this.m_fluxayTime) { - u_time = 1 + (this._time - this.m_fluxayTime) / this.m_intervalTime; - } - - if (this.m_reviseTimeScale != null && this.m_reviseStartTime != null) { - u_time = u_time / this.m_reviseTimeScale; - u_time -= this.m_reviseStartTime; - } - - this._material.setProperty("u_time", u_time); - - this._time += dt; - }, - refreshSpriteFrameData: function refreshSpriteFrameData() { - var sprite = this.node.getComponent(cc.Sprite); - var material = sprite.getMaterial(0); - var frame = sprite.spriteFrame; - - if (frame != null) { - // xMin - var l = frame.uv[0]; // xMax - - var r = frame.uv[6]; // yMax - - var b = frame.uv[3]; // yMin - - var t = frame.uv[5]; // 纹理在合图中的四个边界 uv 坐标 - - var u_uvOffset = new cc.Vec4(l, t, r, b); // 纹理是否旋转 - - var u_uvRotated = frame.isRotated() ? 1.0 : 0.0; // 设置材质的属性 - - if (material.getProperty("u_uvOffset") !== undefined) { - material.setProperty("u_uvOffset", u_uvOffset); - } - - if (material.getProperty("u_uvRotated") !== undefined) { - material.setProperty("u_uvRotated", u_uvRotated); - } - } - } -}); - -cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/b4/b48a2ba4-145d-4594-9192-914707508113.js.map b/library/imports/b4/b48a2ba4-145d-4594-9192-914707508113.js.map deleted file mode 100644 index a508a17..0000000 --- a/library/imports/b4/b48a2ba4-145d-4594-9192-914707508113.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\CtrlFluxayTexture.js"],"names":["cc","Class","Component","properties","m_delayTime","m_fluxayTime","m_intervalTime","m_scale","m_angle","m_reviseStartTime","m_reviseTimeScale","ctor","_time","onLoad","sprite","node","getComponent","Sprite","_material","getMaterial","setProperty","refreshSpriteFrameData","update","dt","u_time","material","frame","spriteFrame","l","uv","r","b","t","u_uvOffset","Vec4","u_uvRotated","isRotated","getProperty","undefined"],"mappings":"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","sourceRoot":"/","sourcesContent":["\ncc.Class({\n extends: cc.Component,\n\n properties: {\n m_delayTime: {\n default: 0, \n },\n m_fluxayTime: {\n default: 1, \n },\n m_intervalTime: {\n default: 1, \n },\n m_scale: {\n default: 1, \n },\n m_angle: {\n default: 0, \n },\n m_reviseStartTime:{\n default: 0, \n },\n m_reviseTimeScale:{\n default: 1, \n },\n },\n\n ctor(){\n this._time = 0;\n },\n onLoad () {\n this._time -= this.m_delayTime;\n\n let sprite = this.node.getComponent(cc.Sprite);\n this._material = sprite.getMaterial(0);\n this._material.setProperty(\"u_scale\", this.m_scale);\n this._material.setProperty(\"u_angle\", this.m_angle);\n\n this.refreshSpriteFrameData();\n },\n\n update(dt) {\n if (this._time > (this.m_fluxayTime + this.m_intervalTime)) {\n this._time = 0;\n }\n\n let u_time = this._time/this.m_fluxayTime;\n if(this._time >this.m_fluxayTime)\n {\n u_time = 1+((this._time-this.m_fluxayTime)/this.m_intervalTime);\n }\n if(this.m_reviseTimeScale != null && this.m_reviseStartTime != null)\n {\n u_time = u_time/this.m_reviseTimeScale;\n u_time -= this.m_reviseStartTime;\n }\n this._material.setProperty(\"u_time\", u_time);\n this._time += dt;\n },\n\n refreshSpriteFrameData(){\n let sprite = this.node.getComponent(cc.Sprite);\n let material = sprite.getMaterial(0);\n let frame = sprite.spriteFrame;\n\n if(frame != null)\n {\n // xMin\n let l = frame.uv[0];\n // xMax\n let r = frame.uv[6];\n // yMax\n let b = frame.uv[3];\n // yMin\n let t = frame.uv[5];\n // 纹理在合图中的四个边界 uv 坐标\n let u_uvOffset = new cc.Vec4(l, t, r, b);\n // 纹理是否旋转\n let u_uvRotated = frame.isRotated() ? 1.0 : 0.0;\n // 设置材质的属性\n\n if(material.getProperty(\"u_uvOffset\") !== undefined)\n {\n material.setProperty(\"u_uvOffset\", u_uvOffset);\n }\n if(material.getProperty(\"u_uvRotated\") !== undefined)\n {\n material.setProperty(\"u_uvRotated\", u_uvRotated);\n }\n }\n }\n\n});\n"]} \ No newline at end of file diff --git a/library/imports/bd/bd9f7f17-383e-4f98-b4e3-936acb6018b3.js.map b/library/imports/bd/bd9f7f17-383e-4f98-b4e3-936acb6018b3.js.map deleted file mode 100644 index 015d792..0000000 --- a/library/imports/bd/bd9f7f17-383e-4f98-b4e3-936acb6018b3.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\BallAudioManager.js"],"names":["cc","Class","Component","properties","audioGameBgm0","type","AudioClip","audioButtonClick","audioWarning","audioWin","reward","finish","rewardCount","ctor","mAudioMap","bgMusicVolume","effectMusicVolume","mMusicSwitch","mEffectSwitch","play","audioSource","loop","callback","isBgMusic","volume","sys","isBrowser","brickSound","context","audioEngine","setFinishCallback","call","bind","wx","createInnerAudioContext","autoplay","obeyMuteSwitch","onEnded","offEnded","src","nativeUrl","save","onLoad","window","addEventListener","dispatchEvent","preload","platform","WECHAT_GAME","musics","forEach","path","getAudioMusicSwitch","getAudioEffectSwitch","trunAudioSound","on","switchMusic","switchEffect","playMusicGame","stopMusic","onHide","pauseAll","onShow","resumeAll","playMusic","key","mMusicKey","stop","playBomb","audioBomb","playJiGuang","audioJiGuang","playItem1","audioItem1","playGameStart","audioGameStart","playGameOver","audioGameOver","playGameResultFailed","audioGameResultFail","playGameResultSuccess","audioGameResultSuccess","playWarning","playWin","playBrick","brickBoom","audioObj","playAudioButton","playRandomMatch","randomMatchSound","playMatchFoundSound","matchFoundSound"],"mappings":"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","sourceRoot":"/","sourcesContent":["cc.Class({\n extends: cc.Component,\n properties:{\n //背景音乐\n audioGameBgm0:{\n default:null,\n type:cc.AudioClip\n },\n // 按钮点击\n audioButtonClick:{\n default:null,\n type:cc.AudioClip\n },\n // 报警音效\n audioWarning:{\n default:null,\n type:cc.AudioClip\n },\n\n //游戏开始音效\n audioWin:{\n default:null,\n type:cc.AudioClip\n },\n\n reward: false,\n finish: false,\n rewardCount: 0\n\n },\n ctor: function () {\n this.mAudioMap = {};\n\n /**\n * 默认音量大小\n * @type {number}\n */\n this.bgMusicVolume = 0.1;\n this.effectMusicVolume = 1;\n\n this.mMusicSwitch = 1;\n this.mEffectSwitch = 1;\n },\n play : function(audioSource, loop, callback, isBgMusic) {\n if (isBgMusic && !this.mMusicSwitch) return;\n if (!isBgMusic && !this.mEffectSwitch) return;\n\n var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume;\n\n if (cc.sys.isBrowser) {\n if(audioSource == this.brickSound){\n volume = 0.1;\n } \n var context = cc.audioEngine.play(audioSource, loop, volume);\n if (callback){\n cc.audioEngine.setFinishCallback(context, function(){\n callback.call(this);\n }.bind(this));\n }\n // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src);\n\n this.mAudioMap[audioSource] = context;\n return audioSource;\n } else {\n var context = wx.createInnerAudioContext();\n context.autoplay = true;\n context.loop = loop;\n context.obeyMuteSwitch = true;\n context.volume = volume;\n\n if (callback) {\n context.onEnded(function() {\n callback.call(this);\n }.bind(this));\n } else {\n context.offEnded();\n }\n \n // var audioPath = cc.url.raw(\"resources/BallMaster/sounds\" + audioSource.name + \".mp3\");\n context.src = audioSource.nativeUrl;\n context.play()\n this.mAudioMap[audioSource] = context;\n \n // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl);\n \n return audioSource;\n }\n },\n\n save: function () {\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch);\n // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch);\n },\n onLoad() {\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) {\n // this.mMusicSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) {\n // this.mEffectSwitch = parseInt(volume);\n // }.bind(this), 1);\n\n\n this.reward = false;\n this.finish = false;\n this.rewardCount = 0;\n window.addEventListener('rewardCanUse', () => {\n // 此时激励可用 游戏内部逻辑\n this.reward = true;\n });\n\n 'undefined' != typeof window['reward'] ? \n window.dispatchEvent(window['reward']):\"\"\n\n this.preload();\n },\n preload : function() {\n if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { return; }\n\n var musics = [\n this.audioGameBgm0,\n ];\n musics.forEach(function(path) {\n // var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path;\n // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) {\n // cc.loader.load(musicPath, function(err, remoteUrl) {\n // if (err) {\n // cc.error(err.message || err);\n // return;\n // }\n // });\n // }\n })\n },\n\n getAudioMusicSwitch()\n {\n return this.mMusicSwitch;\n\n },\n getAudioEffectSwitch()\n {\n return this.mEffectSwitch;\n },\n trunAudioSound(on)\n {\n this.switchMusic(on);\n this.switchEffect(on)\n },\n switchMusic : function(on) {\n if (this.mMusicSwitch != (on?1:0))\n {\n this.mMusicSwitch = 1-this.mMusicSwitch;\n // this.save();\n \n }\n if(on)\n {\n this.playMusicGame();\n }\n else\n {\n this.stopMusic();\n }\n },\n switchEffect : function(on) {\n if (this.mEffectSwitch != (on?1:0)){\n this.mEffectSwitch = 1-this.mEffectSwitch;\n // this.save();\n\n }\n },\n onHide () {\n cc.audioEngine.pauseAll();\n\n // if (CC_JSB) {\n // } else {\n // for (var key in this.mAudioMap) {\n // if (key === this.mMusicKey) {\n // this.mAudioMap[key].pause();\n // } else {\n // this.mAudioMap[key].stop();\n // }\n // }\n // }\n },\n\n onShow () {\n cc.audioEngine.resumeAll();\n\n // if (CC_JSB) {\n // } else {\n // if (!this.mMusicSwitch) return;\n // var context = this.mAudioMap[this.mMusicKey];\n // if (context) {\n // context.play();\n // }\n // }\n },\n playMusic : function(key, callback, loop) {\n\n loop = typeof loop == 'undefined' || loop ? true : false;\n\n this.stopMusic();\n this.mMusicKey = this.play(key, loop, callback, true);\n },\n /**\n * 游戏背景音乐\n */\n playMusicGame () {\n this.playMusic(this.audioGameBgm0);\n },\n /**\n * 停止背景音乐播放\n */\n stopMusic () {\n // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey);\n\n var context = this.mAudioMap[this.mMusicKey];\n\n if (typeof(context) != 'undefined') {\n if (cc.sys.isBrowser) {\n cc.audioEngine.stop(context);\n } else {\n context.stop();\n }\n cc.audioEngine.stop(context);\n\n }\n },\n // 炸弹、火箭爆炸音效\n playBomb () {\n return this.play(this.audioBomb, false);\n },\n //激光音效\n playJiGuang()\n {\n return this.play(this.audioJiGuang, false);\n },\n //技能音效\n playItem1()\n {\n return this.play(this.audioItem1, false);\n },\n /*\n * 游戏开始音效\n *\n */\n playGameStart()\n {\n return this.play(this.audioGameStart, false);\n },\n /*\n * 失败的游戏结束\n */\n playGameOver()\n {\n return this.play(this.audioGameOver,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultFailed()\n {\n return this.play(this.audioGameResultFail,false);\n },\n /*\n * 成功的游戏结束\n */\n playGameResultSuccess()\n {\n return this.play(this.audioGameResultSuccess,false);\n },\n /**\n * 报警的音效\n */\n playWarning()\n {\n return this.play(this.audioWarning,false);\n\n },\n\n playWin()\n {\n return this.play(this.audioWin,false);\n },\n\n /*\n * 方块碰撞的声音\n */\n playBrick()\n {\n return this.play(this.brickSound,false);\n },\n //方块破碎的声音\n brickBoom(){\n return this.play(this.audioObj,false);\n },\n /**\n * 按钮\n */\n playAudioButton () {\n return this.play(this.audioButtonClick, false);\n },\n\n playRandomMatch()\n {\n this.playMusic(this.randomMatchSound);\n },\n playMatchFoundSound()\n {\n this.stopMusic();\n return this.play(this.matchFoundSound, false);\n }\n});"]} \ No newline at end of file diff --git a/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json b/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json index 1d23610..dedb08f 100644 --- a/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json +++ b/library/imports/d1/d1323772-4ab2-4527-bd20-501fe4fb9723.json @@ -856,8 +856,8 @@ }, "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", - "handler": "clickBtn2", - "customEventData": "" + "handler": "clickBtn", + "customEventData": "2" }, { "__type__": "cc.PrefabInfo", diff --git a/library/imports/e1/e1b90feb-a217-4493-849d-9a611900d683.js.map b/library/imports/e1/e1b90feb-a217-4493-849d-9a611900d683.js.map deleted file mode 100644 index 6b38e86..0000000 --- a/library/imports/e1/e1b90feb-a217-4493-849d-9a611900d683.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\Helloworld.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport default class Helloworld extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Player: cc.Node = null;\r\n\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n\r\n @property(cc.Sprite)\r\n phone: cc.Sprite = null;\r\n\r\n private rankList: List; //排行榜\r\n tween: cc.Tween;\r\n listData: any;\r\n selfData: any;\r\n rankNumber: number;\r\n rankTotal: number;\r\n\r\n onLoad() {\r\n this.Player.getChildByName(\"rank\").active = false;\r\n this.rankList = cc.find(\"ScrollView\", this.node).getComponent(List);\r\n this.listData = [];\r\n this.selfData = null;\r\n this.rankNumber = 100;\r\n this.rankTotal= 100;\r\n this.selfNode.opacity = 0;\r\n }\r\n \r\n start() {\r\n this.Player.active = false;\r\n this.getRank();\r\n }\r\n\r\n getRankData(data){\r\n if(data){\r\n // console.log(data);\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n this.rankList.setData(rankData);\r\n if(this.selfData.nickName.length > 6){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,6) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfData.pic);\r\n this.setPic2(this.selfData.pic);\r\n if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"1\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"2\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"3\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n }\r\n else{\r\n // this.selfNode.getChildByName(\"four\").active = true;\r\n }\r\n this.selfNode.opacity = 255;\r\n if(this.selfData.totalSunCount == 0) this.selfNode.opacity = 0;\r\n }\r\n }\r\n backClick(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n playerAction(){\r\n //-254 377 210 453\r\n this.Player.getChildByName(\"rank\").active = false;\r\n\r\n let time = 1;\r\n this.tween = cc.tween(this.Player)\r\n .to(2,{position:cc.v3(210,453,0)})\r\n .call(() =>{\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n })\r\n .start();\r\n time = (this.listData.length - this.rankNumber)/this.listData.length;\r\n if(this.listData.length >= 99){\r\n if(this.rankNumber >= 99){\r\n time = (Math.random()*49+1)/100\r\n var matchId = cc.sys.localStorage.getItem(\"matchNumber\");\r\n if(matchId == null || matchId == undefined){\r\n time = 0;\r\n }\r\n }\r\n }\r\n else{\r\n\r\n }\r\n\r\n \r\n\r\n setTimeout(() => {\r\n if(this.tween)this.tween.stop();\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n }, time*2000);\r\n\r\n }\r\n\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n\r\n public setPic(pic){\r\n this.phone.node.parent.getChildByName(\"icon\").active = false;\r\n this.phone.node.active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.phone.node.parent.getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.phone.node.active = true;\r\n self.phone.spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n public setPic2(pic){\r\n this.Player.active = true;\r\n this.Player.opacity = 0;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.Player.opacity = 255;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = true;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").getComponent(cc.Sprite)\r\n .spriteFrame = new cc.SpriteFrame(texture);\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n // console.log(\"设置头像成功\",err);\r\n }\r\n else{\r\n this.Player.opacity = 255;\r\n // console.log(\"设置头像失败\",url);\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n console.log(err,texture)\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n }\r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Helloworld.js b/library/imports/e7/e74a9f7d-2031-4e69-bcb2-9998174088b2.js similarity index 73% rename from temp/quick-scripts/src/assets/Script/Helloworld.js rename to library/imports/e7/e74a9f7d-2031-4e69-bcb2-9998174088b2.js index 9c938e6..ea5fcfb 100644 --- a/temp/quick-scripts/src/assets/Script/Helloworld.js +++ b/library/imports/e7/e74a9f7d-2031-4e69-bcb2-9998174088b2.js @@ -1,6 +1,6 @@ "use strict"; -cc._RF.push(module, 'e1b90/rohdEk4SdmmEZANaD', 'Helloworld'); -// Script/Helloworld.ts +cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.ts "use strict"; var __extends = (this && this.__extends) || (function () { @@ -26,33 +26,47 @@ Object.defineProperty(exports, "__esModule", { value: true }); var GameData_1 = require("./GameData"); var List_1 = require("./ListView/List"); var serverAPI_1 = require("./crypto/serverAPI"); -// import { apiSign } from "./crypto/sign"; var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.Player = null; _this.selfNode = null; _this.phone = null; return _this; } - Helloworld.prototype.onLoad = function () { - this.Player.getChildByName("rank").active = false; + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; this.listData = []; this.selfData = null; this.rankNumber = 100; this.rankTotal = 100; this.selfNode.opacity = 0; }; - Helloworld.prototype.start = function () { + RankManager.prototype.start = function () { this.Player.active = false; this.getRank(); }; - Helloworld.prototype.getRankData = function (data) { + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var postData = { + "page": 1, + "pageSize": 100 + }; + //回调进getRankData + serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { if (data) { - // console.log(data); + console.log(data); this.listData = data.data.list; this.selfData = data.data.info; var rankData = []; @@ -76,7 +90,6 @@ var Helloworld = /** @class */ (function (_super) { this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; this.setPic(this.selfData.pic); - this.setPic2(this.selfData.pic); if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { this.selfNode.getChildByName("rank").getChildByName("one").active = true; } @@ -94,10 +107,12 @@ var Helloworld = /** @class */ (function (_super) { this.selfNode.opacity = 0; } }; - Helloworld.prototype.backClick = function () { + //返回按钮 + RankManager.prototype.backClick = function () { cc.director.loadScene("LoadScene"); }; - Helloworld.prototype.playerAction = function () { + //最上方用户动画 + RankManager.prototype.playerAction = function () { var _this = this; //-254 377 210 453 this.Player.getChildByName("rank").active = false; @@ -120,8 +135,6 @@ var Helloworld = /** @class */ (function (_super) { } } } - else { - } setTimeout(function () { if (_this.tween) _this.tween.stop(); @@ -130,54 +143,22 @@ var Helloworld = /** @class */ (function (_super) { .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; }, time * 2000); }; - Helloworld.prototype.getRank = function () { - var postData = { - "page": 1, - "pageSize": 100 - }; - serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); - }; - Helloworld.prototype.setPic = function (pic) { + //设置头像 + RankManager.prototype.setPic = function (pic) { var _this = this; this.phone.node.parent.getChildByName("icon").active = false; this.phone.node.active = false; - var url = pic; - fetch(url) + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) .then(function (response) { return response.headers.get('Content-Length'); }) .then(function (errNo) { if (errNo == "5093") { _this.phone.node.parent.getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - } - else { - console.log(err, texture); - } - }); - }; - Helloworld.prototype.setPic2 = function (pic) { - var _this = this; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - var url = pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { _this.Player.getChildByName("mask").getChildByName("icon").active = true; } }) @@ -185,43 +166,41 @@ var Helloworld = /** @class */ (function (_super) { console.error('Error fetching X-Info:', error); }); var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { + cc.assetManager.loadRemote(pic, { ext: '.jpg' }, function (err, texture) { + self.Player.opacity = 255; if (texture) { - _this.Player.opacity = 255; - _this.Player.getChildByName("mask").getChildByName("icon").active = false; - _this.Player.getChildByName("mask").getChildByName("phone").active = true; - _this.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) .spriteFrame = new cc.SpriteFrame(texture); setTimeout(function () { - _this.playerAction(); + self.playerAction(); }, 500); - // console.log("设置头像成功",err); } else { - _this.Player.opacity = 255; - // console.log("设置头像失败",url); - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - console.log(err, texture); + self.Player.getChildByName("mask").getChildByName("icon").active = true; setTimeout(function () { - _this.playerAction(); + self.playerAction(); }, 500); } }); }; __decorate([ - property(cc.Node) - ], Helloworld.prototype, "Player", void 0); + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); __decorate([ - property(cc.Node) - ], Helloworld.prototype, "selfNode", void 0); + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); __decorate([ - property(cc.Sprite) - ], Helloworld.prototype, "phone", void 0); - Helloworld = __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ ccclass - ], Helloworld); - return Helloworld; + ], RankManager); + return RankManager; }(cc.Component)); -exports.default = Helloworld; +exports.default = RankManager; cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/e7/e74a9f7d-2031-4e69-bcb2-9998174088b2.js.map b/library/imports/e7/e74a9f7d-2031-4e69-bcb2-9998174088b2.js.map new file mode 100644 index 0000000..8b83bca --- /dev/null +++ b/library/imports/e7/e74a9f7d-2031-4e69-bcb2-9998174088b2.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\RankManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nconst { ccclass, property } = cc._decorator;\r\n//排行榜\r\n@ccclass\r\nexport default class RankManager extends cc.Component {\r\n @property(cc.Node) //用户上方头像\r\n Player: cc.Node = null;\r\n @property(cc.Node) //用户最下方个人信息\r\n selfNode: cc.Node = null;\r\n @property(cc.Sprite) //用户头像换图\r\n phone: cc.Sprite = null;\r\n private rankList: List; //排行榜\r\n tween: cc.Tween; //最上方用户头像动画\r\n listData: any; //总列表信息\r\n selfData: any; //自己信息\r\n rankNumber: number; //用户自己排名 有可能不在排行榜内99+\r\n rankTotal: number; //获取排行榜用户数量 现在为100\r\n\r\n onLoad() {\r\n this.init();\r\n }\r\n //初始化数据\r\n init(){\r\n this.rankList = cc.find(\"ScrollView\", this.node).getComponent(List);\r\n this.Player.getChildByName(\"rank\").active = false;\r\n this.listData = [];\r\n this.selfData = null;\r\n this.rankNumber = 100;\r\n this.rankTotal= 100;\r\n this.selfNode.opacity = 0;\r\n }\r\n\r\n start() {\r\n this.Player.active = false;\r\n this.getRank();\r\n }\r\n //调用获取排行榜接口\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n //回调进getRankData\r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n //实际设置排行数据\r\n getRankData(data){\r\n if(data){\r\n console.log(data);\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n this.rankList.setData(rankData);\r\n if(this.selfData.nickName.length > 6){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,6) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfData.pic);\r\n if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"1\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"2\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"3\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n }\r\n else{\r\n // this.selfNode.getChildByName(\"four\").active = true;\r\n }\r\n this.selfNode.opacity = 255;\r\n if(this.selfData.totalSunCount == 0) this.selfNode.opacity = 0;\r\n }\r\n }\r\n //返回按钮\r\n backClick(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n //最上方用户动画\r\n playerAction(){\r\n //-254 377 210 453\r\n this.Player.getChildByName(\"rank\").active = false;\r\n let time = 1;\r\n this.tween = cc.tween(this.Player)\r\n .to(2,{position:cc.v3(210,453,0)})\r\n .call(() =>{\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n })\r\n .start();\r\n time = (this.listData.length - this.rankNumber)/this.listData.length;\r\n if(this.listData.length >= 99){\r\n if(this.rankNumber >= 99){\r\n time = (Math.random()*49+1)/100\r\n var matchId = cc.sys.localStorage.getItem(\"matchNumber\");\r\n if(matchId == null || matchId == undefined){\r\n time = 0;\r\n }\r\n }\r\n }\r\n setTimeout(() => {\r\n if(this.tween)this.tween.stop();\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n }, time*2000);\r\n\r\n }\r\n //设置头像\r\n public setPic(pic){\r\n this.phone.node.parent.getChildByName(\"icon\").active = false;\r\n this.phone.node.active = false;\r\n this.Player.active = true;\r\n this.Player.opacity = 0;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = false;\r\n fetch(pic)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.phone.node.parent.getChildByName(\"icon\").active = true;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(pic, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n self.Player.opacity = 255;\r\n if(texture){\r\n self.phone.node.active = true;\r\n self.phone.spriteFrame = new cc.SpriteFrame(texture);\r\n self.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n self.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = true;\r\n self.Player.getChildByName(\"mask\").getChildByName(\"phone\").getComponent(cc.Sprite)\r\n .spriteFrame = new cc.SpriteFrame(texture);\r\n setTimeout(() => {\r\n self.playerAction();\r\n }, 500);\r\n }\r\n else{\r\n self.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n setTimeout(() => {\r\n self.playerAction();\r\n }, 500);\r\n }\r\n \r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js b/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js index f42ae7f..f30c6d4 100644 --- a/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js +++ b/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js @@ -3,12 +3,6 @@ cc._RF.push(module, 'f2f0bI5PsVI+o18xF6G+KVa', 'GameData'); // Script/GameData.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -33,21 +27,15 @@ var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData = /** @class */ (function (_super) { __extends(GameData, _super); function GameData() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } GameData_1 = GameData; - // LEVEL_INFO: { number: number; }[]; - // LEVEL_INFO:[]; - // LIFE-CYCLE CALLBACKS: GameData.prototype.onLoad = function () { if (GameData_1._instance == null) { GameData_1._instance = this; cc.game.addPersistRootNode(this.node); - this.AudioManager = this.node.getComponent('BallAudioManager'); + //设置为常驻,绑定音频以及游戏各类信息 + this.AudioManager = this.node.getComponent('AudioManager'); } else { this.node.destroy(); @@ -55,6 +43,13 @@ var GameData = /** @class */ (function (_super) { } }; GameData.prototype.start = function () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = []; + }; + GameData.prototype.GM_INFO_init = function () { this.GM_INFO = { // isEnd: false, mean_Time: 0, @@ -68,6 +63,26 @@ var GameData = /** @class */ (function (_super) { matchId: null, custom: 0 }; + }; + GameData.prototype.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + totalSunCount: 0, + movedSunCount: 0, + sunSpeed: 0, + overlapSunCount: 0, + colorList: [], + duration: 0, + difficultyLevel: 0, + sunList: [], + stepTimeList: [], + remainder: 120 + }; + }; + GameData.prototype.LEVEL_INFO_init = function () { this.LEVEL_INFO = [ { number: 3, @@ -268,251 +283,10 @@ var GameData = /** @class */ (function (_super) { maxDistance: 200, maxMove: 1200, repeat: 1 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 10, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, + } ]; - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; - this.GAME_DATA = []; - }; - GameData.prototype.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; }; var GameData_1; - __decorate([ - property(cc.Label) - ], GameData.prototype, "label", void 0); - __decorate([ - property - ], GameData.prototype, "text", void 0); GameData = GameData_1 = __decorate([ ccclass ], GameData); diff --git a/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js.map b/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js.map index e262a2c..7925f2a 100644 --- a/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js.map +++ b/library/imports/f2/f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameData.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class GameData extends cc.Component {\r\n\r\n @property(cc.Label)\r\n label: cc.Label = null;\r\n\r\n @property\r\n text: string = 'hello';\r\n static _instance: any;\r\n GM_INFO: {};\r\n AudioManager: any;\r\n\r\n GAME_DATA: any[];\r\n LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //初始布局最大移动距离\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; };\r\n\r\n // LEVEL_INFO: { number: number; }[];\r\n // LEVEL_INFO:[];\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n \r\n onLoad () {\r\n if (GameData._instance == null) {\r\n GameData._instance = this;\r\n cc.game.addPersistRootNode(this.node);\r\n \r\n this.AudioManager = this.node.getComponent('BallAudioManager');\r\n }\r\n else {\r\n this.node.destroy();\r\n return;\r\n }\r\n }\r\n\r\n start () {\r\n this.GM_INFO = { \r\n // isEnd: false,\r\n mean_Time:0, //平均放箭速度\r\n total:0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId:'100009',\r\n userId:200139,\r\n guide:true, //是否有引导\r\n url:\"http://api.sparkus.cn\",\r\n success:false,\r\n matchId:null,\r\n custom: 0\r\n };\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number:3, //太阳总数 \r\n moveNumber:0, //太阳可移动个数\r\n moveSpeed:0, //太阳移动速度等级\r\n maxDistance:200, //布局后移动最大距离\r\n maxMove:1200,\r\n repeat:0 //是否重叠,现在0 不重叠 1 重叠1个\r\n \r\n },\r\n { //第二难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第三难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第四难度\r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第五难度\r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第六难度\r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第七难度\r\n number:6,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第八难度\r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第九难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十一难度\r\n number:8,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十二难度\r\n number:8,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十三难度\r\n number:9,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十四难度\r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十五难度\r\n number:10,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //11 \r\n number:3,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //12 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //13 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //14 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //15 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //16 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //17 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //18 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //19 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //20 \r\n number:5,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //21 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //22 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //23 \r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //24 \r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //25 \r\n number:6,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //26 \r\n number:6,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //27 \r\n number:6,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //28 \r\n number:6,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //29 \r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //30 \r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //31 \r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //32 \r\n number:7,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //33 \r\n number:7,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //34 \r\n number:7,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //35 \r\n number:8,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //36 \r\n number:8,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //37 \r\n number:8,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //38 \r\n number:8,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //39 \r\n number:8,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //40 \r\n number:8,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //41 \r\n number:8,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //42 \r\n number:9,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //43 \r\n number:9,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //44 \r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //45 \r\n number:10,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n\r\n\r\n\r\n ]\r\n\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n\r\n this.GAME_DATA = [\r\n \r\n ]\r\n }\r\n\r\n CLICK_init(){\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACM,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAE1C;IAAsC,4BAAY;IAAlD;;IAsRA,CAAC;iBAtRoB,QAAQ;IAgBzB,yBAAM,GAAN;QACI,IAAI,UAAQ,CAAC,SAAS,IAAI,IAAI,EAAE;YAC5B,UAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,oBAAoB;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SAC9D;aACI;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;SACV;IACL,CAAC;IAED,wBAAK,GAAL;QACI,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,mCAAmC;QACnC,IAAI,CAAC,SAAS,GAAG,EAChB,CAAA;IACL,CAAC;IAED,+BAAY,GAAZ;QACI,IAAI,CAAC,OAAO,GAAG;YACX,gBAAgB;YAChB,SAAS,EAAC,CAAC;YACX,KAAK,EAAC,CAAC;YACP,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAC,QAAQ;YACf,MAAM,EAAC,MAAM;YACb,KAAK,EAAC,IAAI;YACV,GAAG,EAAC,uBAAuB;YAC3B,OAAO,EAAC,KAAK;YACb,OAAO,EAAC,IAAI;YACZ,MAAM,EAAE,CAAC;SACZ,CAAC;IACN,CAAC;IAED,6BAAU,GAAV;QACI,IAAI,CAAC,UAAU;YACf;gBACI,IAAI,EAAC,CAAC;gBACN,OAAO,EAAC,KAAK;gBACb,KAAK,EAAC,CAAC;gBACP,aAAa,EAAC,CAAC;gBACf,aAAa,EAAC,CAAC;gBACf,QAAQ,EAAC,CAAC;gBACV,eAAe,EAAC,CAAC;gBACjB,SAAS,EAAC,EAAE;gBACZ,QAAQ,EAAC,CAAC;gBACV,eAAe,EAAC,CAAC;gBACjB,OAAO,EAAC,EAAE;gBACV,YAAY,EAAC,EAAE;gBACf,SAAS,EAAC,GAAG;aAChB,CAAA;IACL,CAAC;IACD,kCAAe,GAAf;QACI,IAAI,CAAC,UAAU,GAAG;YACd;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC,CAAQ,qBAAqB;aAExC;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,EAAE;gBACT,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;YACD;gBACI,MAAM,EAAC,CAAC;gBACR,UAAU,EAAC,CAAC;gBACZ,SAAS,EAAC,CAAC;gBACX,WAAW,EAAC,GAAG;gBACf,OAAO,EAAC,IAAI;gBACZ,MAAM,EAAC,CAAC;aACX;SAEJ,CAAA;IACL,CAAC;;IArRgB,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAsR5B;IAAD,eAAC;CAtRD,AAsRC,CAtRqC,EAAE,CAAC,SAAS,GAsRjD;kBAtRoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameData extends cc.Component {\r\n static _instance: any;\r\n GM_INFO: {};\r\n AudioManager: any;//音频管理\r\n GAME_DATA: any[];//备用\r\n LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //初始布局最大移动距离\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n //上报数据,有的游戏为一整局游戏一次上报,有的为每次操作上报\r\n CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; };\r\n\r\n onLoad () {\r\n if (GameData._instance == null) {\r\n GameData._instance = this;\r\n cc.game.addPersistRootNode(this.node);\r\n //设置为常驻,绑定音频以及游戏各类信息\r\n this.AudioManager = this.node.getComponent('AudioManager');\r\n }\r\n else {\r\n this.node.destroy();\r\n return;\r\n }\r\n }\r\n\r\n start () {\r\n this.GM_INFO_init();\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n }\r\n\r\n GM_INFO_init(){\r\n this.GM_INFO = { \r\n // isEnd: false,\r\n mean_Time:0, //平均放箭速度\r\n total:0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId:'100009',\r\n userId:200139,\r\n guide:true, //是否有引导\r\n url:\"http://api.sparkus.cn\",\r\n success:false,\r\n matchId:null,\r\n custom: 0\r\n };\r\n }\r\n\r\n CLICK_init(){\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n }\r\n LEVEL_INFO_init(){\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number:3, //太阳总数 \r\n moveNumber:0, //太阳可移动个数\r\n moveSpeed:0, //太阳移动速度等级\r\n maxDistance:200, //布局后移动最大距离\r\n maxMove:1200,\r\n repeat:0 //是否重叠,现在0 不重叠 1 重叠1个\r\n \r\n },\r\n { //第二难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第三难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第四难度\r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第五难度\r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第六难度\r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第七难度\r\n number:6,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第八难度\r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第九难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十一难度\r\n number:8,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十二难度\r\n number:8,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十三难度\r\n number:9,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十四难度\r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十五难度\r\n number:10,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //11 \r\n number:3,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //12 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //13 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //14 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //15 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //16 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //17 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //18 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //19 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //20 \r\n number:5,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n }\r\n\r\n ]\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/f7/f7f5d7e6-2a27-4e6d-988c-2edb817408aa.js b/library/imports/f7/f7f5d7e6-2a27-4e6d-988c-2edb817408aa.js deleted file mode 100644 index e313886..0000000 --- a/library/imports/f7/f7f5d7e6-2a27-4e6d-988c-2edb817408aa.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -cc._RF.push(module, 'f7f5dfmKidObZiMLtuBdAiq', 'test'); -// Script/test.ts - -if (this.level == 1) { - var data = { x: -200, y: -380, time: 0, timeCount: 0 }; - var timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -200, -380)); - var time = this.calculateDistance(this.ball.x, this.ball.y, -200, -380) + timeCount; - data = { x: -200, y: -380, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -250, -300)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -250, -300) + timeCount; - data = { x: -250, y: -300, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -300, 500)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -300, 500) + timeCount; - data = { x: -300, y: 500, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, 280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, 280) + timeCount; - data = { x: 208, y: 280, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, -280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, -280) + timeCount; - data = { x: 208, y: -280, time: time, timeCount: timeCount }; - this.now_Array.push(data); -} - -cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/f7/f7f5d7e6-2a27-4e6d-988c-2edb817408aa.js.map b/library/imports/f7/f7f5d7e6-2a27-4e6d-988c-2edb817408aa.js.map deleted file mode 100644 index f0c31f3..0000000 --- a/library/imports/f7/f7f5d7e6-2a27-4e6d-988c-2edb817408aa.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\test.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["if(this.level == 1){\r\n let data = {x:-200,y:-380,time:0,timeCount:0};\r\n let timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,-200,-380));\r\n let time = this.calculateDistance(this.ball.x,this.ball.y,-200,-380)+timeCount;\r\n data = {x:-200,y:-380,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,-250,-300));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,-250,-300)+timeCount;\r\n data = {x:-250,y:-300,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,-300,500));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,-300,500)+timeCount;\r\n data = {x:-300,y:500,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,208,280));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,208,280)+timeCount;\r\n data = {x:208,y:280,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,208,-280));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,208,-280)+timeCount;\r\n data = {x:208,y:-280,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n}"]} \ No newline at end of file diff --git a/library/uuid-to-mtime.json b/library/uuid-to-mtime.json index 285e54c..442f9a5 100644 --- a/library/uuid-to-mtime.json +++ b/library/uuid-to-mtime.json @@ -10,8 +10,8 @@ "relativePath": "Scene" }, "4734c20c-0db8-4eb2-92ea-e692f4d70934": { - "asset": 1716867446329, - "meta": 1716868891162, + "asset": 1717063292222, + "meta": 1717124730916, "relativePath": "Script" }, "7b81d4e8-ec84-4716-968d-500ac1d78a54": { @@ -29,14 +29,9 @@ "meta": 1716868891166, "relativePath": "Script\\ListView" }, - "5aca560f-66b4-413d-95bd-73669c0bca6b": { - "asset": 1715324805802, - "meta": 1715325875063, - "relativePath": "Script\\RankListItem.prefab" - }, "2d2f792f-a40c-49bb-a189-ed176a246e49": { "asset": 1717067787704, - "meta": 1717067787709, + "meta": 1717125013258, "relativePath": "Scene\\RankScene.fire" }, "a8027877-d8d6-4645-97a0-52d4a0123dba": { @@ -80,23 +75,23 @@ "relativePath": "prefab\\line.prefab" }, "3a232388-d8dc-4f79-a1ea-82f6385b7ce2": { - "asset": 1716891674004, - "meta": 1716891674007, + "asset": 1717128436645, + "meta": 1717128436653, "relativePath": "prefab\\qiu1.prefab" }, "5e515837-650e-4584-a089-e2a025e36c39": { - "asset": 1716549473930, - "meta": 1716549473937, + "asset": 1717128441079, + "meta": 1717128441084, "relativePath": "prefab\\qiu2.prefab" }, "13110e4f-3587-4e6b-8811-0ca16cac8149": { - "asset": 1716549486295, - "meta": 1716549486301, + "asset": 1717128444872, + "meta": 1717128444877, "relativePath": "prefab\\qiu3.prefab" }, "d1323772-4ab2-4527-bd20-501fe4fb9723": { - "asset": 1716549499840, - "meta": 1716549499845, + "asset": 1717128451209, + "meta": 1717128451214, "relativePath": "prefab\\qiu4.prefab" }, "32254f37-ac95-4912-a787-b8e0429ba0f1": { @@ -104,19 +99,14 @@ "meta": 1715325498665, "relativePath": "prefab\\RankListItem.prefab" }, - "b48a2ba4-145d-4594-9192-914707508113": { - "asset": 1644307132000, - "meta": 1715325498792, - "relativePath": "Script\\CtrlFluxayTexture.js" - }, "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5": { - "asset": 1716862065811, - "meta": 1716862065817, + "asset": 1717134890847, + "meta": 1717134890854, "relativePath": "Scene\\OverScene.fire" }, "774829bb-123e-48b6-930e-6b3e02491506": { - "asset": 1716778615382, - "meta": 1716778615387, + "asset": 1717126108332, + "meta": 1717126108338, "relativePath": "Scene\\GuideScene.fire" }, "f2518fb4-2074-4639-8fae-788846b44780": { @@ -124,11 +114,6 @@ "meta": 1715325499067, "relativePath": "Script\\Notification.ts" }, - "f7f5d7e6-2a27-4e6d-988c-2edb817408aa": { - "asset": 1714377434000, - "meta": 1715325499104, - "relativePath": "Script\\test.ts" - }, "4bff6e01-b411-48f4-867a-5d841f9e400f": { "asset": 1716867446333, "meta": 1716868891166, @@ -256,502 +241,502 @@ }, "9836134e-b892-4283-b6b2-78b5acf3ed45": { "asset": 1714966328642, - "meta": 1717062584341, + "meta": 1717124728023, "relativePath": "effects" }, "f6e6dd15-71d1-4ffe-ace7-24fd39942c05": { "asset": 1714966328752, - "meta": 1717062584347, + "meta": 1717124728038, "relativePath": "obsolete" }, "f743d2b6-b7ea-4c14-a55b-547ed4d0a045": { "asset": 1714966328752, - "meta": 1717062584347, + "meta": 1717124728038, "relativePath": "particle" }, "ae6c6c98-11e4-452f-8758-75f5c6a56e83": { "asset": 1714966328831, - "meta": 1717062584347, + "meta": 1717124728038, "relativePath": "prefab" }, "897ef7a1-4860-4f64-968d-f5924b18668a": { "asset": 1714966328752, - "meta": 1717062584663, + "meta": 1717124728371, "relativePath": "prefab\\2d-camera.prefab" }, "70d7cdb0-04cd-41bb-9480-c06a4785f386": { "asset": 1714966328768, - "meta": 1717062584665, + "meta": 1717124728372, "relativePath": "prefab\\3d-camera.prefab" }, "a3ee0214-b432-4865-9666-4a3211814282": { "asset": 1714966328800, - "meta": 1717062584666, + "meta": 1717124728374, "relativePath": "prefab\\light" }, "972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": { "asset": 1714966328768, - "meta": 1717062584671, + "meta": 1717124728384, "relativePath": "prefab\\button.prefab" }, "ed88f13d-fcad-4848-aa35-65a2cb973584": { "asset": 1714966328768, - "meta": 1717062584669, + "meta": 1717124728375, "relativePath": "prefab\\3d-stage.prefab" }, "70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": { "asset": 1714966328768, - "meta": 1717062584667, + "meta": 1717124728377, "relativePath": "prefab\\3d-particle.prefab" }, "2c937608-2562-40ea-b264-7395df6f0cea": { "asset": 1714966328768, - "meta": 1717062584672, + "meta": 1717124728380, "relativePath": "prefab\\canvas.prefab" }, "61aeb05b-3b32-452b-8eed-2b76deeed554": { "asset": 1714966328783, - "meta": 1717062584673, + "meta": 1717124728382, "relativePath": "prefab\\editbox.prefab" }, "27756ebb-3d33-44b0-9b96-e858fadd4dd4": { "asset": 1714966328783, - "meta": 1717062584677, + "meta": 1717124728390, "relativePath": "prefab\\label.prefab" }, "785a442c-3ceb-45be-a46e-7317f625f3b9": { "asset": 1714966328783, - "meta": 1717062584679, + "meta": 1717124728392, "relativePath": "prefab\\layout.prefab" }, "cd33edea-55f5-46c2-958d-357a01384a36": { "asset": 1714966328800, - "meta": 1717062584684, + "meta": 1717124728394, "relativePath": "prefab\\particlesystem.prefab" }, "5965ffac-69da-4b55-bcde-9225d0613c28": { "asset": 1714966328800, - "meta": 1717062584687, + "meta": 1717124728397, "relativePath": "prefab\\progressBar.prefab" }, "ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": { "asset": 1714966328800, - "meta": 1717062584681, + "meta": 1717124728395, "relativePath": "prefab\\pageview.prefab" }, "4a37dd57-78cd-4cec-aad4-f11a73d12b63": { "asset": 1714966328800, - "meta": 1717062584685, + "meta": 1717124728402, "relativePath": "prefab\\richtext.prefab" }, "0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": { "asset": 1714966328800, - "meta": 1717062584690, + "meta": 1717124728406, "relativePath": "prefab\\slider.prefab" }, "32044bd2-481f-4cf1-a656-e2b2fb1594eb": { "asset": 1714966328800, - "meta": 1717062584688, + "meta": 1717124728401, "relativePath": "prefab\\scrollview.prefab" }, "96083d03-c332-4a3f-9386-d03e2d19e8ee": { "asset": 1714966328815, - "meta": 1717062584698, + "meta": 1717124728423, "relativePath": "prefab\\sprite.prefab" }, "d8afc78c-4eac-4a9f-83dd-67bc70344d33": { "asset": 1714966328862, - "meta": 1717062584348, + "meta": 1717124728038, "relativePath": "resources" }, "294c1663-4adf-4a1e-a795-53808011a38a": { "asset": 1714966328862, - "meta": 1717062584711, + "meta": 1717124728424, "relativePath": "resources\\effects" }, "bbee2217-c261-49bd-a8ce-708d6bcc3500": { "asset": 1714966328893, - "meta": 1717062584714, + "meta": 1717124728426, "relativePath": "resources\\materials" }, "7de03a80-4457-438d-95a7-3e7cdffd6086": { "asset": 1714966328815, - "meta": 1717062584718, + "meta": 1717124728433, "relativePath": "prefab\\tiledmap.prefab" }, "30682f87-9f0d-4f17-8a44-72863791461b": { "asset": 1714966328831, - "meta": 1717062584736, + "meta": 1717124728455, "relativePath": "resources\\effects\\builtin-2d-graphics.effect" }, "1f55e3be-b89b-4b79-88de-47fd31018044": { "asset": 1714966328815, - "meta": 1717062584715, + "meta": 1717124728430, "relativePath": "prefab\\sprite_splash.prefab" }, "144c3297-af63-49e8-b8ef-1cfa29b3be28": { "asset": 1714966328831, - "meta": 1717062584743, + "meta": 1717124728464, "relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect" }, "0d784963-d024-4ea6-a7db-03be0ad63010": { "asset": 1714966328815, - "meta": 1717062584721, + "meta": 1717124728439, "relativePath": "prefab\\toggle.prefab" }, "f18742d7-56d2-4eb5-ae49-2d9d710b37c8": { "asset": 1714966328831, - "meta": 1717062584755, + "meta": 1717124728472, "relativePath": "resources\\effects\\builtin-2d-label.effect" }, "0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": { "asset": 1714966328815, - "meta": 1717062584719, + "meta": 1717124728434, "relativePath": "prefab\\tiledtile.prefab" }, "0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": { "asset": 1714966328831, - "meta": 1717062584763, + "meta": 1717124728479, "relativePath": "resources\\effects\\builtin-2d-spine.effect" }, "2874f8dd-416c-4440-81b7-555975426e93": { "asset": 1714966328846, - "meta": 1717062584769, + "meta": 1717124728487, "relativePath": "resources\\effects\\builtin-2d-sprite.effect" }, "829a282c-b049-4019-bd38-5ace8d8a6417": { "asset": 1714966328846, - "meta": 1717062584815, + "meta": 1717124728531, "relativePath": "resources\\effects\\builtin-3d-particle.effect" }, "2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": { "asset": 1714966328846, - "meta": 1717062584829, + "meta": 1717124728548, "relativePath": "resources\\effects\\builtin-3d-trail.effect" }, "c0040c95-c57f-49cd-9cbc-12316b73d0d4": { "asset": 1714966328846, - "meta": 1717062584943, + "meta": 1717124728553, "relativePath": "resources\\effects\\builtin-clear-stencil.effect" }, "6d91e591-4ce0-465c-809f-610ec95019c6": { "asset": 1714966328862, - "meta": 1717062584956, + "meta": 1717124728566, "relativePath": "resources\\effects\\builtin-unlit.effect" }, "bf0a434c-84dd-4a8e-a08a-7a36f180cc75": { "asset": 1714966328815, - "meta": 1717062584723, + "meta": 1717124728444, "relativePath": "prefab\\toggleContainer.prefab" }, "232d2782-c4bd-4bb4-9e01-909f03d6d3b9": { "asset": 1714966328815, - "meta": 1717062584725, + "meta": 1717124728457, "relativePath": "prefab\\videoplayer.prefab" }, "d1b8be49-b0a0-435c-83b7-552bed4bbe35": { "asset": 1714966328815, - "meta": 1717062584724, + "meta": 1717124728446, "relativePath": "prefab\\toggleGroup.prefab" }, "8c5001fd-07ee-4a4b-a8a0-63e15195e94d": { "asset": 1714966328831, - "meta": 1717062584936, + "meta": 1717124728535, "relativePath": "prefab\\webview.prefab" }, "ddb99b39-7004-47cd-9705-751905c43c46": { "asset": 1714966328800, - "meta": 1717062584979, + "meta": 1717124728585, "relativePath": "prefab\\light\\directional.prefab" }, "0cf30284-9073-46bc-9eba-e62b69dbbff3": { "asset": 1714966328800, - "meta": 1717062584971, + "meta": 1717124728587, "relativePath": "prefab\\light\\point.prefab" }, "61906da3-7003-4bda-9abc-5769c76faee4": { "asset": 1714966328783, - "meta": 1717062584968, + "meta": 1717124728585, "relativePath": "prefab\\light\\ambient.prefab" }, "f5331fd2-bf42-4ee3-a3fd-3e1657600eff": { "asset": 1714966328800, - "meta": 1717062584977, + "meta": 1717124728588, "relativePath": "prefab\\light\\spot.prefab" }, "a153945d-2511-4c14-be7b-05d242f47d57": { "asset": 1714966328862, - "meta": 1717062585062, + "meta": 1717124728659, "relativePath": "resources\\materials\\builtin-2d-graphics.mtl" }, "6f801092-0c37-4f30-89ef-c8d960825b36": { "asset": 1714966328862, - "meta": 1717062585060, + "meta": 1717124728657, "relativePath": "resources\\materials\\builtin-2d-base.mtl" }, "3a7bb79f-32fd-422e-ada2-96f518fed422": { "asset": 1714966328862, - "meta": 1717062585064, + "meta": 1717124728660, "relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl" }, "432fa09c-cf03-4cff-a186-982604408a07": { "asset": 1714966328878, - "meta": 1717062585065, + "meta": 1717124728666, "relativePath": "resources\\materials\\builtin-3d-particle.mtl" }, "7afd064b-113f-480e-b793-8817d19f63c3": { "asset": 1714966328878, - "meta": 1717062585062, + "meta": 1717124728663, "relativePath": "resources\\materials\\builtin-2d-spine.mtl" }, "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": { "asset": 1714966328878, - "meta": 1717062585063, + "meta": 1717124728662, "relativePath": "resources\\materials\\builtin-2d-sprite.mtl" }, "cf7e0bb8-a81c-44a9-ad79-d28d43991032": { "asset": 1714966328878, - "meta": 1717062585067, + "meta": 1717124728664, "relativePath": "resources\\materials\\builtin-clear-stencil.mtl" }, "e02d87d4-e599-4d16-8001-e14891ac6506": { "asset": 1714966328878, - "meta": 1717062585061, + "meta": 1717124728658, "relativePath": "resources\\materials\\builtin-2d-label.mtl" }, "466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": { "asset": 1714966328878, - "meta": 1717062585066, + "meta": 1717124728665, "relativePath": "resources\\materials\\builtin-3d-trail.mtl" }, "d0a82d39-bede-46c4-b698-c81ff0dedfff": { "asset": 1714966328752, - "meta": 1717062584729, + "meta": 1717124728442, "relativePath": "particle\\atom.png" }, "2a296057-247c-4a1c-bbeb-0548b6c98650": { "asset": 1714966328893, - "meta": 1717062585065, + "meta": 1717124728666, "relativePath": "resources\\materials\\builtin-unlit.mtl" }, "8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": { "asset": 1714966328752, - "meta": 1717062584728, + "meta": 1717124728440, "relativePath": "obsolete\\atom.png" }, "b8223619-7e38-47c4-841f-9160c232495a": { "asset": 1714966328752, - "meta": 1717062585090, + "meta": 1717124728697, "relativePath": "obsolete\\atom.plist" }, "b2687ac4-099e-403c-a192-ff477686f4f5": { "asset": 1714966328752, - "meta": 1717062585092, + "meta": 1717124728696, "relativePath": "particle\\atom.plist" }, "430eccbf-bf2c-4e6e-8c0c-884bbb487f32": { "asset": 1714966328642, - "meta": 1717062584516, + "meta": 1717124728231, "relativePath": "effects\\__builtin-editor-gizmo-line.effect" }, "6c5cf6e1-b044-4eac-9431-835644d57381": { "asset": 1714966328642, - "meta": 1717062584523, + "meta": 1717124728238, "relativePath": "effects\\__builtin-editor-gizmo-unlit.effect" }, "115286d1-2e10-49ee-aab4-341583f607e8": { "asset": 1714966328642, - "meta": 1717062584547, + "meta": 1717124728269, "relativePath": "effects\\__builtin-editor-gizmo.effect" }, "abc2cb62-7852-4525-a90d-d474487b88f2": { "asset": 1714966328642, - "meta": 1717062584454, + "meta": 1717124728158, "relativePath": "effects\\builtin-phong.effect" }, "e2f00085-c597-422d-9759-52c360279106": { "asset": 1714966328642, - "meta": 1717062584505, + "meta": 1717124728215, "relativePath": "effects\\builtin-toon.effect" }, "f8e6b000-5643-4b86-9080-aa680ce1f599": { "asset": 1714966328706, - "meta": 1717062584343, + "meta": 1717124728038, "relativePath": "image" }, "5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": { "asset": 1714966328721, - "meta": 1717062584344, + "meta": 1717124728038, "relativePath": "materials" }, "fc09f9bd-2cce-4605-b630-8145ef809ed6": { "asset": 1714966328721, - "meta": 1717062584344, + "meta": 1717124728038, "relativePath": "misc" }, "99170b0b-d210-46f1-b213-7d9e3f23098a": { "asset": 1714966328673, - "meta": 1717062584610, + "meta": 1717124728318, "relativePath": "image\\default_progressbar_bg.png" }, "cfef78f1-c8df-49b7-8ed0-4c953ace2621": { "asset": 1714966328673, - "meta": 1717062584598, + "meta": 1717124728320, "relativePath": "image\\default_progressbar.png" }, "db019bf7-f71c-4111-98cf-918ea180cb48": { "asset": 1714966328737, - "meta": 1717062584346, + "meta": 1717124728038, "relativePath": "model" }, "e39e96e6-6f6e-413f-bcf1-ac7679bb648a": { "asset": 1714966328737, - "meta": 1717062584615, + "meta": 1717124728325, "relativePath": "model\\prefab" }, "b43ff3c2-02bb-4874-81f7-f2dea6970f18": { "asset": 1714966328658, - "meta": 1717062584644, + "meta": 1717124728308, "relativePath": "image\\default_btn_pressed.png" }, "edd215b9-2796-4a05-aaf5-81f96c9281ce": { "asset": 1714966328658, - "meta": 1717062584614, + "meta": 1717124728310, "relativePath": "image\\default_editbox_bg.png" }, "617323dd-11f4-4dd3-8eec-0caf6b3b45b9": { "asset": 1714966328689, - "meta": 1717062584653, + "meta": 1717124728357, "relativePath": "image\\default_scrollbar_vertical_bg.png" }, "6e056173-d285-473c-b206-40a7fff5386e": { "asset": 1714966328689, - "meta": 1717062584656, + "meta": 1717124728354, "relativePath": "image\\default_sprite.png" }, "4bab67cb-18e6-4099-b840-355f0473f890": { "asset": 1714966328689, - "meta": 1717062584648, + "meta": 1717124728355, "relativePath": "image\\default_scrollbar_bg.png" }, "e851e89b-faa2-4484-bea6-5c01dd9f06e2": { "asset": 1714966328658, - "meta": 1717062584612, + "meta": 1717124728351, "relativePath": "image\\default_btn_normal.png" }, "c4480a0a-6ac5-443f-8b40-361a14257fc8": { "asset": 1714966328706, - "meta": 1717062585041, + "meta": 1717124728634, "relativePath": "materials\\builtin-phong.mtl" }, "a87cc147-01b2-43f8-8e42-a7ca90b0c757": { "asset": 1714966328721, - "meta": 1717062584945, + "meta": 1717124728574, "relativePath": "model\\prefab\\box.prefab" }, "d81ec8ad-247c-4e62-aa3c-d35c4193c7af": { "asset": 1714966328673, - "meta": 1717062584600, + "meta": 1717124728352, "relativePath": "image\\default_panel.png" }, "b5fc2cf2-7942-483d-be1f-bbeadc4714ad": { "asset": 1714966328737, - "meta": 1717062584959, + "meta": 1717124728570, "relativePath": "model\\prefab\\cone.prefab" }, "fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": { "asset": 1714966328737, - "meta": 1717062584957, + "meta": 1717124728571, "relativePath": "model\\prefab\\capsule.prefab" }, "71561142-4c83-4933-afca-cb7a17f67053": { "asset": 1714966328658, - "meta": 1717062584602, + "meta": 1717124728304, "relativePath": "image\\default_btn_disabled.png" }, "567dcd80-8bf4-4535-8a5a-313f1caf078a": { "asset": 1714966328673, - "meta": 1717062584646, + "meta": 1717124728316, "relativePath": "image\\default_radio_button_off.png" }, "3f376125-a699-40ca-ad05-04d662eaa1f2": { "asset": 1714966328737, - "meta": 1717062584969, + "meta": 1717124728576, "relativePath": "model\\prefab\\plane.prefab" }, "6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": { "asset": 1714966328737, - "meta": 1717062584975, + "meta": 1717124728578, "relativePath": "model\\prefab\\quad.prefab" }, "600301aa-3357-4a10-b086-84f011fa32ba": { "asset": 1714966328642, - "meta": 1717062584605, + "meta": 1717124728322, "relativePath": "image\\default-particle.png" }, "2d9a4b85-b0ab-4c46-84c5-18f393ab2058": { "asset": 1714966328737, - "meta": 1717062584966, + "meta": 1717124728581, "relativePath": "model\\prefab\\sphere.prefab" }, "1c5e4038-953a-44c2-b620-0bbfc6170477": { "asset": 1714966328737, - "meta": 1717062584964, + "meta": 1717124728579, "relativePath": "model\\prefab\\cylinder.prefab" }, "9d60001f-b5f4-4726-a629-2659e3ded0b8": { "asset": 1714966328673, - "meta": 1717062584642, + "meta": 1717124728364, "relativePath": "image\\default_radio_button_on.png" }, "de510076-056b-484f-b94c-83bef217d0e1": { "asset": 1714966328737, - "meta": 1717062584971, + "meta": 1717124728583, "relativePath": "model\\prefab\\torus.prefab" }, "2be36297-9abb-4fee-8049-9ed5e271da8a": { "asset": 1714966328721, - "meta": 1717062584747, + "meta": 1717124728436, "relativePath": "misc\\default_video.mp4" }, "0291c134-b3da-4098-b7b5-e397edbe947f": { "asset": 1714966328689, - "meta": 1717062584649, + "meta": 1717124728359, "relativePath": "image\\default_scrollbar.png" }, "d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": { "asset": 1714966328689, - "meta": 1717062584652, + "meta": 1717124728361, "relativePath": "image\\default_scrollbar_vertical.png" }, "0275e94c-56a7-410f-bd1a-fc7483f7d14a": { "asset": 1714966328705, - "meta": 1717062584650, + "meta": 1717124728360, "relativePath": "image\\default_sprite_splash.png" }, "73a0903d-d80e-4e3c-aa67-f999543c08f5": { "asset": 1714966328706, - "meta": 1717062584710, + "meta": 1717124728429, "relativePath": "image\\default_toggle_checkmark.png" }, "d29077ba-1627-4a72-9579-7b56a235340c": { "asset": 1714966328706, - "meta": 1717062584717, + "meta": 1717124728421, "relativePath": "image\\default_toggle_normal.png" }, "b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": { "asset": 1714966328706, - "meta": 1717062584713, + "meta": 1717124728432, "relativePath": "image\\default_toggle_pressed.png" }, "c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": { "asset": 1714966328706, - "meta": 1717062584727, + "meta": 1717124728427, "relativePath": "image\\default_toggle_disabled.png" }, "954fec8b-cd16-4bb9-a3b7-7719660e7558": { "asset": 1714966328737, - "meta": 1717062586635, + "meta": 1717124730833, "relativePath": "model\\primitives.fbx" }, "41ff2622-6092-4155-95fb-636454d00701": { @@ -769,11 +754,6 @@ "meta": 1716457544852, "relativePath": "music\\score.mp3" }, - "bd9f7f17-383e-4f98-b4e3-936acb6018b3": { - "asset": 1716457626335, - "meta": 1716457657657, - "relativePath": "Script\\BallAudioManager.js" - }, "ca0f9934-a015-436e-9402-f8e30d4c5de6": { "asset": 1716539551895, "meta": 1716539556737, @@ -804,11 +784,6 @@ "meta": 1716541793471, "relativePath": "resources\\guang.png" }, - "3fd2f87a-bc73-4978-8494-8b35b4f716ad": { - "asset": 1716542146221, - "meta": 1716542146893, - "relativePath": "Script\\GuideManager.ts" - }, "1936101e-d078-4d98-ad65-0861a6427b1b": { "asset": 1716543810607, "meta": 1716543818542, @@ -820,15 +795,10 @@ "relativePath": "resources\\20240524-174503.png" }, "4eaf518b-35ec-4262-928d-4d497c3f2830": { - "asset": 1716777194504, - "meta": 1716777194515, + "asset": 1717136309187, + "meta": 1717136309194, "relativePath": "Scene\\GameScene.fire" }, - "4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f": { - "asset": 1716548120488, - "meta": 1716548185857, - "relativePath": "Script\\Sun.ts" - }, "1fc00204-78cd-4d9f-b8bb-d393dd8392f9": { "asset": 1714979879932, "meta": 1716549444559, @@ -864,44 +834,59 @@ "meta": 1716861900659, "relativePath": "res\\jiantou.png" }, - "805c69df-dfdf-4759-97ae-5a7341f424c7": { - "asset": 1716889782212, - "meta": 1716889783917, - "relativePath": "Script\\GameOver.ts" - }, "9830733c-b94b-4b60-a687-5cf98680259f": { "asset": 1716953892989, "meta": 1716953893911, "relativePath": "Script\\crypto\\serverAPI.ts" }, "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d": { - "asset": 1717066356585, - "meta": 1717066356596, + "asset": 1717128045682, + "meta": 1717128045692, "relativePath": "Scene\\LoadScene.fire" }, + "454ad829-851a-40ea-8ab9-941e828357ca": { + "asset": 1717124810504, + "meta": 1717124814356, + "relativePath": "Script\\Load.ts" + }, "f2f0b239-3ec5-48fa-8d7c-c45e86f8a55a": { - "asset": 1717058398467, - "meta": 1717058398807, + "asset": 1717125474791, + "meta": 1717125955856, "relativePath": "Script\\GameData.ts" }, - "b0432040-dbde-438c-839c-ba2b5d18a3b5": { - "asset": 1717058598513, - "meta": 1717058605737, - "relativePath": "Script\\GameManager.ts" + "971c4bee-6f80-49a6-aad2-08b3c9f20d55": { + "asset": 1717125204129, + "meta": 1717125956254, + "relativePath": "Script\\tool\\AudioManager.js" + }, + "3fd2f87a-bc73-4978-8494-8b35b4f716ad": { + "asset": 1717126472351, + "meta": 1717127950261, + "relativePath": "Script\\GuideManager.ts" + }, + "e74a9f7d-2031-4e69-bcb2-9998174088b2": { + "asset": 1717128095376, + "meta": 1717128178176, + "relativePath": "Script\\RankManager.ts" }, "7cf8c313-e732-40d1-9538-1a9d0970bf2f": { - "asset": 1717063208498, - "meta": 1717063292263, + "asset": 1717128110405, + "meta": 1717128178182, "relativePath": "Script\\Storage.ts" }, - "e1b90feb-a217-4493-849d-9a611900d683": { - "asset": 1717066714803, - "meta": 1717066715703, - "relativePath": "Script\\Helloworld.ts" + "4be67b1d-91ec-42ca-a2e5-d0d1ddf4dd5f": { + "asset": 1717128516299, + "meta": 1717134862309, + "relativePath": "Script\\Sun.ts" }, - "454ad829-851a-40ea-8ab9-941e828357ca": { - "asset": 1717067786572, - "meta": 1717067786922, - "relativePath": "Script\\Load.ts" + "805c69df-dfdf-4759-97ae-5a7341f424c7": { + "asset": 1717135054805, + "meta": 1717136248368, + "relativePath": "Script\\GameOver.ts" + }, + "b0432040-dbde-438c-839c-ba2b5d18a3b5": { + "asset": 1717137078225, + "meta": 1717137094166, + "relativePath": "Script\\GameManager.ts" } } \ No newline at end of file diff --git a/local/layout.editor.json b/local/layout.editor.json index ef37e0c..f4ac75f 100644 --- a/local/layout.editor.json +++ b/local/layout.editor.json @@ -13,13 +13,13 @@ "type": "dock-h", "children": [ { - "width": 207.28125, + "width": 207.1666717529297, "height": 571, "type": "dock-v", "children": [ { - "width": 207.28125, - "height": 308.13543701171875, + "width": 207.1666717529297, + "height": 307.9895935058594, "type": "panel", "active": 0, "children": [ @@ -27,8 +27,8 @@ ] }, { - "width": 207.28125, - "height": 259.8645935058594, + "width": 207.1666717529297, + "height": 260, "type": "panel", "active": 0, "children": [ @@ -38,7 +38,7 @@ ] }, { - "width": 759.3333740234375, + "width": 759.59375, "height": 571, "type": "panel", "active": 0, @@ -47,7 +47,7 @@ ] }, { - "width": 307.375, + "width": 307.2395935058594, "height": 571, "type": "panel", "active": 0, @@ -85,7 +85,7 @@ "x": 258, "y": 192, "width": 834, - "height": 352 + "height": 350 }, "store": { "x": 124, diff --git a/local/local.json b/local/local.json index 2ab7e95..439d87f 100644 --- a/local/local.json +++ b/local/local.json @@ -1,16 +1,16 @@ { - "last-edit": "2d2f792f-a40c-49bb-a189-ed176a246e49", + "last-edit": "4eaf518b-35ec-4262-928d-4d497c3f2830", "recent-items": [ "40ba7e70-1826-4aa1-92f3-aa63ae39294b", "32254f37-ac95-4912-a787-b8e0429ba0f1", + "2d2f792f-a40c-49bb-a189-ed176a246e49", + "774829bb-123e-48b6-930e-6b3e02491506", + "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", + "3a232388-d8dc-4f79-a1ea-82f6385b7ce2", "5e515837-650e-4584-a089-e2a025e36c39", "13110e4f-3587-4e6b-8811-0ca16cac8149", "d1323772-4ab2-4527-bd20-501fe4fb9723", - "4eaf518b-35ec-4262-928d-4d497c3f2830", - "774829bb-123e-48b6-930e-6b3e02491506", "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5", - "3a232388-d8dc-4f79-a1ea-82f6385b7ce2", - "9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d", - "2d2f792f-a40c-49bb-a189-ed176a246e49" + "4eaf518b-35ec-4262-928d-4d497c3f2830" ] } diff --git a/local/node-tree-state.json b/local/node-tree-state.json index 575d460..b335064 100644 --- a/local/node-tree-state.json +++ b/local/node-tree-state.json @@ -118,7 +118,6 @@ "1b6UU0rTRNtIJigj5zDpnO", "92Bxdq/nxJrKbyHZwa4jwm", "eahu5Qi+RGYbJveL2sjd9E", - "a5esZu+45LA5mBpvttspPD", "c8+DIo6iBFRoHHuMStaRmg", "83fdXjJEdM1rCZghbgf9lv", "ddR9GXKuBKg5J0qSoBz++j", @@ -181,14 +180,27 @@ "a2FE/ArDJMvYxCIXp+aJNs", "d7Go7VAudBuoLS0+DrZ3M2", "5ed3tKYdxCPJ51e/i3ecou", - "beOm6xY9JGcpUIgHepr4za", - "78Sk802p9L/Ip+ZPEFbJnp", - "cfD+6eekJE44Ilk2xG5ORu", - "6bCpWS8ktAfIpBUoWywuvF", "e2e0crkOLxGrpMxpbC4iQg1", "cf4fwLe4hJXLYT5vY7WfC9", "a9Y/TP/QhAdq9i2KGsTC0d", "a1BRwywGFMT6iJxK+nijOf", - "7aHA1K+7hE8YNbYjVirEih" + "7aHA1K+7hE8YNbYjVirEih", + "8ak5WlHVBELqSzRzcpZa3P", + "a2Zfykcl1GPqJhA7ixiKd3", + "10unPSfi1NUb30N1EjhieB", + "791LpnRkFNkqdfpCoJ3Pqk", + "fe7qLOC0RM9qPt+IfQpa5W", + "8fIUbpCjhI5r01JqiMBRub", + "78pYT7vxBK7YbD2aVkC4Kw", + "a5NTB6LZBO4a2Z6RkeebsY", + "a5esZu+45LA5mBpvttspPD", + "411Nmuus1J2b6okQS3uSCm", + "c1+P7wcW9K3oQyAJA29gUv", + "aaIQpgppxE1Lw8V2w48d1u", + "43d8C6FvFMF48NKdshSvDB", + "a5O+jG/8JF/bXXMh61VbrP", + "ecZU+ZNaxJvovWhjTwolW3", + "1eUcABlmZJH62rOyXieYFR", + "9ah+lyxSVO6Jf1EY5aebLK" ] } diff --git a/temp/BackupAssets/assets/Scene/GuideScene.fire b/temp/BackupAssets/assets/Scene/GuideScene.fire index 143e980..c66c139 100644 --- a/temp/BackupAssets/assets/Scene/GuideScene.fire +++ b/temp/BackupAssets/assets/Scene/GuideScene.fire @@ -57,7 +57,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "774829bb-123e-48b6-930e-6b3e02491506" }, { diff --git a/temp/BackupAssets/assets/Scene/LoadScene.fire b/temp/BackupAssets/assets/Scene/LoadScene.fire index 227f4d4..6a53004 100644 --- a/temp/BackupAssets/assets/Scene/LoadScene.fire +++ b/temp/BackupAssets/assets/Scene/LoadScene.fire @@ -136,12 +136,10 @@ "__id__": 2 }, "_enabled": true, - "label": null, - "text": "hello", "_id": "89UAK+FSRBh4q9PzKutGtE" }, { - "__type__": "bd9f78XOD5PmLTjk2rLYBiz", + "__type__": "971c4vub4BJpqrSCLPJ8g1V", "_name": "", "_objFlags": 0, "node": { @@ -161,7 +159,7 @@ "reward": false, "finish": false, "rewardCount": 0, - "_id": "f4nksYNJROS4BnQwsjb5Tr" + "_id": "dbb1mOJilJI5DAHXWGh8XU" }, { "__type__": "cc.Node", @@ -181,25 +179,25 @@ "__id__": 15 }, { - "__id__": 22 + "__id__": 19 }, { - "__id__": 30 + "__id__": 27 }, { - "__id__": 36 + "__id__": 33 } ], "_active": true, "_components": [ { - "__id__": 255 + "__id__": 252 }, { - "__id__": 256 + "__id__": 253 }, { - "__id__": 257 + "__id__": 254 } ], "_prefab": null, @@ -657,18 +655,14 @@ "_parent": { "__id__": 5 }, - "_children": [ - { - "__id__": 16 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 19 + "__id__": 16 }, { - "__id__": 20 + "__id__": 17 } ], "_prefab": null, @@ -719,122 +713,6 @@ "groupIndex": 0, "_id": "fbUHhjpABG74DdpeYzdl/2" }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 15 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 17 - }, - { - "__id__": 18 - } - ], - "_prefab": null, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 376, - "height": 84 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "a7Cbo0XSVPC6+yqwMcKLSX" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "6b74e4c6-15c5-4566-8dd4-fa523a15898b" - } - ], - "_srcBlendFactor": 769, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "16ec87d8-d077-43c9-976d-94b0de683920" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" - }, - "_id": "3d0l1BTrRGtJyAYhq+EV5Q" - }, - { - "__type__": "b48a2ukFF1FlJGSkUcHUIET", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "m_delayTime": 0, - "m_fluxayTime": 1.5, - "m_intervalTime": 1, - "m_scale": 0.4, - "m_angle": 10, - "m_reviseStartTime": 0, - "m_reviseTimeScale": 1, - "_id": "d06hI9j9xAjLq5z880AEMa" - }, { "__type__": "cc.Sprite", "_name": "", @@ -883,7 +761,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 21 + "__id__": 18 } ], "_N$interactable": true, @@ -960,13 +838,13 @@ }, "_children": [ { - "__id__": 23 + "__id__": 20 } ], "_active": false, "_components": [ { - "__id__": 28 + "__id__": 25 } ], "_prefab": null, @@ -1022,20 +900,20 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 22 + "__id__": 19 }, "_children": [ { - "__id__": 24 + "__id__": 21 } ], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 23 }, { - "__id__": 27 + "__id__": 24 } ], "_prefab": null, @@ -1091,13 +969,13 @@ "_name": "Label", "_objFlags": 512, "_parent": { - "__id__": 23 + "__id__": 20 }, "_children": [], "_active": true, "_components": [ { - "__id__": 25 + "__id__": 22 } ], "_prefab": null, @@ -1153,7 +1031,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 24 + "__id__": 21 }, "_enabled": true, "_materials": [ @@ -1186,7 +1064,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 20 }, "_enabled": true, "_materials": [ @@ -1218,7 +1096,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 23 + "__id__": 20 }, "_enabled": true, "alignMode": 0, @@ -1245,7 +1123,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 19 }, "_enabled": true, "_normalMaterial": null, @@ -1254,7 +1132,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 29 + "__id__": 26 } ], "_N$interactable": true, @@ -1320,7 +1198,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 23 + "__id__": 20 }, "_id": "a6Lbjg6z5F5Kn3eBsSkb4V" }, @@ -1343,13 +1221,13 @@ }, "_children": [ { - "__id__": 31 + "__id__": 28 } ], "_active": true, "_components": [ { - "__id__": 34 + "__id__": 31 } ], "_prefab": null, @@ -1405,16 +1283,16 @@ "_name": "Background", "_objFlags": 512, "_parent": { - "__id__": 30 + "__id__": 27 }, "_children": [], "_active": true, "_components": [ { - "__id__": 32 + "__id__": 29 }, { - "__id__": 33 + "__id__": 30 } ], "_prefab": null, @@ -1470,7 +1348,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -1504,7 +1382,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "alignMode": 0, @@ -1531,7 +1409,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 27 }, "_enabled": true, "_normalMaterial": null, @@ -1540,7 +1418,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 35 + "__id__": 32 } ], "_N$interactable": true, @@ -1606,7 +1484,7 @@ "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" }, "_N$target": { - "__id__": 31 + "__id__": 28 }, "_id": "79F7b/WB5F2JOMTqOD3Wq1" }, @@ -1629,118 +1507,118 @@ }, "_children": [ { - "__id__": 37 + "__id__": 34 }, { - "__id__": 39 + "__id__": 36 }, { - "__id__": 41 + "__id__": 38 }, { - "__id__": 47 + "__id__": 44 }, { - "__id__": 53 + "__id__": 50 }, { - "__id__": 59 + "__id__": 56 }, { - "__id__": 65 + "__id__": 62 }, { - "__id__": 71 + "__id__": 68 }, { - "__id__": 77 + "__id__": 74 }, { - "__id__": 83 + "__id__": 80 }, { - "__id__": 89 + "__id__": 86 }, { - "__id__": 95 + "__id__": 92 }, { - "__id__": 101 + "__id__": 98 }, { - "__id__": 107 + "__id__": 104 }, { - "__id__": 113 + "__id__": 110 }, { - "__id__": 119 + "__id__": 116 }, { - "__id__": 125 + "__id__": 122 }, { - "__id__": 131 + "__id__": 128 }, { - "__id__": 137 + "__id__": 134 }, { - "__id__": 143 + "__id__": 140 }, { - "__id__": 149 + "__id__": 146 }, { - "__id__": 155 + "__id__": 152 }, { - "__id__": 161 + "__id__": 158 }, { - "__id__": 167 + "__id__": 164 }, { - "__id__": 173 + "__id__": 170 }, { - "__id__": 179 + "__id__": 176 }, { - "__id__": 185 + "__id__": 182 }, { - "__id__": 191 + "__id__": 188 }, { - "__id__": 197 + "__id__": 194 }, { - "__id__": 203 + "__id__": 200 }, { - "__id__": 209 + "__id__": 206 }, { - "__id__": 215 + "__id__": 212 }, { - "__id__": 221 + "__id__": 218 }, { - "__id__": 227 + "__id__": 224 }, { - "__id__": 233 + "__id__": 230 }, { - "__id__": 239 + "__id__": 236 }, { - "__id__": 245 + "__id__": 242 }, { - "__id__": 251 + "__id__": 248 } ], "_active": false, @@ -1798,13 +1676,13 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 35 } ], "_prefab": null, @@ -1860,7 +1738,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 37 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -1892,13 +1770,13 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 37 } ], "_prefab": null, @@ -1954,7 +1832,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 39 + "__id__": 36 }, "_enabled": true, "_materials": [ @@ -1986,20 +1864,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 42 + "__id__": 39 } ], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 41 }, { - "__id__": 45 + "__id__": 42 } ], "_prefab": null, @@ -2055,13 +1933,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 41 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 43 + "__id__": 40 } ], "_prefab": null, @@ -2117,7 +1995,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -2150,7 +2028,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_materials": [ @@ -2182,7 +2060,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_normalMaterial": null, @@ -2191,7 +2069,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 46 + "__id__": 43 } ], "_N$interactable": true, @@ -2247,7 +2125,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 41 + "__id__": 38 }, "_id": "9atPuDujpGf7JpL56hk8PW" }, @@ -2266,20 +2144,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 48 + "__id__": 45 } ], "_active": true, "_components": [ { - "__id__": 50 + "__id__": 47 }, { - "__id__": 51 + "__id__": 48 } ], "_prefab": null, @@ -2335,13 +2213,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 44 }, "_children": [], "_active": true, "_components": [ { - "__id__": 49 + "__id__": 46 } ], "_prefab": null, @@ -2397,7 +2275,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 48 + "__id__": 45 }, "_enabled": true, "_materials": [ @@ -2430,7 +2308,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 44 }, "_enabled": true, "_materials": [ @@ -2462,7 +2340,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 47 + "__id__": 44 }, "_enabled": true, "_normalMaterial": null, @@ -2471,7 +2349,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 52 + "__id__": 49 } ], "_N$interactable": true, @@ -2527,7 +2405,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 47 + "__id__": 44 }, "_id": "e28O7TPcBMM4zZMWd0PJHj" }, @@ -2546,20 +2424,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 54 + "__id__": 51 } ], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 53 }, { - "__id__": 57 + "__id__": 54 } ], "_prefab": null, @@ -2615,13 +2493,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 53 + "__id__": 50 }, "_children": [], "_active": true, "_components": [ { - "__id__": 55 + "__id__": 52 } ], "_prefab": null, @@ -2677,7 +2555,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 54 + "__id__": 51 }, "_enabled": true, "_materials": [ @@ -2710,7 +2588,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 50 }, "_enabled": true, "_materials": [ @@ -2742,7 +2620,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 50 }, "_enabled": true, "_normalMaterial": null, @@ -2751,7 +2629,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 58 + "__id__": 55 } ], "_N$interactable": true, @@ -2807,7 +2685,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 53 + "__id__": 50 }, "_id": "e7myKHg99ATKcx0BJHQfkS" }, @@ -2826,20 +2704,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 60 + "__id__": 57 } ], "_active": true, "_components": [ { - "__id__": 62 + "__id__": 59 }, { - "__id__": 63 + "__id__": 60 } ], "_prefab": null, @@ -2895,13 +2773,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 59 + "__id__": 56 }, "_children": [], "_active": true, "_components": [ { - "__id__": 61 + "__id__": 58 } ], "_prefab": null, @@ -2957,7 +2835,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 60 + "__id__": 57 }, "_enabled": true, "_materials": [ @@ -2990,7 +2868,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 56 }, "_enabled": true, "_materials": [ @@ -3022,7 +2900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 56 }, "_enabled": true, "_normalMaterial": null, @@ -3031,7 +2909,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 64 + "__id__": 61 } ], "_N$interactable": true, @@ -3087,7 +2965,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 59 + "__id__": 56 }, "_id": "f0VrSTnI5Bg6B/Ts9KUsfs" }, @@ -3106,20 +2984,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 66 + "__id__": 63 } ], "_active": true, "_components": [ { - "__id__": 68 + "__id__": 65 }, { - "__id__": 69 + "__id__": 66 } ], "_prefab": null, @@ -3175,13 +3053,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 62 }, "_children": [], "_active": true, "_components": [ { - "__id__": 67 + "__id__": 64 } ], "_prefab": null, @@ -3237,7 +3115,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 66 + "__id__": 63 }, "_enabled": true, "_materials": [ @@ -3270,7 +3148,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_materials": [ @@ -3302,7 +3180,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_normalMaterial": null, @@ -3311,7 +3189,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 70 + "__id__": 67 } ], "_N$interactable": true, @@ -3367,7 +3245,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 65 + "__id__": 62 }, "_id": "a09YOkZyhJHYj18zpcijBO" }, @@ -3386,20 +3264,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 72 + "__id__": 69 } ], "_active": true, "_components": [ { - "__id__": 74 + "__id__": 71 }, { - "__id__": 75 + "__id__": 72 } ], "_prefab": null, @@ -3455,13 +3333,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 68 }, "_children": [], "_active": true, "_components": [ { - "__id__": 73 + "__id__": 70 } ], "_prefab": null, @@ -3517,7 +3395,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 72 + "__id__": 69 }, "_enabled": true, "_materials": [ @@ -3550,7 +3428,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 68 }, "_enabled": true, "_materials": [ @@ -3582,7 +3460,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 68 }, "_enabled": true, "_normalMaterial": null, @@ -3591,7 +3469,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 76 + "__id__": 73 } ], "_N$interactable": true, @@ -3647,7 +3525,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 71 + "__id__": 68 }, "_id": "b3+cthiN9M/5KRbLTOp8ko" }, @@ -3666,20 +3544,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 78 + "__id__": 75 } ], "_active": true, "_components": [ { - "__id__": 80 + "__id__": 77 }, { - "__id__": 81 + "__id__": 78 } ], "_prefab": null, @@ -3735,13 +3613,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 77 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 79 + "__id__": 76 } ], "_prefab": null, @@ -3797,7 +3675,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 78 + "__id__": 75 }, "_enabled": true, "_materials": [ @@ -3830,7 +3708,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 74 }, "_enabled": true, "_materials": [ @@ -3862,7 +3740,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 74 }, "_enabled": true, "_normalMaterial": null, @@ -3871,7 +3749,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 82 + "__id__": 79 } ], "_N$interactable": true, @@ -3927,7 +3805,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 77 + "__id__": 74 }, "_id": "a91G0F1ztEkLM2gjPT+VaU" }, @@ -3946,20 +3824,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 84 + "__id__": 81 } ], "_active": true, "_components": [ { - "__id__": 86 + "__id__": 83 }, { - "__id__": 87 + "__id__": 84 } ], "_prefab": null, @@ -4015,13 +3893,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 83 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 85 + "__id__": 82 } ], "_prefab": null, @@ -4077,7 +3955,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 84 + "__id__": 81 }, "_enabled": true, "_materials": [ @@ -4110,7 +3988,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 80 }, "_enabled": true, "_materials": [ @@ -4142,7 +4020,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 80 }, "_enabled": true, "_normalMaterial": null, @@ -4151,7 +4029,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 88 + "__id__": 85 } ], "_N$interactable": true, @@ -4207,7 +4085,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 83 + "__id__": 80 }, "_id": "bevIjnSAJOn5MeW422Y+aw" }, @@ -4226,20 +4104,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 90 + "__id__": 87 } ], "_active": true, "_components": [ { - "__id__": 92 + "__id__": 89 }, { - "__id__": 93 + "__id__": 90 } ], "_prefab": null, @@ -4295,13 +4173,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 89 + "__id__": 86 }, "_children": [], "_active": true, "_components": [ { - "__id__": 91 + "__id__": 88 } ], "_prefab": null, @@ -4357,7 +4235,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 90 + "__id__": 87 }, "_enabled": true, "_materials": [ @@ -4390,7 +4268,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 86 }, "_enabled": true, "_materials": [ @@ -4422,7 +4300,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 86 }, "_enabled": true, "_normalMaterial": null, @@ -4431,7 +4309,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 94 + "__id__": 91 } ], "_N$interactable": true, @@ -4487,7 +4365,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 89 + "__id__": 86 }, "_id": "14oKZTFmZFJIH5LApG6gCz" }, @@ -4506,20 +4384,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 96 + "__id__": 93 } ], "_active": true, "_components": [ { - "__id__": 98 + "__id__": 95 }, { - "__id__": 99 + "__id__": 96 } ], "_prefab": null, @@ -4575,13 +4453,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 95 + "__id__": 92 }, "_children": [], "_active": true, "_components": [ { - "__id__": 97 + "__id__": 94 } ], "_prefab": null, @@ -4637,7 +4515,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 96 + "__id__": 93 }, "_enabled": true, "_materials": [ @@ -4670,7 +4548,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 92 }, "_enabled": true, "_materials": [ @@ -4702,7 +4580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 95 + "__id__": 92 }, "_enabled": true, "_normalMaterial": null, @@ -4711,7 +4589,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 100 + "__id__": 97 } ], "_N$interactable": true, @@ -4767,7 +4645,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 95 + "__id__": 92 }, "_id": "68ZV0ceh5Lgo1VHyJIhorl" }, @@ -4786,20 +4664,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 102 + "__id__": 99 } ], "_active": true, "_components": [ { - "__id__": 104 + "__id__": 101 }, { - "__id__": 105 + "__id__": 102 } ], "_prefab": null, @@ -4855,13 +4733,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 101 + "__id__": 98 }, "_children": [], "_active": true, "_components": [ { - "__id__": 103 + "__id__": 100 } ], "_prefab": null, @@ -4917,7 +4795,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 102 + "__id__": 99 }, "_enabled": true, "_materials": [ @@ -4950,7 +4828,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 98 }, "_enabled": true, "_materials": [ @@ -4982,7 +4860,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 98 }, "_enabled": true, "_normalMaterial": null, @@ -4991,7 +4869,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 106 + "__id__": 103 } ], "_N$interactable": true, @@ -5047,7 +4925,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 101 + "__id__": 98 }, "_id": "2en+0G+zVI4I027GXsViqq" }, @@ -5066,20 +4944,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 108 + "__id__": 105 } ], "_active": true, "_components": [ { - "__id__": 110 + "__id__": 107 }, { - "__id__": 111 + "__id__": 108 } ], "_prefab": null, @@ -5135,13 +5013,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 107 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 109 + "__id__": 106 } ], "_prefab": null, @@ -5197,7 +5075,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 108 + "__id__": 105 }, "_enabled": true, "_materials": [ @@ -5230,7 +5108,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 104 }, "_enabled": true, "_materials": [ @@ -5262,7 +5140,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 104 }, "_enabled": true, "_normalMaterial": null, @@ -5271,7 +5149,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 112 + "__id__": 109 } ], "_N$interactable": true, @@ -5327,7 +5205,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 107 + "__id__": 104 }, "_id": "fcLcv4F55ILarJcPoEx+3d" }, @@ -5346,20 +5224,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 114 + "__id__": 111 } ], "_active": true, "_components": [ { - "__id__": 116 + "__id__": 113 }, { - "__id__": 117 + "__id__": 114 } ], "_prefab": null, @@ -5415,13 +5293,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 113 + "__id__": 110 }, "_children": [], "_active": true, "_components": [ { - "__id__": 115 + "__id__": 112 } ], "_prefab": null, @@ -5477,7 +5355,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 114 + "__id__": 111 }, "_enabled": true, "_materials": [ @@ -5510,7 +5388,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 110 }, "_enabled": true, "_materials": [ @@ -5542,7 +5420,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 113 + "__id__": 110 }, "_enabled": true, "_normalMaterial": null, @@ -5551,7 +5429,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 118 + "__id__": 115 } ], "_N$interactable": true, @@ -5607,7 +5485,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 113 + "__id__": 110 }, "_id": "aafQu13+ZHxb8tVZapcd2n" }, @@ -5626,20 +5504,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 120 + "__id__": 117 } ], "_active": true, "_components": [ { - "__id__": 122 + "__id__": 119 }, { - "__id__": 123 + "__id__": 120 } ], "_prefab": null, @@ -5695,13 +5573,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 119 + "__id__": 116 }, "_children": [], "_active": true, "_components": [ { - "__id__": 121 + "__id__": 118 } ], "_prefab": null, @@ -5757,7 +5635,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 120 + "__id__": 117 }, "_enabled": true, "_materials": [ @@ -5790,7 +5668,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 119 + "__id__": 116 }, "_enabled": true, "_materials": [ @@ -5822,7 +5700,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 119 + "__id__": 116 }, "_enabled": true, "_normalMaterial": null, @@ -5831,7 +5709,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 124 + "__id__": 121 } ], "_N$interactable": true, @@ -5887,7 +5765,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 119 + "__id__": 116 }, "_id": "50IFJGWB1FWqZIYeWB3oFG" }, @@ -5906,20 +5784,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 126 + "__id__": 123 } ], "_active": true, "_components": [ { - "__id__": 128 + "__id__": 125 }, { - "__id__": 129 + "__id__": 126 } ], "_prefab": null, @@ -5975,13 +5853,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 125 + "__id__": 122 }, "_children": [], "_active": true, "_components": [ { - "__id__": 127 + "__id__": 124 } ], "_prefab": null, @@ -6037,7 +5915,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 126 + "__id__": 123 }, "_enabled": true, "_materials": [ @@ -6070,7 +5948,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 122 }, "_enabled": true, "_materials": [ @@ -6102,7 +5980,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 125 + "__id__": 122 }, "_enabled": true, "_normalMaterial": null, @@ -6111,7 +5989,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 130 + "__id__": 127 } ], "_N$interactable": true, @@ -6167,7 +6045,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 125 + "__id__": 122 }, "_id": "e8gF8YFdxOj5+BJEEdu9h0" }, @@ -6186,20 +6064,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 132 + "__id__": 129 } ], "_active": true, "_components": [ { - "__id__": 134 + "__id__": 131 }, { - "__id__": 135 + "__id__": 132 } ], "_prefab": null, @@ -6255,13 +6133,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 131 + "__id__": 128 }, "_children": [], "_active": true, "_components": [ { - "__id__": 133 + "__id__": 130 } ], "_prefab": null, @@ -6317,7 +6195,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 132 + "__id__": 129 }, "_enabled": true, "_materials": [ @@ -6350,7 +6228,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 131 + "__id__": 128 }, "_enabled": true, "_materials": [ @@ -6382,7 +6260,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 131 + "__id__": 128 }, "_enabled": true, "_normalMaterial": null, @@ -6391,7 +6269,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 136 + "__id__": 133 } ], "_N$interactable": true, @@ -6447,7 +6325,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 131 + "__id__": 128 }, "_id": "9bFxBleHNANr+nSLnGJeDT" }, @@ -6466,20 +6344,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 138 + "__id__": 135 } ], "_active": true, "_components": [ { - "__id__": 140 + "__id__": 137 }, { - "__id__": 141 + "__id__": 138 } ], "_prefab": null, @@ -6535,13 +6413,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 137 + "__id__": 134 }, "_children": [], "_active": true, "_components": [ { - "__id__": 139 + "__id__": 136 } ], "_prefab": null, @@ -6597,7 +6475,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 138 + "__id__": 135 }, "_enabled": true, "_materials": [ @@ -6630,7 +6508,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 137 + "__id__": 134 }, "_enabled": true, "_materials": [ @@ -6662,7 +6540,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 137 + "__id__": 134 }, "_enabled": true, "_normalMaterial": null, @@ -6671,7 +6549,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 142 + "__id__": 139 } ], "_N$interactable": true, @@ -6727,7 +6605,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 137 + "__id__": 134 }, "_id": "5fGP361SBNqofKz3J5kEQC" }, @@ -6746,20 +6624,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 144 + "__id__": 141 } ], "_active": true, "_components": [ { - "__id__": 146 + "__id__": 143 }, { - "__id__": 147 + "__id__": 144 } ], "_prefab": null, @@ -6815,13 +6693,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 143 + "__id__": 140 }, "_children": [], "_active": true, "_components": [ { - "__id__": 145 + "__id__": 142 } ], "_prefab": null, @@ -6877,7 +6755,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 144 + "__id__": 141 }, "_enabled": true, "_materials": [ @@ -6910,7 +6788,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 140 }, "_enabled": true, "_materials": [ @@ -6942,7 +6820,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 140 }, "_enabled": true, "_normalMaterial": null, @@ -6951,7 +6829,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 148 + "__id__": 145 } ], "_N$interactable": true, @@ -7007,7 +6885,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 143 + "__id__": 140 }, "_id": "492u/xS+1MRZAdJJ1qxzzJ" }, @@ -7026,20 +6904,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 150 + "__id__": 147 } ], "_active": true, "_components": [ { - "__id__": 152 + "__id__": 149 }, { - "__id__": 153 + "__id__": 150 } ], "_prefab": null, @@ -7095,13 +6973,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 149 + "__id__": 146 }, "_children": [], "_active": true, "_components": [ { - "__id__": 151 + "__id__": 148 } ], "_prefab": null, @@ -7157,7 +7035,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 150 + "__id__": 147 }, "_enabled": true, "_materials": [ @@ -7190,7 +7068,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 146 }, "_enabled": true, "_materials": [ @@ -7222,7 +7100,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 146 }, "_enabled": true, "_normalMaterial": null, @@ -7231,7 +7109,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 154 + "__id__": 151 } ], "_N$interactable": true, @@ -7287,7 +7165,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 149 + "__id__": 146 }, "_id": "eeNz2KyitJdqieZJD/Xx9X" }, @@ -7306,20 +7184,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 156 + "__id__": 153 } ], "_active": true, "_components": [ { - "__id__": 158 + "__id__": 155 }, { - "__id__": 159 + "__id__": 156 } ], "_prefab": null, @@ -7375,13 +7253,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 155 + "__id__": 152 }, "_children": [], "_active": true, "_components": [ { - "__id__": 157 + "__id__": 154 } ], "_prefab": null, @@ -7437,7 +7315,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 156 + "__id__": 153 }, "_enabled": true, "_materials": [ @@ -7470,7 +7348,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 155 + "__id__": 152 }, "_enabled": true, "_materials": [ @@ -7502,7 +7380,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 155 + "__id__": 152 }, "_enabled": true, "_normalMaterial": null, @@ -7511,7 +7389,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 160 + "__id__": 157 } ], "_N$interactable": true, @@ -7567,7 +7445,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 155 + "__id__": 152 }, "_id": "9ebB2BB1RMTKLqlWXpa28x" }, @@ -7586,20 +7464,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 162 + "__id__": 159 } ], "_active": true, "_components": [ { - "__id__": 164 + "__id__": 161 }, { - "__id__": 165 + "__id__": 162 } ], "_prefab": null, @@ -7655,13 +7533,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 161 + "__id__": 158 }, "_children": [], "_active": true, "_components": [ { - "__id__": 163 + "__id__": 160 } ], "_prefab": null, @@ -7717,7 +7595,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 162 + "__id__": 159 }, "_enabled": true, "_materials": [ @@ -7750,7 +7628,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 161 + "__id__": 158 }, "_enabled": true, "_materials": [ @@ -7782,7 +7660,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 161 + "__id__": 158 }, "_enabled": true, "_normalMaterial": null, @@ -7791,7 +7669,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 166 + "__id__": 163 } ], "_N$interactable": true, @@ -7847,7 +7725,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 161 + "__id__": 158 }, "_id": "f0m9Y1KzFONI3nagtLwjqm" }, @@ -7866,20 +7744,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 168 + "__id__": 165 } ], "_active": true, "_components": [ { - "__id__": 170 + "__id__": 167 }, { - "__id__": 171 + "__id__": 168 } ], "_prefab": null, @@ -7935,13 +7813,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 167 + "__id__": 164 }, "_children": [], "_active": true, "_components": [ { - "__id__": 169 + "__id__": 166 } ], "_prefab": null, @@ -7997,7 +7875,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 168 + "__id__": 165 }, "_enabled": true, "_materials": [ @@ -8030,7 +7908,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 164 }, "_enabled": true, "_materials": [ @@ -8062,7 +7940,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 164 }, "_enabled": true, "_normalMaterial": null, @@ -8071,7 +7949,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 172 + "__id__": 169 } ], "_N$interactable": true, @@ -8127,7 +8005,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 167 + "__id__": 164 }, "_id": "1dks4O6C1JYIpJ2tD09Iu7" }, @@ -8146,20 +8024,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 174 + "__id__": 171 } ], "_active": true, "_components": [ { - "__id__": 176 + "__id__": 173 }, { - "__id__": 177 + "__id__": 174 } ], "_prefab": null, @@ -8215,13 +8093,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 173 + "__id__": 170 }, "_children": [], "_active": true, "_components": [ { - "__id__": 175 + "__id__": 172 } ], "_prefab": null, @@ -8277,7 +8155,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 174 + "__id__": 171 }, "_enabled": true, "_materials": [ @@ -8310,7 +8188,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 173 + "__id__": 170 }, "_enabled": true, "_materials": [ @@ -8342,7 +8220,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 173 + "__id__": 170 }, "_enabled": true, "_normalMaterial": null, @@ -8351,7 +8229,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 178 + "__id__": 175 } ], "_N$interactable": true, @@ -8407,7 +8285,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 173 + "__id__": 170 }, "_id": "a0HX8uFuVKjLjj/qLuBqMx" }, @@ -8426,20 +8304,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 180 + "__id__": 177 } ], "_active": true, "_components": [ { - "__id__": 182 + "__id__": 179 }, { - "__id__": 183 + "__id__": 180 } ], "_prefab": null, @@ -8495,13 +8373,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 179 + "__id__": 176 }, "_children": [], "_active": true, "_components": [ { - "__id__": 181 + "__id__": 178 } ], "_prefab": null, @@ -8557,7 +8435,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 180 + "__id__": 177 }, "_enabled": true, "_materials": [ @@ -8590,7 +8468,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 179 + "__id__": 176 }, "_enabled": true, "_materials": [ @@ -8622,7 +8500,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 179 + "__id__": 176 }, "_enabled": true, "_normalMaterial": null, @@ -8631,7 +8509,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 184 + "__id__": 181 } ], "_N$interactable": true, @@ -8687,7 +8565,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 179 + "__id__": 176 }, "_id": "aeyKAFfjhJHI54enYkiQ7H" }, @@ -8706,20 +8584,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 186 + "__id__": 183 } ], "_active": true, "_components": [ { - "__id__": 188 + "__id__": 185 }, { - "__id__": 189 + "__id__": 186 } ], "_prefab": null, @@ -8775,13 +8653,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 185 + "__id__": 182 }, "_children": [], "_active": true, "_components": [ { - "__id__": 187 + "__id__": 184 } ], "_prefab": null, @@ -8837,7 +8715,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 186 + "__id__": 183 }, "_enabled": true, "_materials": [ @@ -8870,7 +8748,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 182 }, "_enabled": true, "_materials": [ @@ -8902,7 +8780,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 182 }, "_enabled": true, "_normalMaterial": null, @@ -8911,7 +8789,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 190 + "__id__": 187 } ], "_N$interactable": true, @@ -8967,7 +8845,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 185 + "__id__": 182 }, "_id": "c8AeKs2aBAt7Zk90C4xbua" }, @@ -8986,20 +8864,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 192 + "__id__": 189 } ], "_active": true, "_components": [ { - "__id__": 194 + "__id__": 191 }, { - "__id__": 195 + "__id__": 192 } ], "_prefab": null, @@ -9055,13 +8933,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 191 + "__id__": 188 }, "_children": [], "_active": true, "_components": [ { - "__id__": 193 + "__id__": 190 } ], "_prefab": null, @@ -9117,7 +8995,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 192 + "__id__": 189 }, "_enabled": true, "_materials": [ @@ -9150,7 +9028,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 188 }, "_enabled": true, "_materials": [ @@ -9182,7 +9060,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 188 }, "_enabled": true, "_normalMaterial": null, @@ -9191,7 +9069,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 196 + "__id__": 193 } ], "_N$interactable": true, @@ -9247,7 +9125,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 191 + "__id__": 188 }, "_id": "f8i424vd1PGY6uaZTXTsKo" }, @@ -9266,20 +9144,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 198 + "__id__": 195 } ], "_active": true, "_components": [ { - "__id__": 200 + "__id__": 197 }, { - "__id__": 201 + "__id__": 198 } ], "_prefab": null, @@ -9335,13 +9213,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 197 + "__id__": 194 }, "_children": [], "_active": true, "_components": [ { - "__id__": 199 + "__id__": 196 } ], "_prefab": null, @@ -9397,7 +9275,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 198 + "__id__": 195 }, "_enabled": true, "_materials": [ @@ -9430,7 +9308,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 197 + "__id__": 194 }, "_enabled": true, "_materials": [ @@ -9462,7 +9340,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 197 + "__id__": 194 }, "_enabled": true, "_normalMaterial": null, @@ -9471,7 +9349,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 202 + "__id__": 199 } ], "_N$interactable": true, @@ -9527,7 +9405,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 197 + "__id__": 194 }, "_id": "d8xaiqyHRO3qjmHJAAyMVi" }, @@ -9546,20 +9424,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 204 + "__id__": 201 } ], "_active": true, "_components": [ { - "__id__": 206 + "__id__": 203 }, { - "__id__": 207 + "__id__": 204 } ], "_prefab": null, @@ -9615,13 +9493,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 203 + "__id__": 200 }, "_children": [], "_active": true, "_components": [ { - "__id__": 205 + "__id__": 202 } ], "_prefab": null, @@ -9677,7 +9555,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 204 + "__id__": 201 }, "_enabled": true, "_materials": [ @@ -9710,7 +9588,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 200 }, "_enabled": true, "_materials": [ @@ -9742,7 +9620,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 200 }, "_enabled": true, "_normalMaterial": null, @@ -9751,7 +9629,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 208 + "__id__": 205 } ], "_N$interactable": true, @@ -9807,7 +9685,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 203 + "__id__": 200 }, "_id": "89LqCBIi5Dy4O15VlWt8QI" }, @@ -9826,20 +9704,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 210 + "__id__": 207 } ], "_active": true, "_components": [ { - "__id__": 212 + "__id__": 209 }, { - "__id__": 213 + "__id__": 210 } ], "_prefab": null, @@ -9895,13 +9773,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 209 + "__id__": 206 }, "_children": [], "_active": true, "_components": [ { - "__id__": 211 + "__id__": 208 } ], "_prefab": null, @@ -9957,7 +9835,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 210 + "__id__": 207 }, "_enabled": true, "_materials": [ @@ -9990,7 +9868,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 209 + "__id__": 206 }, "_enabled": true, "_materials": [ @@ -10022,7 +9900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 209 + "__id__": 206 }, "_enabled": true, "_normalMaterial": null, @@ -10031,7 +9909,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 214 + "__id__": 211 } ], "_N$interactable": true, @@ -10087,7 +9965,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 209 + "__id__": 206 }, "_id": "25j/mznoNCZY36yaujDiZT" }, @@ -10106,20 +9984,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 216 + "__id__": 213 } ], "_active": true, "_components": [ { - "__id__": 218 + "__id__": 215 }, { - "__id__": 219 + "__id__": 216 } ], "_prefab": null, @@ -10175,13 +10053,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 215 + "__id__": 212 }, "_children": [], "_active": true, "_components": [ { - "__id__": 217 + "__id__": 214 } ], "_prefab": null, @@ -10237,7 +10115,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 216 + "__id__": 213 }, "_enabled": true, "_materials": [ @@ -10270,7 +10148,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 212 }, "_enabled": true, "_materials": [ @@ -10302,7 +10180,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 212 }, "_enabled": true, "_normalMaterial": null, @@ -10311,7 +10189,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 220 + "__id__": 217 } ], "_N$interactable": true, @@ -10367,7 +10245,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 215 + "__id__": 212 }, "_id": "8bUwvu2XlPZ6sNwewjqmgF" }, @@ -10386,20 +10264,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 222 + "__id__": 219 } ], "_active": true, "_components": [ { - "__id__": 224 + "__id__": 221 }, { - "__id__": 225 + "__id__": 222 } ], "_prefab": null, @@ -10455,13 +10333,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 221 + "__id__": 218 }, "_children": [], "_active": true, "_components": [ { - "__id__": 223 + "__id__": 220 } ], "_prefab": null, @@ -10517,7 +10395,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 222 + "__id__": 219 }, "_enabled": true, "_materials": [ @@ -10550,7 +10428,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 221 + "__id__": 218 }, "_enabled": true, "_materials": [ @@ -10582,7 +10460,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 221 + "__id__": 218 }, "_enabled": true, "_normalMaterial": null, @@ -10591,7 +10469,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 226 + "__id__": 223 } ], "_N$interactable": true, @@ -10647,7 +10525,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 221 + "__id__": 218 }, "_id": "3151oR5TZEoqJQm/Xkotpg" }, @@ -10666,20 +10544,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 228 + "__id__": 225 } ], "_active": true, "_components": [ { - "__id__": 230 + "__id__": 227 }, { - "__id__": 231 + "__id__": 228 } ], "_prefab": null, @@ -10735,13 +10613,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 227 + "__id__": 224 }, "_children": [], "_active": true, "_components": [ { - "__id__": 229 + "__id__": 226 } ], "_prefab": null, @@ -10797,7 +10675,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 228 + "__id__": 225 }, "_enabled": true, "_materials": [ @@ -10830,7 +10708,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 227 + "__id__": 224 }, "_enabled": true, "_materials": [ @@ -10862,7 +10740,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 227 + "__id__": 224 }, "_enabled": true, "_normalMaterial": null, @@ -10871,7 +10749,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 232 + "__id__": 229 } ], "_N$interactable": true, @@ -10927,7 +10805,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 227 + "__id__": 224 }, "_id": "58RTQYo/pCXo+GDAVYXeHE" }, @@ -10946,20 +10824,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 234 + "__id__": 231 } ], "_active": true, "_components": [ { - "__id__": 236 + "__id__": 233 }, { - "__id__": 237 + "__id__": 234 } ], "_prefab": null, @@ -11015,13 +10893,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 233 + "__id__": 230 }, "_children": [], "_active": true, "_components": [ { - "__id__": 235 + "__id__": 232 } ], "_prefab": null, @@ -11077,7 +10955,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 234 + "__id__": 231 }, "_enabled": true, "_materials": [ @@ -11110,7 +10988,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 233 + "__id__": 230 }, "_enabled": true, "_materials": [ @@ -11142,7 +11020,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 233 + "__id__": 230 }, "_enabled": true, "_normalMaterial": null, @@ -11151,7 +11029,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 238 + "__id__": 235 } ], "_N$interactable": true, @@ -11207,7 +11085,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 233 + "__id__": 230 }, "_id": "a5tEFqUyFD+aewpN832re3" }, @@ -11226,20 +11104,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 240 + "__id__": 237 } ], "_active": true, "_components": [ { - "__id__": 242 + "__id__": 239 }, { - "__id__": 243 + "__id__": 240 } ], "_prefab": null, @@ -11295,13 +11173,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 239 + "__id__": 236 }, "_children": [], "_active": true, "_components": [ { - "__id__": 241 + "__id__": 238 } ], "_prefab": null, @@ -11357,7 +11235,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 240 + "__id__": 237 }, "_enabled": true, "_materials": [ @@ -11390,7 +11268,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 236 }, "_enabled": true, "_materials": [ @@ -11422,7 +11300,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 236 }, "_enabled": true, "_normalMaterial": null, @@ -11431,7 +11309,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 244 + "__id__": 241 } ], "_N$interactable": true, @@ -11487,7 +11365,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 239 + "__id__": 236 }, "_id": "2eYsDnIV5IEJU90tLqp1fk" }, @@ -11506,20 +11384,20 @@ "_name": "block", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [ { - "__id__": 246 + "__id__": 243 } ], "_active": true, "_components": [ { - "__id__": 248 + "__id__": 245 }, { - "__id__": 249 + "__id__": 246 } ], "_prefab": null, @@ -11575,13 +11453,13 @@ "_name": "New Label", "_objFlags": 0, "_parent": { - "__id__": 245 + "__id__": 242 }, "_children": [], "_active": true, "_components": [ { - "__id__": 247 + "__id__": 244 } ], "_prefab": null, @@ -11637,7 +11515,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 246 + "__id__": 243 }, "_enabled": true, "_materials": [ @@ -11670,7 +11548,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 245 + "__id__": 242 }, "_enabled": true, "_materials": [ @@ -11702,7 +11580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 245 + "__id__": 242 }, "_enabled": true, "_normalMaterial": null, @@ -11711,7 +11589,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 250 + "__id__": 247 } ], "_N$interactable": true, @@ -11767,7 +11645,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 245 + "__id__": 242 }, "_id": "edIND0fB1P64VuNg51ugjO" }, @@ -11786,16 +11664,16 @@ "_name": "New Sprite", "_objFlags": 0, "_parent": { - "__id__": 36 + "__id__": 33 }, "_children": [], "_active": true, "_components": [ { - "__id__": 252 + "__id__": 249 }, { - "__id__": 253 + "__id__": 250 } ], "_prefab": null, @@ -11851,7 +11729,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 251 + "__id__": 248 }, "_enabled": true, "_materials": [ @@ -11885,7 +11763,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 251 + "__id__": 248 }, "_enabled": true, "_normalMaterial": null, @@ -11894,7 +11772,7 @@ "zoomScale": 1.2, "clickEvents": [ { - "__id__": 254 + "__id__": 251 } ], "_N$interactable": true, @@ -11950,7 +11828,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 251 + "__id__": 248 }, "_id": "15MwQHwkBCIJzp1FEjHkP/" }, @@ -12016,8 +11894,6 @@ "__id__": 5 }, "_enabled": true, - "label": null, - "text": "hello", "_id": "50zCP3Mq9MKIKjMbohPY8j" } ] \ No newline at end of file diff --git a/temp/BackupAssets/assets/Scene/OverScene.fire b/temp/BackupAssets/assets/Scene/OverScene.fire index 9af69fd..b6547f1 100644 --- a/temp/BackupAssets/assets/Scene/OverScene.fire +++ b/temp/BackupAssets/assets/Scene/OverScene.fire @@ -57,7 +57,7 @@ "_is3DNode": true, "_groupIndex": 0, "groupIndex": 0, - "autoReleaseAssets": false, + "autoReleaseAssets": true, "_id": "4b9c5a7e-c645-48a4-9aca-5df381ce4ef5" }, { diff --git a/temp/BackupAssets/assets/prefab/qiu1.prefab b/temp/BackupAssets/assets/prefab/qiu1.prefab index 47b50d9..027d3a6 100644 --- a/temp/BackupAssets/assets/prefab/qiu1.prefab +++ b/temp/BackupAssets/assets/prefab/qiu1.prefab @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/temp/BackupAssets/assets/prefab/qiu2.prefab b/temp/BackupAssets/assets/prefab/qiu2.prefab index 40a9021..665827a 100644 --- a/temp/BackupAssets/assets/prefab/qiu2.prefab +++ b/temp/BackupAssets/assets/prefab/qiu2.prefab @@ -504,7 +504,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "ef727dee-a0c6-4dad-b1d5-66f42b7d5ee1" + "__uuid__": "281a0d00-f17d-491e-9627-6c7f6f648cd5" }, "_type": 0, "_sizeMode": 1, @@ -517,9 +517,7 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" - }, + "_atlas": null, "_id": "" }, { @@ -742,7 +740,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "ef727dee-a0c6-4dad-b1d5-66f42b7d5ee1" + "__uuid__": "281a0d00-f17d-491e-9627-6c7f6f648cd5" }, "_type": 0, "_sizeMode": 1, @@ -755,9 +753,7 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "f683b01d-4d4a-4b64-a054-741e0785d512" - }, + "_atlas": null, "_id": "" }, { @@ -971,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/temp/BackupAssets/assets/prefab/qiu3.prefab b/temp/BackupAssets/assets/prefab/qiu3.prefab index 3cb8114..c06e205 100644 --- a/temp/BackupAssets/assets/prefab/qiu3.prefab +++ b/temp/BackupAssets/assets/prefab/qiu3.prefab @@ -967,7 +967,7 @@ "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", "handler": "clickBtn", - "customEventData": "" + "customEventData": "1" }, { "__type__": "cc.PrefabInfo", diff --git a/temp/BackupAssets/assets/prefab/qiu4.prefab b/temp/BackupAssets/assets/prefab/qiu4.prefab index 1b06477..aa3f1fa 100644 --- a/temp/BackupAssets/assets/prefab/qiu4.prefab +++ b/temp/BackupAssets/assets/prefab/qiu4.prefab @@ -856,8 +856,8 @@ }, "component": "", "_componentId": "4be67sdkexCyqLl0NHd9N1f", - "handler": "clickBtn2", - "customEventData": "" + "handler": "clickBtn", + "customEventData": "2" }, { "__type__": "cc.PrefabInfo", diff --git a/assets/Script/BallAudioManager.js.meta b/temp/RemovedMetas/Script/BallAudioManager.js.meta similarity index 100% rename from assets/Script/BallAudioManager.js.meta rename to temp/RemovedMetas/Script/BallAudioManager.js.meta diff --git a/assets/Script/CtrlFluxayTexture.js.meta b/temp/RemovedMetas/Script/CtrlFluxayTexture.js.meta similarity index 100% rename from assets/Script/CtrlFluxayTexture.js.meta rename to temp/RemovedMetas/Script/CtrlFluxayTexture.js.meta diff --git a/assets/Script/Helloworld.ts.meta b/temp/RemovedMetas/Script/Helloworld.ts.meta similarity index 100% rename from assets/Script/Helloworld.ts.meta rename to temp/RemovedMetas/Script/Helloworld.ts.meta diff --git a/temp/quick-scripts/dst/__file_stats__.json b/temp/quick-scripts/dst/__file_stats__.json index e8ffd5c..fb3f333 100644 --- a/temp/quick-scripts/dst/__file_stats__.json +++ b/temp/quick-scripts/dst/__file_stats__.json @@ -1 +1 @@ -{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-05-30T10:01:32.316Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/ItemRender.js":"2024-05-30T09:49:46.892Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-05-30T09:49:46.876Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-05-30T09:49:46.883Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-05-30T09:49:46.884Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/serverAPI.js":"2024-05-30T09:49:46.885Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/DynamicAtlasManager.js":"2024-05-30T09:49:46.878Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Storage.js":"2024-05-30T10:01:32.291Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/test.js":"2024-05-30T09:49:46.898Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-05-30T09:49:46.880Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Helloworld.js":"2024-05-30T09:49:46.894Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/BallAudioManager.js":"2024-05-30T09:49:46.890Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameData.js":"2024-05-30T09:49:46.897Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/List.js":"2024-05-30T09:49:46.893Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/Shake.js":"2024-05-30T09:49:46.881Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-05-30T09:49:46.887Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-05-30T10:01:32.265Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Notification.js":"2024-05-30T09:49:46.896Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/GameTool.js":"2024-05-30T09:49:46.886Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js":"2024-05-30T09:49:46.888Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/crypto-js.min.js":"2024-05-30T09:49:46.895Z"}} +{"version":"1.0.8","stats":{"C:/Work/Project/Sun_moves/temp/quick-scripts/src/__qc_index__.js":"2024-05-31T04:01:01.151Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/ItemRender.js":"2024-05-31T03:05:31.347Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameOver.js":"2024-05-31T03:05:31.338Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/serverAPI.js":"2024-05-31T03:05:31.340Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js":"2024-05-31T03:05:31.336Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GuideManager.js":"2024-05-31T03:59:10.293Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/DynamicAtlasManager.js":"2024-05-31T03:05:31.327Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Helloworld.js":"2024-05-31T03:05:31.350Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameData.js":"2024-05-31T03:25:56.295Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Load.js":"2024-05-31T03:06:54.359Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Notification.js":"2024-05-31T03:05:31.353Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/BallAudioManager.js":"2024-05-31T03:05:31.346Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/GameManager.js":"2024-05-31T03:25:56.329Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js":"2024-05-31T03:05:31.344Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/Shake.js":"2024-05-31T03:05:31.334Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/test.js":"2024-05-31T03:05:31.356Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Sun.js":"2024-05-31T03:05:31.333Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/Storage.js":"2024-05-31T03:05:31.337Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/GameTool.js":"2024-05-31T03:05:31.341Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/ListView/List.js":"2024-05-31T03:05:31.348Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/crypto/crypto-js.min.js":"2024-05-31T03:05:31.351Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/RankManager.js":"2024-05-31T03:59:10.309Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/AudioManager.js":"2024-05-31T03:25:56.512Z","C:/Work/Project/Sun_moves/temp/quick-scripts/src/assets/Script/tool/AudioManager.js":"2024-05-31T03:29:13.491Z"}} diff --git a/temp/quick-scripts/dst/__qc_bundle__.js b/temp/quick-scripts/dst/__qc_bundle__.js index 3bf4742..d0402c4 100644 --- a/temp/quick-scripts/dst/__qc_bundle__.js +++ b/temp/quick-scripts/dst/__qc_bundle__.js @@ -10,22 +10,20 @@ }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);} -require('./assets/Script/BallAudioManager'); -require('./assets/Script/CtrlFluxayTexture'); require('./assets/Script/GameData'); require('./assets/Script/GameManager'); require('./assets/Script/GameOver'); require('./assets/Script/GuideManager'); -require('./assets/Script/Helloworld'); require('./assets/Script/ListView/ItemRender'); require('./assets/Script/ListView/List'); require('./assets/Script/Load'); require('./assets/Script/Notification'); +require('./assets/Script/RankManager'); require('./assets/Script/Storage'); require('./assets/Script/Sun'); require('./assets/Script/crypto/crypto-js.min'); require('./assets/Script/crypto/serverAPI'); -require('./assets/Script/test'); +require('./assets/Script/tool/AudioManager'); require('./assets/Script/tool/DynamicAtlasManager'); require('./assets/Script/tool/GameTool'); require('./assets/Script/tool/Shake'); @@ -169,450 +167,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMaXN0Vmlld1xcSXRlbVJlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTSxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUc1QztJQUF3Qyw4QkFBWTtJQUFwRDtRQUFBLHFFQXFFQztRQXBFRyxRQUFRO1FBQ0QsVUFBSSxHQUFPLElBQUksQ0FBQztRQUN2QixjQUFjO1FBQ1AsZUFBUyxHQUFVLENBQUMsQ0FBQzs7SUFpRWhDLENBQUM7SUEvREcsYUFBYTtJQUNOLGdDQUFXLEdBQWxCO1FBQ0ksSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFB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QUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLEVBQUMsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDbkUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ25FLElBQUksTUFBTSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakQsNENBQTRDO2FBQy9DO2lCQUNHO2dCQUNBLDZCQUE2QjtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFsRWdCLFVBQVU7UUFEOUIsT0FBTztPQUNhLFVBQVUsQ0FxRTlCO0lBQUQsaUJBQUM7Q0FyRUQsQUFxRUMsQ0FyRXVDLEVBQUUsQ0FBQyxTQUFTLEdBcUVuRDtrQkFyRW9CLFVBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirmlbDmja7mlLnlj5jml7bosIPnlKggKi9cclxuICAgIHB1YmxpYyBkYXRhQ2hhbmdlZCgpe1xyXG4gICAgICAgIGlmKHRoaXMuZGF0YS5uYW1lLmxlbmd0aCA+IDYpe1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEubmFtZSA9IHRoaXMuZGF0YS5uYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5kYXRhLnJhbmsgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEubmFtZSArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEudG90YWwgKyBcIlwiO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5kYXRhLnJhbmsgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmRhdGEucmFuayA9PSAyKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBpYygpO1xyXG4gICAgfSAgIFxyXG4gICAgXHJcbiAgICBwdWJsaWMgc2V0UGljKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSBmYWxzZTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5waWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssJ1gtSW5mbzonLCBlcnJObyk7IC8vIOi+k+WHulgtRXJyTm/nmoTlgLxcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLmsqHlpLTlg49cIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuYWN0aXZlPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5yYW5rLFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLorr7nva7lpLTlg4/lpLHotKVcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GuideManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '3fd2fh6vHNJeISUizW09xat', 'GuideManager'); -// Script/GuideManager.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var GameData_1 = require("./GameData"); -var Notification_1 = require("./Notification"); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - // LIFE-CYCLE CALLBACKS: - _this.dialog = null; - _this.ball = null; - _this.qiu1 = null; - _this.linePrefab = null; - return _this; - // update (dt) {} - } - // onLoad () {} - NewClass.prototype.start = function () { - this.custom = 1; - this.init(); - this.startGuide(0); - }; - NewClass.prototype.init = function () { - this.ball.zIndex = 100; - this.Pos_Array = []; - this.ball_Array = []; - this.begin = false; - this.clickNow = 0; - this.tip = null; - }; - NewClass.prototype.startGuide = function (type) { - var _this = this; - var num = this.custom; - var time = 0.5; - var delay = 1.5; - var name = "tip" + num; - if (type != 0) { - cc.tween(this.node) - .to(time, { opacity: 255 }) - .call(function () { - _this.custom += 1; - if (type != 0) - _this.custom = 2; - if (_this.custom == 2) - _this.createSun1(); - else if (_this.custom == 3) - _this.createSun2(); - else if (_this.custom == 4) { - _this.begin = true; - } - else if (_this.custom == 5) - cc.director.loadScene("GameScene"); - }) - .start(); - } - else { - this.tip = this.dialog.getChildByName(name); - this.tip.active = true; - this.tip.opacity = 0; - cc.tween(this.tip) - .to(time, { opacity: 255 }) - .start(); - // cc.tween(tip) - // .to(time,{opacity:255}) - // .delay(delay) - // .to(time,{opacity:0}) - // .call(() =>{ - // this.custom += 1; - // if(type != 0) this.custom = 2; - // if( this.custom == 2) this.createSun1(); - // else if( this.custom == 3) this.createSun2(); - // else if( this.custom == 4) this.begin = true; - // else if( this.custom == 5) cc.director.loadScene("GameScene"); - // }) - // .start(); - } - }; - //创建太阳 - NewClass.prototype.createSun1 = function () { - var _this = this; - this.ball_Array = []; - this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); - var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); - this.ball.opacity = 0; - cc.tween(this.ball) - .to(time1, { position: this.Pos_Array[0] }) - .call(function () { - _this.createBall(0, 0, 0, false); - }) - .delay(1) - .call(function () { - _this.startGuide(0); - }) - .start(); - }; - NewClass.prototype.beginClick = function () { - for (var i = 0; i < this.ball_Array.length; i++) { - this.ball_Array[i].getComponent("Sun").move = false; - } - }; - NewClass.prototype.clickBtn = function () { - cc.director.loadScene("GameScene"); - }; - NewClass.prototype.next = function () { - var _this = this; - var time = 0.5; - cc.tween(this.tip) - .to(time, { opacity: 0 }) - .call(function () { - _this.custom += 1; - // if(type != 0) this.custom = 2; - if (_this.custom == 2) - _this.createSun1(); - else if (_this.custom == 3) - _this.createSun2(); - else if (_this.custom == 4) - _this.begin = true; - else if (_this.custom == 5) - cc.director.loadScene("GameScene"); - }) - .start(); - }; - NewClass.prototype.createSun2 = function () { - var _this = this; - var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); - var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); - this.ball.opacity = 255; - this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); - cc.tween(this.ball) - .to(time2, { position: this.Pos_Array[1] }) - .call(function () { - _this.createBall(1, 0, 0, false); - }) - .delay(0.5) - .call(function () { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); - }) - .to(time3, { position: this.Pos_Array[2] }) - .call(function () { - _this.createBall(2, 0, 0, false); - _this.ball.opacity = 0; - }) - .delay(0.2) - .call(function () { - _this.destroyLine(); - _this.startGuide(0); - }) - .start(); - }; - NewClass.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - ball = cc.instantiate(this.qiu1); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.Pos_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - ball.getComponent("Sun").move = true; - this.ball_Array.push(ball); - }; - NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 800) - distance = 800; - var time = distance / 800 * 0.8; - return time; - }; - //移动创建下一个太阳 - NewClass.prototype.moveSun = function () { - }; - //获胜 - NewClass.prototype.passLevel = function () { - var _this = this; - this.destroyLine(); - var timeArray = []; - var timeCount = 0; - var ball = this.ball_Array[0]; - for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); - timeArray.push(time); - } - var _loop_1 = function (k) { - setTimeout(function () { - cc.tween(ball) - .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.ball.active = false; - _this.startGuide(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray[k - 1] + 0.1); - }; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_1(k); - } - }; - //点击太阳执行方法 - NewClass.prototype.clickSun = function (data) { - var _this = this; - if (this.begin == true) { - if (data == this.clickNow) { - GameData_1.default._instance.AudioManager.playAudioButton(); - if (this.clickNow > 0) { - this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); - } - this.clickNow += 1; - GameData_1.default._instance.GM_INFO.total += 1; - setTimeout(function () { - if (_this.ball_Array[_this.clickNow - 1]) - _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; - }, 200); - if (this.clickNow == 3) { - var win_1 = this.node.getChildByName("Win"); - win_1.active = true; - win_1.setScale(0); - cc.tween(win_1) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.6) - .call(function () { - win_1.active = false; - setTimeout(function () { - _this.passLevel(); - }, 400); - }) - .start(); - } - } - else { - GameData_1.default._instance.AudioManager.playWarning(); - this.begin = false; - this.loseLevel(1); - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); - } - } - }; - NewClass.prototype.loseLevel = function (type) { - var _this = this; - this.destroyLine(); - var ball = this.ball_Array[0]; - var _loop_2 = function (k) { - cc.tween(this_1.ball_Array[k]) - .to(0.6, { x: ball.x, y: ball.y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - _this.ball.opacity = 0; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.clearSun(); - _this.custom = 1; - _this.startGuide(1); - } - }) - .start(); - }; - var this_1 = this; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_2(k); - } - }; - NewClass.prototype.clearSun = function () { - for (var k = 0; k < this.ball_Array.length; k++) { - this.ball_Array[k].removeFromParent(); - this.ball_Array[k] = null; - } - this.ball_Array = []; - }; - //获取时间戳 - NewClass.prototype.getTime = function () { - var timestamp = new Date().getTime(); - return timestamp; - }; - NewClass.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - NewClass.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - NewClass.prototype.onEnable = function () { - Notification_1.Notification.on("clickSun", this.clickSun, this); - }; - NewClass.prototype.onDisable = function () { - Notification_1.Notification.off("clickSun", this.clickSun); - }; - __decorate([ - property(cc.Node) - ], NewClass.prototype, "dialog", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "ball", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "qiu1", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "linePrefab", void 0); - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHdWlkZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7QUFDbEYsdUNBQWtDO0FBQ2xDLCtDQUE4QztBQUN4QyxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXFWQztRQW5WRyx3QkFBd0I7UUFFeEIsWUFBTSxHQUFZLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsZ0JBQVUsR0FBYyxJQUFJLENBQUM7O1FBMFU3QixpQkFBaUI7SUFDckIsQ0FBQztJQXBVRyxlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELHVCQUFJLEdBQUo7UUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELDZCQUFVLEdBQVYsVUFBVyxJQUFJO1FBQWYsaUJB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Q0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdGLEdBQUcsQ0FBQyxDQUFDO1FBQ0wsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2xCLEVBQUUsQ0FBQyxLQUFLLEVBQUMsRUFBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO2FBQ3RDLElBQUksQ0FBQztZQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLElBQUksQ0FBQztZQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0YsR0FBRyxDQUFDLENBQUM7UUFDVCxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsS0FBSyxFQUFDLEVBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzthQUN0QyxJQUFJLENBQUM7WUFDRixLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsSUFBSSxDQUFDO1lB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QUMsRUFBQyxDQUFDO2FBQ3RCLEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELGlDQUFjLEdBQWQsVUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEIsQ0FBQztJQUVELDJCQUFRLEdBQVI7UUFDSSwyQkFBWSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsNEJBQVMsR0FBVDtRQUNJLDJCQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQTlVRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNLO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ0c7SUFFckI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzswQ0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO2dEQUNTO0lBVlosUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXFWNUI7SUFBRCxlQUFDO0NBclZELEFBcVZDLENBclZxQyxFQUFFLENBQUMsU0FBUyxHQXFWakQ7a0JBclZvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi9HYW1lRGF0YSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uJztcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGRpYWxvZzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIGN1c3RvbTogbnVtYmVyO1xyXG4gICAgUG9zX0FycmF5OiBhbnk7XHJcbiAgICBiYWxsX0FycmF5OiBhbnk7XHJcbiAgICBiZWdpbjogYm9vbGVhbjtcclxuICAgIHRpcDogY2MuTm9kZTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmN1c3RvbSA9IDE7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGlwID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydEd1aWRlKHR5cGUpe1xyXG4gICAgICAgIGxldCBudW0gPSB0aGlzLmN1c3RvbTtcclxuICAgICAgICBsZXQgdGltZSA9IDAuNTtcclxuICAgICAgICBsZXQgZGVsYXkgPSAxLjU7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBcInRpcFwiICsgbnVtO1xyXG5cclxuICAgICAgICBpZih0eXBlIT0wKXtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KXtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoIHRoaXMuY3VzdG9tID09IDUpIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50aXAgPSB0aGlzLmRpYWxvZy5nZXRDaGlsZEJ5TmFtZShuYW1lKTtcclxuICAgICAgICAgICAgdGhpcy50aXAuYWN0aXZlID0gdHJ1ZTsgdGhpcy50aXAub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMudGlwKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgLy8gY2MudHdlZW4odGlwKVxyXG4gICAgICAgICAgICAvLyAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAvLyAuZGVsYXkoZGVsYXkpXHJcbiAgICAgICAgICAgIC8vIC50byh0aW1lLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAvLyAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIC8vICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgLy8gICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgIC8vICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgIC8vICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KSAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgLy8gfSlcclxuICAgICAgICAgICAgLy8gLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yib5bu65aSq6ZizXHJcbiAgICBjcmVhdGVTdW4xKCl7XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkucHVzaChjYy52MigtMjUwLC0yMTYpLGNjLnYyKDIwMCwtMTE1KSxjYy52MigtMzUsLTUwMCkpO1xyXG4gICAgICAgIGxldCB0aW1lMSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksdGhpcy5Qb3NfQXJyYXlbMF0ueCx0aGlzLlBvc19BcnJheVswXS55KVxyXG4gICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMDtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgLnRvKHRpbWUxLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVswXX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQmFsbCgwLDAsMCxmYWxzZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZGVsYXkoMSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYmVnaW5DbGljaygpe1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGlja0J0bigpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXh0KCl7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAwLjU7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy50aXApXHJcbiAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIC8vIGlmKHR5cGUgIT0gMCkgdGhpcy5jdXN0b20gPSAyO1xyXG4gICAgICAgICAgICBpZiggdGhpcy5jdXN0b20gPT0gMikgIHRoaXMuY3JlYXRlU3VuMSgpO1xyXG4gICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgIGVsc2UgaWYoIHRoaXMuY3VzdG9tID09IDQpICB0aGlzLmJlZ2luID0gdHJ1ZTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gNSkgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG5cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVN1bjIoKXtcclxuICAgICAgICBsZXQgdGltZTIgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuUG9zX0FycmF5WzBdLngsdGhpcy5Qb3NfQXJyYXlbMF0ueSx0aGlzLlBvc19BcnJheVsxXS54LHRoaXMuUG9zX0FycmF5WzFdLnkpXHJcbiAgICAgICAgbGV0IHRpbWUzID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLlBvc19BcnJheVsxXS54LHRoaXMuUG9zX0FycmF5WzFdLnksdGhpcy5Qb3NfQXJyYXlbMl0ueCx0aGlzLlBvc19BcnJheVsyXS55KVxyXG4gICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5Qb3NfQXJyYXlbMV0ueCx0aGlzLlBvc19BcnJheVsxXS55KSxcclxuICAgICAgICAwLjUpO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8odGltZTIse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5WzFdfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDEsMCwwLGZhbHNlKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5kZWxheSgwLjUpXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5Qb3NfQXJyYXlbMl0ueCx0aGlzLlBvc19BcnJheVsyXS55KSxcclxuICAgICAgICAgICAgMC41KTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50byh0aW1lMyx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbMl19KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhbGwoMiwwLDAsZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBiYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUxKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIGJhbGwuZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjg7XHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/np7vliqjliJvlu7rkuIvkuIDkuKrlpKrpmLNcclxuICAgIG1vdmVTdW4oKXtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy/ojrfog5xcclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICBsZXQgdGltZUFycmF5ID0gW107XHJcbiAgICAgICAgbGV0IHRpbWVDb3VudCA9IDA7XHJcbiAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgZm9yKGxldCBpPTE7IGk8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSk7XHJcbiAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihiYWxsKVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWVBcnJheVtrLTFdLHt4OnRoaXMuYmFsbF9BcnJheVtrXS54LHk6dGhpcy5iYWxsX0FycmF5W2tdLnl9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2tdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0R3VpZGUoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9LCB0aW1lQ291bnQqMTAwMCk7XHJcbiAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/ngrnlh7vlpKrpmLPmiafooYzmlrnms5VcclxuICAgIGNsaWNrU3VuKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIGlmKGRhdGEgPT0gdGhpcy5jbGlja05vdyl7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlBdWRpb0J1dHRvbigpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGNjLnYyKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS55KSxcclxuICAgICAgICAgICAgICAgICAgICAwLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja05vdyArPSAxO1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gMTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS5nZXRDaGlsZEJ5TmFtZShcImd1YW5nXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgd2luID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSB0cnVlOyB3aW4uc2V0U2NhbGUoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjYpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3NMZXZlbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgxKVxyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGxldCBiYWxsID0gdGhpcy5iYWxsX0FycmF5WzBdO1xyXG4gICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGxfQXJyYXlba10pXHJcbiAgICAgICAgICAgIC50bygwLjYse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tID0gMTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0R3VpZGUoMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+W5pe26Ze05oizXHJcbiAgICBnZXRUaW1lKCl7XHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH1cclxuXHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlTGluZShzdGFydCxlbmQsdGltZSl7XHJcbiAgICAgICAgbGV0IGxpbmUgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLmxpbmVQcmVmYWIpO1xyXG4gICAgICAgIGxpbmUucGFyZW50ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKTtcclxuICAgICAgICBsaW5lLnNldFBvc2l0aW9uKHN0YXJ0Lngsc3RhcnQueSk7XHJcbiAgICBcclxuICAgICAgICBjb25zdCBkeCA9IGVuZC54IC0gc3RhcnQueDtcclxuICAgICAgICBjb25zdCBkeSA9IGVuZC55IC0gc3RhcnQueTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgbGluZS5oZWlnaHQgPSBkaXN0YW5jZTtcclxuICAgICAgICBsaW5lLmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgbGluZS5hbmdsZSA9IC10aGlzLmNhbGN1bGF0ZUFuZ2xlKHN0YXJ0Lngsc3RhcnQueSxlbmQueCxlbmQueSk7XHJcbiAgICAgICAgY2MudHdlZW4obGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAudG8odGltZSx7ZmlsbFJhbmdlOjF9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRpc2FibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vZmYoXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); -// migration/use_v2.1-2.2.1_cc.Toggle_event.js - -"use strict"; - -/* - * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. - * You do not need to manually add this script in any other project. - * If you don't use cc.Toggle in your project, you can delete this script directly. - * If your project is hosted in VCS such as git, submit this script together. - * - * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, - * 你无需在任何其它项目中手动添加此脚本。 - * 如果你的项目中没用到 Toggle,可直接删除该脚本。 - * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 - */ -if (cc.Toggle) { - // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code - // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 - cc.Toggle._triggerEventInScript_isChecked = true; -} - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -672,9 +226,7 @@ var NewClass = /** @class */ (function (_super) { _this.four = null; _this.five = null; return _this; - // update (dt) {} } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { this.count.string = GameData_1.default._instance.GM_INFO.total; @@ -682,6 +234,10 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; } this.time.string = GameData_1.default._instance.GM_INFO.mean_Time + "s"; + this.init(); + }; + //初始化数据 + NewClass.prototype.init = function () { this.listData = []; this.selfData = null; this.one.active = false; @@ -689,17 +245,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; - // this.setData(); this.getRank(); }; - NewClass.prototype.success = function (data) { - }; - NewClass.prototype.back = function () { + //打开排行榜 + NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; + //重新开始玩 NewClass.prototype.again = function () { cc.director.loadScene("GameScene"); }; + //获取排行榜 NewClass.prototype.getRank = function () { var postData = { "page": 1, @@ -707,6 +263,7 @@ var NewClass = /** @class */ (function (_super) { }; serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); }; + //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { this.listData = data.data.list; @@ -733,6 +290,7 @@ var NewClass = /** @class */ (function (_super) { } } }; + //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { var hitNode = null; if (num == 0) { @@ -760,6 +318,7 @@ var NewClass = /** @class */ (function (_super) { this.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); } }; + //设置头像 NewClass.prototype.setPic = function (node, pic) { node.active = false; var url = pic; @@ -829,7 +388,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRix1Q0FBa0M7QUFFbEMsZ0RBQTBDO0FBR3BDLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBMEpDO1FBdkpHLFdBQUssR0FBYSxJQUFJLENBQUM7UUFHdkIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUd0QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixXQUFLLEdBQVksSUFBSSxDQUFDO1FBRXRCLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFZLElBQUksQ0FBQzs7UUFzSXJCLGlCQUFpQjtJQUNyQixDQUFDO0lBbklHLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN6QyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzlFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FB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LENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ0U7SUFFcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzsyQ0FDSTtJQUV0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ0c7SUFuQkosUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTBKNUI7SUFBRCxlQUFDO0NBMUpELEFBMEpDLENBMUpxQyxFQUFFLENBQUMsU0FBUyxHQTBKakQ7a0JBMUpvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gXCIuL0dhbWVEYXRhXCI7XHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL0xpc3RWaWV3L0xpc3RcIjtcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuaW1wb3J0IFJxIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmNvdW50LnN0cmluZyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsO1xyXG4gICAgICAgIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSA+IDEwKXtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID0gKHBhcnNlSW50KE1hdGgucmFuZG9tKCkqMTArXCJcIikrNSkvMTBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aW1lLnN0cmluZyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSArIFwic1wiO1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgLy8gdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG5cclxuICAgIHN1Y2Nlc3MoZGF0YSl7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBiYWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFnYWluKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwicGFnZVwiOjEsXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjoxMDBcclxuICAgICAgICB9OyBcclxuICAgICAgICBIdHRwVXRpbC5yYW5rRGF0YSgyLHRoaXMuZ2V0UmFua0RhdGEuYmluZCh0aGlzKSxwb3N0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICAgICAgdGhpcy5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5sZW5ndGggPiA0KXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRhdGEubmlja05hbWU9IHRoaXMuc2VsZkRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNCkgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9dGhpcy5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0aGlzLmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0aGlzLmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0aGlzLmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IHRoaXMubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9KGkrMSkgKyBcIlwiOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gKHRoaXMubGlzdERhdGEubGVuZ3RoLTEpICYmIHNlbGYgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZihpPDUpIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICB2YXIgaGl0Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgaWYobnVtID09IDApe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50d287XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50aHJlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDQpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5maXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihoaXROb2RlKXtcclxuICAgICAgICAgICAgaGl0Tm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZihkYXRhLm5pY2tOYW1lLmxlbmd0aCA+IDQpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5uaWNrTmFtZT0gZGF0YS5uaWNrTmFtZS5zdWJzdHJpbmcoMCw0KSArIFwiLi4uXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWMoaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksZGF0YS5waWMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFBpYyhub2RlLHBpYyl7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBsZXQgdXJsID0gcGljO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgIFxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRix1Q0FBa0M7QUFFbEMsZ0RBQTBDO0FBR3BDLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBMklDO1FBeklHLFdBQUssR0FBYSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUV0QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixXQUFLLEdBQVksSUFBSSxDQUFDO1FBRXRCLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFZLElBQUksQ0FBQzs7SUEySHpCLENBQUM7SUF4SEcsZUFBZTtJQUNmLHdCQUFLLEdBQUw7UUFDSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLEVBQUM7WUFDekMsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQTtTQUM5RTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQzlELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTztJQUNQLHVCQUFJLEdBQUo7UUFDSSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsT0FBTztJQUNQLDJCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTztJQUNQLHdCQUFLLEdBQUw7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTztJQUNQLDBCQUFPLEdBQVA7UUFDSSxJQUFJLFFBQVEsR0FBRztZQUNYLE1BQU0sRUFBQyxDQUFDO1lBQ1IsVUFBVSxFQUFDLEdBQUc7U0FDakIsQ0FBQztRQUNGLG1CQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsUUFBUTtJQUNSLDhCQUFXLEdBQVgsVUFBWSxJQUFJO1FBQ1osSUFBRyxJQUFJLEVBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDL0IsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQztZQUNqQixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO2FBQ3hFO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDNUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDbEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxRixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUN0QyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQztnQkFDNUgsSUFBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDO29CQUM1RCxJQUFJLEdBQUcsSUFBSSxDQUFDO29CQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDbEY7Z0JBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFDO29CQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7aUJBQzlFO2dCQUNELElBQUcsQ0FBQyxHQUFDLENBQUM7b0JBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0o7SUFDTCxDQUFDO0lBQ0QsV0FBVztJQUNYLDBCQUFPLEdBQVAsVUFBUSxHQUFHLEVBQUMsSUFBSTtRQUNaLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUM7WUFDUixPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN0QjthQUNJLElBQUcsR0FBRyxJQUFJLENBQUMsRUFBQztZQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3RCO2FBQ0ksSUFBRyxHQUFHLElBQUksQ0FBQyxFQUFDO1lBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDeEI7YUFDSSxJQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUM7WUFDYixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUN2QjthQUNJLElBQUcsR0FBRyxJQUFJLENBQUMsRUFBQztZQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3ZCO1FBQ0QsSUFBRyxPQUFPLEVBQUM7WUFDUCxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO2FBQ3REO1lBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzdFLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNuRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5RTtJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ0MseUJBQU0sR0FBYixVQUFjLElBQUksRUFBQyxHQUFHO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLFVBQVUsQ0FBQztZQUNQLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1QsSUFBSSxDQUFDLFVBQUEsUUFBUTtnQkFDVixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDO2lCQUVELElBQUksQ0FBQyxVQUFBLEtBQUs7Z0JBQ1AsSUFBRyxLQUFLLElBQUksTUFBTSxFQUFDO29CQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2lCQUN0QjtZQUNMLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQSxLQUFLO2dCQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDUixFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBQyxHQUFHLEVBQUMsTUFBTSxFQUFDLEVBQUMsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDbkUsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDMUU7aUJBQ0c7Z0JBQ0EsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUF2SUQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzsyQ0FDSTtJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzBDQUNHO0lBRXRCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ087SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDRTtJQUVwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0k7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDRztJQUVyQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBaEJKLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0EySTVCO0lBQUQsZUFBQztDQTNJRCxBQTJJQyxDQTNJcUMsRUFBRSxDQUFDLFNBQVMsR0EySWpEO2tCQTNJb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmltcG9ydCBScSBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICB0aW1lOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHNlbGZOb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgb25lOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdHdvOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdGhyZWU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmb3VyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZml2ZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuY291bnQuc3RyaW5nID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWw7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID4gMTApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICsgXCJzXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOjEwMFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGRhdGEuZGF0YS5saXN0O1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgICAgIGxldCByYW5rRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLmxlbmd0aCA+IDQpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmRGF0YS5uaWNrTmFtZT0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5zdWJzdHJpbmcoMCw0KSArIFwiLi4uXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD10aGlzLmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgICAgICByYW5rRGF0YS5wdXNoKHtyYW5rOihpKzEpLCBuYW1lOnRoaXMubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRoaXMubGlzdERhdGFbaV0udG90YWxTdW5Db3VudCwgcGljOnRoaXMubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPT0gdGhpcy5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcIjk5K1wiOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGk8NSkgdGhpcy5zZXRSYW5rKGksdGhpcy5saXN0RGF0YVtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+agueaNruWGheWuueWhq+WFheaOkuihjOamnFxyXG4gICAgc2V0UmFuayhudW0sZGF0YSl7XHJcbiAgICAgICAgdmFyIGhpdE5vZGUgPSBudWxsO1xyXG4gICAgICAgIGlmKG51bSA9PSAwKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudHdvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudGhyZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDMpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5mb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSA0KXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZml2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoaGl0Tm9kZSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYoZGF0YS5uaWNrTmFtZS5sZW5ndGggPiA0KXtcclxuICAgICAgICAgICAgICAgIGRhdGEubmlja05hbWU9IGRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNCkgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBkYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBkYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgcHVibGljIHNldFBpYyhub2RlLHBpYyl7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBsZXQgdXJsID0gcGljO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgIFxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -1162,6 +721,440 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxjcnlwdG9cXHNlcnZlckFQSS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQW9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHcEMsd0NBQW1DO0FBQ25DLDZDQUFnRCxDQUFFLFdBQVc7QUFFN0QsNEJBQTRCO0FBQ3RCLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEOztJQTZFQSxDQUFDO0lBNUVDLHNCQUFzQjtJQUNULGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUMxQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtnQkFDaEQsR0FBRyxHQUFHLE9BQU8sQ0FBQywrQkFBNkIsTUFBTSxDQUFDLE1BQU0sa0JBQWEsSUFBSSxjQUFTLElBQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDckcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O0tBQ2xDO0lBRVksMEJBQWlCLEdBQTlCLFVBQStCLElBQUksRUFBQyxRQUFRO3VDQUFHLE9BQU87OztnQkFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENB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QUFDLENBQUMsRUFBekMsT0FBTyxRQUFBLEVBQUUsV0FBVyxRQUFxQixDQUFDO0lBQ2pELElBQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELE9BQVUsT0FBTyxTQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUksQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsT0FBTyxDQUFDLEdBQVcsRUFBRSxNQUFXO0lBQVgsdUJBQUEsRUFBQSxXQUFXO0lBRXZDLElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMzQixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbEMsVUFBVSxJQUFJLEdBQUcsQ0FBQTtLQUNsQjtJQUVELGNBQWM7SUFDZCxJQUFJLE9BQU8sR0FBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFckMsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNqRCxJQUFNLFVBQVUsR0FBRyxVQUFRLFNBQVcsQ0FBQTtJQUV0QyxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDckUsY0FBYyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBRW5ELE9BQVUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFPLGNBQWdCLENBQUE7QUFDeEQsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBDcnlwdG9KUyBmcm9tIFwiY3J5cHRvLWpzXCI7XG5cblxuaW1wb3J0IEdhbWVEYXRhIGZyb20gJy4uL0dhbWVEYXRhJztcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xuXG4vLyBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcblxuQGNjY2xhc3NcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcbiAgLy/mjpLooYzmppx0eXBlMuS4uuiOt+WPlu+8jHR5cGUx5Li65LiK5LygXG4gIHN0YXRpYyBhc3luYyByYW5rRGF0YSh0eXBlLGNhbGxiYWNrLGRhdGEpOiBQcm9taXNlPGFueT4ge1xuICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgIGRhdGEudXNlcklkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkO1xuICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgIGNvbnN0IHVybCA9IGFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXG4gICAgdGhpcy5odHRwUG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XG4gIH1cbiAgXG4gIHN0YXRpYyBhc3luYyB1cGxvYWRVc2VyTG9nRGF0YShkYXRhLGNhbGxiYWNrKTogUHJvbWlzZTxhbnk+IHtcbiAgICBkYXRhLmdhbWVJZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmdhbWVJZDtcbiAgICBkYXRhLnVzZXJJZCA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZDtcbiAgICBjb25zdCB1cmwgPSAnL2xvZy9jb2xsZWN0L2RhdGEnO1xuICAgIHRoaXMuaHR0cFBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xuICB9XG4gIC8v5pqC5pe255So5LiN5YiwXG4gIHN0YXRpYyBhc3luYyBnZXRVc2VyUmVjb3JkKGRhdGEsY2FsbGJhY2spOiBQcm9taXNlPGFueT4ge1xuICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgIGRhdGEudXNlcklkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkO1xuICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxuICAgIGNvbnN0IHVybCA9IGFwaVNpZ24oYC9hcGkvZ2V0L3VzZXIvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX1gLCBkYXRhKVxuICAgIHRoaXMuaHR0cFBvc3QodXJsLGRhdGEsY2FsbGJhY2spO1xuICB9XG5cbiAgc3RhdGljIGh0dHBQb3N0KHVybCxkYXRhLGNhbGxCYWNrKXtcbiAgICAgIGRhdGEuZ2FtZUlkID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkO1xuICAgICAgZGF0YS51c2VySWQgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQ7XG4gICAgICB2YXIgdXJsRGF0YSA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIgKyB1cmw7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcInBhcmFtczpcIixKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICBsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICB4aHIub3BlbignUE9TVCcsIHVybERhdGEpO1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0ICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7XG4gICAgICAgICAgICAgIHZhciBkYXRhID0geGhyLnJlc3BvbnNlVGV4dDtcbiAgICAgICAgICAgICAgaWYoIWRhdGEpe1xuICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLliJ3lp4vljJblpLHotKVcIik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cCBzdWNjZXNzOicgKyBqc29uKTtcbiAgICAgICAgICAgICAgY2FsbEJhY2soanNvbik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAvLyAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cCBmYWlsOicgKyB1cmwpO1xuICAgICAgICAgICAgICBjYWxsQmFjayhqc29uKTtcbiAgICAgICAgICB9XG4gICAgICB9O1xuICAgICAgeGhyLnNlbmQoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICB9XG5cbiAgc3RhdGljIGh0dHBHZXQodXJsLGNhbGxCYWNrKXtcbiAgICAgIHZhciB1cmxEYXRhID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIiArIHVybDtcbiAgICAgIGNvbnNvbGUubG9nKHVybERhdGEpO1xuICAgICAgbGV0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybERhdGEpO1xuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICd0ZXh0L3BsYWluJyk7XG4gICAgICBcbiAgICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IDQgJiYgeGhyLnN0YXR1cyA9PSAyMDApIHtcbiAgICAgICAgICAgICAgdmFyIGRhdGEgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgICAgICAgICBpZihkYXRhKXtcbiAgICAgICAgICAgICAgICAgIHZhciBqc29uID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaHR0cCBzdWNjZXNzOicgKyBqc29uKTtcbiAgICAgICAgICAgICAgICAgIGNhbGxCYWNrKGpzb24pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGVsc2UgY2FsbEJhY2soZGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaHR0cCBmYWlsOicgKyB1cmwpO1xuICAgICAgICAgICAgICBjYWxsQmFjayhudWxsKTtcbiAgICAgICAgICB9XG4gICAgICB9O1xuICAgICAgeGhyLnNlbmQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcbiAgcmV0dXJuIHJlc3BvbnNlLmRhdGFcbn1cbi8vIOWTjeW6lOaLpuaIquWZqFxuLy8gUnEuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLnVzZShyZXNwb25zZUhhbmRsZXIpXG5jb25zdCBjb25maWcgPSB7XG4gIGdhbWVJZDogXCIxMDAwMDlcIixcbiAgc2VjcmV0S2V5OiBcIkNNTmhPekJBXCIsXG4gIEVLOlwiaHVpMjMxJTFcIlxufTtcblxuaW50ZXJmYWNlIENyeXBvdG9UeXBlIHtcbiAgZW5jcnlwdEJ5REVTOiBhbnlcbiAgZGVjcnlwdEJ5REVTOiBhbnlcbiAgaG1hY1NoYTI1NjogYW55XG59XG4gXG5jbGFzcyBDcnlwb3RvIGltcGxlbWVudHMgQ3J5cG90b1R5cGUge1xuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+8jOiHquW3seagueaNrumhueebruWunumZheaDheWGteWumu+8jOmcgOimgei3n+WQjuerr+W8gOWPkeS/neaMgeS4gOiHtFxuICAgIHByaXZhdGUga2V5SGV4ID0gdGhpcy5nZXRIZXRLZXkoKVxuIFxuICAgIHByaXZhdGUgZ2V0SGV0S2V5KCkge1xuICAgICAgICByZXR1cm4gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoY29uZmlnLkVLKTtcbiAgICB9XG5cbiAgICAvKiogREVT5Yqg5a+GICovXG4gICAgZW5jcnlwdEJ5REVTKG1lc3NhZ2U6IHN0cmluZywgc2VjcmV0Pzogc3RyaW5nKSB7XG4gICAgICBpZighbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbWVzc2FnZVxuICAgICAgfVxuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuREVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCB7XG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuRUNCLFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczdcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGVuY3J5cHRlZC50b1N0cmluZygpXG4gICAgfVxuXG4gICAgLyoqIERFU+ino+WvhiAqL1xuICAgIGRlY3J5cHRCeURFUyhtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuXG4gICAgICBjb25zdCBkZWNyeXB0ZWQgPSBDcnlwdG9KUy5ERVMuZGVjcnlwdCh7XG4gICAgICAgIGNpcGhlcnRleHQ6IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UobWVzc2FnZSlcbiAgICAgIH0sIGtleSwge1xuICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkVDQixcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gZGVjcnlwdGVkLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KVxuICAgIH1cblxuICAgIC8qKiBobWFjU0hBMjU25Yqg5a+GICovXG4gICAgaG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNlY3JldD86IHN0cmluZykge1xuICAgICAgY29uc3Qga2V5SGV4ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxuICAgICAgXG4gICAgICBjb25zdCBoYXNoID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCBrZXlIZXgpO1xuICAgICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKVxuICAgIH1cblxuICAgIC8qKiBobWFjU0hBMjU26aqM6K+BICovXG4gICAgdmVyaWZ5SG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBoYXNoID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCB0aGlzLmtleUhleCk7XG4gICAgICByZXR1cm4gaGFzaC50b1N0cmluZygpID09PSBzaWduYXR1cmVcbiAgICB9XG4gXG4gICAgLyoqIENCQ+WKoOWvhiAqL1xuICAgIGVuY3J5cHRDQkMod29yZDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghd29yZCkge1xuICAgICAgICAgICAgcmV0dXJuIHdvcmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3JjcyA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKHdvcmQpO1xuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChzcmNzLCB0aGlzLmtleUhleCwge1xuICAgICAgICAgICAgaXY6IHRoaXMua2V5SGV4LFxuICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXG4gICAgICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuWmVyb1BhZGRpbmdcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBlbmNyeXB0ZWQudG9TdHJpbmcoKTsgXG4gICAgfVxuIFxuICAgIC8qKiBDQkPop6Plr4YgKi9cbiAgICBkZWNyeXB0Q0JDKHdvcmQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXdvcmQpIHtcbiAgICAgICAgICAgIHJldHVybiB3b3JkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7XG4gICAgICAgIGNvbnN0IHNyY3MgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnN0cmluZ2lmeShlbmNyeXB0ZWRIZXhTdHIpO1xuICAgICAgICBjb25zdCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoc3JjcywgdGhpcy5rZXlIZXgsIHtcbiAgICAgICAgICAgIGl2OiB0aGlzLmtleUhleCxcbiAgICAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxuICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRlZFN0ci50b1N0cmluZygpO1xuICAgIH1cbn1cbmNvbnN0IGZ4Q3J5ID0gbmV3IENyeXBvdG8oKTtcblxuZnVuY3Rpb24gaXNFbXB0eShkYXRhKSB7XG4gIHJldHVybiBkYXRhID09PSBcIlwiIHx8IGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEubGVuZ3RoID09PSAwIHx8IEpTT04uc3RyaW5naWZ5KGRhdGEpID09IFwie31cIlxufVxuXG5mdW5jdGlvbiBnZXRRdWVyeVN0cmluZyhvYmopIHtcbiAgLy8g6aaW5YWI5a+55a+56LGh55qE6ZSu6L+b6KGM5o6S5bqP5bm26L+H5ruk56m65YC8XG4gIGNvbnN0IHNvcnRlZEtleXMgPSBPYmplY3Qua2V5cyhvYmopLnNvcnQoKTtcbiAgY29uc3Qgc29ydGVkT2JqID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpc0VtcHR5KG9ialtzb3J0ZWRLZXlzW2ldXSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBzb3J0ZWRPYmpbc29ydGVkS2V5c1tpXV0gPSBvYmpbc29ydGVkS2V5c1tpXV07XG4gIH1cbiAgXG4gIC8vIOeEtuWQjuWwhuaOkuW6j+WQjueahOWvueixoei9rOaNouS4uuafpeivouWtl+espuS4slxuICBjb25zdCBwYXJhbXMgPSBbXTtcbiAgZm9yIChjb25zdCBrZXkgaW4gc29ydGVkT2JqKSB7XG4gICAgcGFyYW1zLnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHNvcnRlZE9ialtrZXldKX1gKTtcbiAgfVxuICByZXR1cm4gcGFyYW1zLmpvaW4oJyYnKTtcbn1cblxuXG4vKipcbiAqIOe7hOijheetvuWQjeWtl+espuS4slxuICogQHBhcmFtIHN0cmluZyB1cmw6IOivt+axguWcsOWdgCBcbiAqIEBwYXJhbSBzdHJpbmcgcG9zdFN0cjogcG9zdOWPguaVsOeahGE9MSZiPTIgXG4gKiBAcmV0dXJucyBcbiAqL1xuXG5mdW5jdGlvbiBnZW5TaWduU3RyKHVybDogc3RyaW5nLCBwb3N0U3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgbGVzc1VybCA9IHVybC5yZXBsYWNlKCc/JywgJycpXG4gIGxlc3NVcmwgPSBsZXNzVXJsICsgXCImXCIgKyBwb3N0U3RyXG4gIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoZnhDcnkuaG1hY1NoYTI1NihsZXNzVXJsKSlcbn1cbi8vIOWvueWPguaVsOi/m+ihjOe7n+S4gHVybGVuY29kZVxuZnVuY3Rpb24gdXJsZW5jb2RlKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgW2Jhc2VVcmwsIHF1ZXJ5U3RyaW5nXSA9IHVybC5zcGxpdChcIj9cIiwgMik7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlTdHJpbmcpO1xuICByZXR1cm4gYCR7YmFzZVVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xufVxuXG4vKipcbiAqIFxuICogQHBhcmFtIHVybCB7c3RyaW5nfSDmjqXlj6PlnLDlnYBcbiAqIEBwYXJhbSBwYXJhbXMge29iamVjdH0g6ZyA6KaB5Yqg5a+G55qE5Y+C5pWw5a+56LGhXG4gKi9cbmZ1bmN0aW9uIGFwaVNpZ24odXJsOiBzdHJpbmcsIHBhcmFtcyA9IHt9KSB7XG5cbiAgbGV0IGNvbnZlcnRVcmwgPSB1cmwudHJpbSgpXG4gIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcbiAgICBjb252ZXJ0VXJsICs9ICc/J1xuICB9XG4gIFxuICAvLyDkvKDlhaXlj4LmlbDovazmjaLmi7zmjqXlrZfnrKbkuLJcbiAgbGV0IHBvc3RTdHIgPSAgZ2V0UXVlcnlTdHJpbmcocGFyYW1zKVxuIFxuICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXG4gIGNvbnN0IGVuY3J5cHRTdHIgPSBgc2lnbj0ke3NpZ25lZFN0cn1gXG5cbiAgbGV0IGVuY3J5cHRTaWduU3RyID0gZnhDcnkuZW5jcnlwdEJ5REVTKGVuY3J5cHRTdHIsIGNvbmZpZy5zZWNyZXRLZXkpXG4gIGVuY3J5cHRTaWduU3RyID0gZW5jb2RlVVJJQ29tcG9uZW50KGVuY3J5cHRTaWduU3RyKVxuXG4gIHJldHVybiBgJHt1cmxlbmNvZGUoY29udmVydFVybCl9Jl9wPSR7ZW5jcnlwdFNpZ25TdHJ9YFxufVxuXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); +// migration/use_v2.1-2.2.1_cc.Toggle_event.js + +"use strict"; + +/* + * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. + * You do not need to manually add this script in any other project. + * If you don't use cc.Toggle in your project, you can delete this script directly. + * If your project is hosted in VCS such as git, submit this script together. + * + * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, + * 你无需在任何其它项目中手动添加此脚本。 + * 如果你的项目中没用到 Toggle,可直接删除该脚本。 + * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 + */ +if (cc.Toggle) { + // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code + // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 + cc.Toggle._triggerEventInScript_isChecked = true; +} + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GuideManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '3fd2fh6vHNJeISUizW09xat', 'GuideManager'); +// Script/GuideManager.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来 +var GameData_1 = require("./GameData"); +var Notification_1 = require("./Notification"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + var _this = _super !== null && _super.apply(this, arguments) || this; + // LIFE-CYCLE CALLBACKS: + _this.dialog = null; + _this.ball = null; + _this.qiu1 = null; + _this.linePrefab = null; + return _this; + } + // onLoad () {} + NewClass.prototype.start = function () { + GameData_1.default._instance.GM_INFO.custom = 0; + this.init(); + this.startGuide(0); + }; + //初始化数据 + NewClass.prototype.init = function () { + this.custom = 1; + this.ball.zIndex = 100; + this.Pos_Array = []; + this.ball_Array = []; + this.begin = false; + this.clickNow = 0; + this.tip = null; + }; + //开始引导方法 + NewClass.prototype.startGuide = function (type) { + var _this = this; + var num = this.custom; + var time = 0.5; + var name = "tip" + num; + if (type != 0) { + cc.tween(this.node) + .to(time, { opacity: 255 }) + .call(function () { + _this.custom += 1; + if (type != 0) + _this.custom = 2; + if (_this.custom == 2) + _this.createSun1(); + else if (_this.custom == 3) + _this.createSun2(); + else if (_this.custom == 4) + _this.begin = true; + else if (_this.custom == 5) + cc.director.loadScene("GameScene"); + }) + .start(); + } + else { + this.tip = this.dialog.getChildByName(name); + this.tip.active = true; + this.tip.opacity = 0; + cc.tween(this.tip) + .to(time, { opacity: 255 }) + .start(); + } + }; + //清除所有太阳 + NewClass.prototype.beginClick = function () { + for (var i = 0; i < this.ball_Array.length; i++) { + this.ball_Array[i].getComponent("Sun").move = false; + } + }; + //点击开始游戏,或者点击跳过引导 + NewClass.prototype.clickBtn = function () { + cc.director.loadScene("GameScene"); + }; + //点击下一步按钮 + NewClass.prototype.next = function () { + var _this = this; + var time = 0.5; + cc.tween(this.tip) + .to(time, { opacity: 0 }) + .call(function () { + _this.custom += 1; + if (_this.custom == 2) + _this.createSun(true); + else if (_this.custom == 3) + _this.createSun(false); + else if (_this.custom == 4) + _this.begin = true; + else if (_this.custom == 5) + cc.director.loadScene("GameScene"); + }) + .start(); + }; + //创建太阳 + NewClass.prototype.createSun = function (type) { + var _this = this; + if (type == true) { + this.ball_Array = []; + this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); + var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); + this.ball.opacity = 0; + cc.tween(this.ball) + .to(time1, { position: this.Pos_Array[0] }) + .call(function () { + _this.createBall(0, 0, 0, false); + }) + .delay(1) + .call(function () { + _this.startGuide(0); + }) + .start(); + } + else { + var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); + var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); + this.ball.opacity = 255; + this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); + cc.tween(this.ball) + .to(time2, { position: this.Pos_Array[1] }) + .call(function () { + _this.createBall(1, 0, 0, false); + }) + .delay(0.5) + .call(function () { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); + }) + .to(time3, { position: this.Pos_Array[2] }) + .call(function () { + _this.createBall(2, 0, 0, false); + _this.ball.opacity = 0; + }) + .delay(0.2) + .call(function () { + _this.destroyLine(); + _this.startGuide(0); + }) + .start(); + } + }; + //创建太阳 + NewClass.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + ball = cc.instantiate(this.qiu1); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.Pos_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + ball.getComponent("Sun").move = true; + this.ball_Array.push(ball); + }; + //获取两点之间角度创建连线用 + NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { + var dx = x2 - x1; + var dy = y2 - y1; + var distance = Math.sqrt(dx * dx + dy * dy); + if (distance > 800) + distance = 800; + var time = distance / 800 * 0.8; + return time; + }; + //引导成功 + NewClass.prototype.passLevel = function () { + var _this = this; + var win = this.node.getChildByName("Win"); + win.active = true; + win.setScale(0); + cc.tween(win) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.6) + .call(function () { + win.active = false; + setTimeout(function () { + _this.destroyLine(); + var timeArray = []; + var timeCount = 0; + var ball = _this.ball_Array[0]; + for (var i = 1; i < _this.ball_Array.length; i++) { + var time = _this.calculateDistance(_this.ball_Array[i].x, _this.ball_Array[i].y, _this.ball_Array[i - 1].x, _this.ball_Array[i - 1].y); + timeArray.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball) + .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.ball.active = false; + _this.startGuide(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray[k - 1] + 0.1); + }; + for (var k = 1; k < _this.ball_Array.length; k++) { + _loop_1(k); + } + }, 400); + }) + .start(); + }; + //点击太阳执行方法 + NewClass.prototype.clickSun = function (data) { + var _this = this; + if (this.begin == true) { + if (data == this.clickNow) { + GameData_1.default._instance.AudioManager.playAudioButton(); + if (this.clickNow > 0) { + this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); + } + this.clickNow += 1; + GameData_1.default._instance.GM_INFO.total += 1; + setTimeout(function () { + if (_this.ball_Array[_this.clickNow - 1]) + _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; + }, 200); + if (this.clickNow == 3) { + this.passLevel(); + } + } + else { + this.loseLevel(); + } + } + }; + //失败事件 + NewClass.prototype.loseLevel = function () { + var _this = this; + this.begin = false; + GameData_1.default._instance.AudioManager.playWarning(); + this.destroyLine(); + var ball = this.ball_Array[0]; + var _loop_2 = function (k) { + cc.tween(this_1.ball_Array[k]) + .to(0.6, { x: ball.x, y: ball.y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + _this.ball.opacity = 0; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.clearSun(); + _this.custom = 1; + _this.startGuide(1); + } + }) + .start(); + }; + var this_1 = this; + for (var k = 1; k < this.ball_Array.length; k++) { + _loop_2(k); + } + //结束页面动画 + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) + .start(); + }; + //点击太阳事件 + NewClass.prototype.clearSun = function () { + for (var k = 0; k < this.ball_Array.length; k++) { + this.ball_Array[k].removeFromParent(); + this.ball_Array[k] = null; + } + this.ball_Array = []; + }; + //获取时间戳 + NewClass.prototype.getTime = function () { + var timestamp = new Date().getTime(); + return timestamp; + }; + //创造连线,参数起点,终点,连线时间 + NewClass.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //摧毁连线 + NewClass.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //获取两个点之间的角度 用于写连线 确定连线方向 + NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + NewClass.prototype.onEnable = function () { + Notification_1.Notification.on("clickSun", this.clickSun, this); + }; + NewClass.prototype.onDisable = function () { + Notification_1.Notification.off("clickSun", this.clickSun); + }; + __decorate([ + property(cc.Node) + ], NewClass.prototype, "dialog", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "ball", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "qiu1", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "linePrefab", void 0); + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHdWlkZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBQWtDO0FBQ2xDLHVDQUFrQztBQUNsQywrQ0FBOEM7QUFDeEMsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7UUFBQSxxRUFrVEM7UUFqVEcsd0JBQXdCO1FBRXhCLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFZLElBQUksQ0FBQztRQUVyQixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDOztJQXlTakMsQ0FBQztJQWxTRyxlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU87SUFDUCx1QkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxRQUFRO0lBQ1IsNkJBQVUsR0FBVixVQUFXLElBQUk7UUFBZixpQkF3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QUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xCLENBQUM7SUFDRCwyQkFBUSxHQUFSO1FBQ0ksMkJBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELDRCQUFTLEdBQVQ7UUFDSSwyQkFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUE3U0Q7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDSztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7MENBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztnREFDUztJQVRaLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FrVDVCO0lBQUQsZUFBQztDQWxURCxBQWtUQyxDQWxUcUMsRUFBRSxDQUFDLFNBQVMsR0FrVGpEO2tCQWxUb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5q2k6aG16Z2i5Li65byV5a+86aG16Z2i77yM5ZCO57ut5pu05paw5oiQ5qih5p2/77yM5pqC5pe25YG35oeS5aSN5Yi25Li75ri45oiP5Zy65pmv5Luj56CB6L+b5p2lXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tICcuL0dhbWVEYXRhJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9Ob3RpZmljYXRpb24nO1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGRpYWxvZzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIGN1c3RvbTogbnVtYmVyO1xyXG4gICAgUG9zX0FycmF5OiBhbnk7XHJcbiAgICBiYWxsX0FycmF5OiBhbnk7XHJcbiAgICBiZWdpbjogYm9vbGVhbjtcclxuICAgIHRpcDogY2MuTm9kZTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gPSAwO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgIHRoaXMuYmFsbC56SW5kZXggPSAxMDA7XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aXAgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vlvJXlr7zmlrnms5VcclxuICAgIHN0YXJ0R3VpZGUodHlwZSl7XHJcbiAgICAgICAgbGV0IG51bSA9IHRoaXMuY3VzdG9tO1xyXG4gICAgICAgIGxldCB0aW1lID0gMC41O1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ0aXBcIiArIG51bTtcclxuICAgICAgICBpZih0eXBlIT0wKXtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KSAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnRpcCA9IHRoaXMuZGlhbG9nLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcC5hY3RpdmUgPSB0cnVlOyB0aGlzLnRpcC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aXApXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF6Zmk5omA5pyJ5aSq6ZizXHJcbiAgICBiZWdpbkNsaWNrKCl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlvIDlp4vmuLjmiI/vvIzmiJbogIXngrnlh7vot7Pov4flvJXlr7xcclxuICAgIGNsaWNrQnRuKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuIvkuIDmraXmjInpkq5cclxuICAgIG5leHQoKXtcclxuICAgICAgICBsZXQgdGltZSA9IDAuNTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLnRpcClcclxuICAgICAgICAudG8odGltZSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gKz0gMTtcclxuICAgICAgICAgICAgaWYoIHRoaXMuY3VzdG9tID09IDIpICB0aGlzLmNyZWF0ZVN1bih0cnVlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gMykgIHRoaXMuY3JlYXRlU3VuKGZhbHNlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gNCkgIHRoaXMuYmVnaW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uuWkqumYs1xyXG4gICAgY3JlYXRlU3VuKHR5cGUpe1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKGNjLnYyKC0yNTAsLTIxNiksY2MudjIoMjAwLC0xMTUpLGNjLnYyKC0zNSwtNTAwKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lMSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksdGhpcy5Qb3NfQXJyYXlbMF0ueCx0aGlzLlBvc19BcnJheVswXS55KVxyXG4gICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUxLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVswXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDAsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDEpXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWUyID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLlBvc19BcnJheVswXS54LHRoaXMuUG9zX0FycmF5WzBdLnksdGhpcy5Qb3NfQXJyYXlbMV0ueCx0aGlzLlBvc19BcnJheVsxXS55KVxyXG4gICAgICAgICAgICBsZXQgdGltZTMgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSx0aGlzLlBvc19BcnJheVsyXS54LHRoaXMuUG9zX0FycmF5WzJdLnkpXHJcbiAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSksXHJcbiAgICAgICAgICAgIDAuNSk7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUyLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVsxXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDEsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuNSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzJdLngsdGhpcy5Qb3NfQXJyYXlbMl0ueSksXHJcbiAgICAgICAgICAgICAgICAwLjUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudG8odGltZTMse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5WzJdfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJhbGwoMiwwLDAsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yib5bu65aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBiYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUxKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIGJhbGwuZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Top5LluqbliJvlu7rov57nur/nlKhcclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjg7XHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvJXlr7zmiJDlip9cclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICBjYy50d2Vlbih3aW4pXHJcbiAgICAgICAgLmRlbGF5KDAuNClcclxuICAgICAgICAudG8oMC4wMSx7c2NhbGU6Mi41fSlcclxuICAgICAgICAudG8oMC4zNSx7c2NhbGU6MX0pXHJcbiAgICAgICAgLmRlbGF5KDAuNilcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgd2luLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGk9MTsgaTwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGltZUFycmF5LnB1c2godGltZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWVBcnJheVtrLTFdLHt4OnRoaXMuYmFsbF9BcnJheVtrXS54LHk6dGhpcy5iYWxsX0FycmF5W2tdLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lQ291bnQgKz0gKHRpbWVBcnJheVtrLTFdKzAuMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDQwMCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsICs9IDE7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0uZ2V0Q2hpbGRCeU5hbWUoXCJndWFuZ1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IDMpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+Wksei0peS6i+S7tlxyXG4gICAgbG9zZUxldmVsKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtrXSlcclxuICAgICAgICAgICAgLnRvKDAuNix7eDpiYWxsLngseTpiYWxsLnl9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/nu5PmnZ/pobXpnaLliqjnlLtcclxuICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAudG8oMC4yNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjE1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlpKrpmLPkuovku7ZcclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfVxyXG4gICAgLy/liJvpgKDov57nur/vvIzlj4LmlbDotbfngrnvvIznu4jngrnvvIzov57nur/ml7bpl7RcclxuICAgIGNyZWF0ZUxpbmUoc3RhcnQsZW5kLHRpbWUpe1xyXG4gICAgICAgIGxldCBsaW5lID0gY2MuaW5zdGFudGlhdGUodGhpcy5saW5lUHJlZmFiKTtcclxuICAgICAgICBsaW5lLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIik7XHJcbiAgICAgICAgbGluZS5zZXRQb3NpdGlvbihzdGFydC54LHN0YXJ0LnkpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5pGn5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOS4queCueS5i+mXtOeahOinkuW6piDnlKjkuo7lhpnov57nur8g56Gu5a6a6L+e57q/5pa55ZCRXHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -1200,746 +1193,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/test.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'f7f5dfmKidObZiMLtuBdAiq', 'test'); -// Script/test.ts - -if (this.level == 1) { - var data = { x: -200, y: -380, time: 0, timeCount: 0 }; - var timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -200, -380)); - var time = this.calculateDistance(this.ball.x, this.ball.y, -200, -380) + timeCount; - data = { x: -200, y: -380, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -250, -300)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -250, -300) + timeCount; - data = { x: -250, y: -300, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -300, 500)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -300, 500) + timeCount; - data = { x: -300, y: 500, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, 280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, 280) + timeCount; - data = { x: 208, y: 280, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, -280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, -280) + timeCount; - data = { x: 208, y: -280, time: time, timeCount: timeCount }; - this.now_Array.push(data); -} - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7SUFDZixJQUFJLElBQUksR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUM7SUFDOUMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLFNBQVMsQ0FBQztJQUMvRSxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxDQUFDO0lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0YsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBQyxTQUFTLENBQUM7SUFDbkUsSUFBSSxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsQ0FBQztJQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxQixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RixJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsR0FBQyxTQUFTLENBQUM7SUFDbEUsSUFBSSxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNGLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsR0FBQyxTQUFTLENBQUM7SUFDakUsSUFBSSxHQUFHLEVBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxDQUFDO0lBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLFNBQVMsQ0FBQztJQUNsRSxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM3QiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImlmKHRoaXMubGV2ZWwgPT0gMSl7XHJcbiAgICBsZXQgZGF0YSA9IHt4Oi0yMDAseTotMzgwLHRpbWU6MCx0aW1lQ291bnQ6MH07XHJcbiAgICBsZXQgdGltZUNvdW50ID0gdGhpcy50aW1lQ291bnQgKyAoMC44LXRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksLTIwMCwtMzgwKSk7XHJcbiAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksLTIwMCwtMzgwKSt0aW1lQ291bnQ7XHJcbiAgICBkYXRhID0ge3g6LTIwMCx5Oi0zODAsdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnR9O1xyXG4gICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuXHJcbiAgICB0aW1lQ291bnQgPSB0aGlzLnRpbWVDb3VudCArICgwLjgtdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSwtMjUwLC0zMDApKTtcclxuICAgIHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS54LFxyXG4gICAgICAgIHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS55LC0yNTAsLTMwMCkrdGltZUNvdW50O1xyXG4gICAgZGF0YSA9IHt4Oi0yNTAseTotMzAwLHRpbWU6dGltZSx0aW1lQ291bnQ6dGltZUNvdW50fTtcclxuICAgIHRoaXMubm93X0FycmF5LnB1c2goZGF0YSk7XHJcblxyXG4gICAgdGltZUNvdW50ID0gdGhpcy50aW1lQ291bnQgKyAoMC44LXRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksLTMwMCw1MDApKTtcclxuICAgIHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS54LFxyXG4gICAgICAgIHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS55LC0zMDAsNTAwKSt0aW1lQ291bnQ7XHJcbiAgICBkYXRhID0ge3g6LTMwMCx5OjUwMCx0aW1lOnRpbWUsdGltZUNvdW50OnRpbWVDb3VudH07XHJcbiAgICB0aGlzLm5vd19BcnJheS5wdXNoKGRhdGEpO1xyXG5cclxuICAgIHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuOC10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LDIwOCwyODApKTtcclxuICAgIHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS54LFxyXG4gICAgICAgIHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS55LDIwOCwyODApK3RpbWVDb3VudDtcclxuICAgIGRhdGEgPSB7eDoyMDgseToyODAsdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnR9O1xyXG4gICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuXHJcbiAgICB0aW1lQ291bnQgPSB0aGlzLnRpbWVDb3VudCArICgwLjgtdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSwyMDgsLTI4MCkpO1xyXG4gICAgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5ub3dfQXJyYXlbdGhpcy5ub3dfQXJyYXkubGVuZ3RoLTFdLngsXHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXlbdGhpcy5ub3dfQXJyYXkubGVuZ3RoLTFdLnksMjA4LC0yODApK3RpbWVDb3VudDtcclxuICAgIGRhdGEgPSB7eDoyMDgseTotMjgwLHRpbWU6dGltZSx0aW1lQ291bnQ6dGltZUNvdW50fTtcclxuICAgIHRoaXMubm93X0FycmF5LnB1c2goZGF0YSk7XHJcbn0iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Sun.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '4be67sdkexCyqLl0NHd9N1f', 'Sun'); -// Script/Sun.ts - -"use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Notification_1 = require("./Notification"); -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - // LIFE-CYCLE CALLBACKS: - // onLoad () {} - NewClass.prototype.start = function () { - this.touch = true; - this.move = false; - this._color = 0; - this._speed = 0; - var shan = this.node.getChildByName("shan"); - cc.tween(shan) - .repeatForever(cc.tween() - .to(1, { opacity: 0, scale: 0.5, }) - .delay(0.2) - .to(1, { opacity: 255, scale: 1.2 }) - .delay(0.5)) - .start(); - }; - NewClass.prototype.init = function (_id, color, speed, repeat) { - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - }; - NewClass.prototype.showNumber = function (type) { - this.node.getChildByName("number").active = type; - if (type == true) - this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; - }; - NewClass.prototype.clickBtn = function () { - var temp = this.node.parent.parent.name; - // console.log(temp,this.move,this.touch); - if (this.move == false && this.touch == true) { - if (this.node.parent.parent.name == "GameNode") { - if (this.node.parent.parent.getComponent("GameManager").begin == true) { - cc.tween(this.node.getChildByName("action")) - .to(0.5, { opacity: 0, scale: 1.8 }) - .start(); - cc.tween(this.node) - .to(0.3, { scale: 1.3 }) - .to(0.3, { scale: 1 }) - .start(); - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - } - else { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - } - }; - NewClass.prototype.clickBtn2 = function () { - if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - }; - NewClass.prototype.update = function (dt) { - }; - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsK0NBQThDO0FBRzlDO0lBQXNDLDRCQUFZO0lBQWxEOztJQWlGQSxDQUFDO0lBekVHLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ2IsYUFBYSxDQUNWLEVBQUUsQ0FBQyxLQUFLLEVBQUU7YUFDVCxFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFFLENBQUM7YUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsQ0FBQzthQUM3QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQ2Q7YUFDQSxLQUFLLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFRCx1QkFBSSxHQUFKLFVBQUssR0FBRyxFQUFDLEtBQUssRUFB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QUFDO0lBaEZnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBaUY1QjtJQUFELGVBQUM7Q0FqRkQsQUFpRkMsQ0FqRnFDLEVBQUUsQ0FBQyxTQUFTLEdBaUZqRDtrQkFqRm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVNYW5hZ2VyIGZyb20gJy4vR2FtZU1hbmFnZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgaWRfTnVtYmVyOm51bWJlclxyXG4gICAgX3NwZWVkOm51bWJlclxyXG4gICAgX2NvbG9yOm51bWJlclxyXG4gICAgdG91Y2g6Ym9vbGVhblxyXG4gICAgX3JlcGVhdDpib29sZWFuXHJcbiAgICBtb3ZlOmJvb2xlYW5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLnRvdWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9jb2xvciA9IDA7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSAwO1xyXG4gICAgICAgIHZhciBzaGFuID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hhblwiKTtcclxuXHJcbiAgICAgICAgY2MudHdlZW4oc2hhbilcclxuICAgICAgICAucmVwZWF0Rm9yZXZlcihcclxuICAgICAgICAgICAgY2MudHdlZW4oKVxyXG4gICAgICAgICAgICAudG8oMSx7b3BhY2l0eTowLHNjYWxlOjAuNSx9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgICAgICAudG8oMSx7b3BhY2l0eToyNTUsc2NhbGU6MS4yfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuNSlcclxuICAgICAgICApXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjbGlja0J0bigpe1xyXG4gICAgICAgIHZhciB0ZW1wID0gdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQubmFtZTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0ZW1wLHRoaXMubW92ZSx0aGlzLnRvdWNoKTtcclxuICAgICAgICBpZiggdGhpcy5tb3ZlID09IGZhbHNlICYmIHRoaXMudG91Y2ggPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFjdGlvblwiKSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbi5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMudG91Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbi5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrQnRuMigpe1xyXG4gICAgICAgIGlmKCB0aGlzLnRvdWNoID09IHRydWUgJiYgdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQuZ2V0Q29tcG9uZW50KFwiR3VpZGVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgTm90aWZpY2F0aW9uLmVtaXQoXCJjbGlja1N1blwiLHRoaXMuaWRfTnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlIChkdCkge1xyXG4gICAgfVxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Helloworld.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e1b90/rohdEk4SdmmEZANaD', 'Helloworld'); -// Script/Helloworld.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var GameData_1 = require("./GameData"); -var List_1 = require("./ListView/List"); -var serverAPI_1 = require("./crypto/serverAPI"); -// import { apiSign } from "./crypto/sign"; -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Player = null; - _this.selfNode = null; - _this.phone = null; - return _this; - } - Helloworld.prototype.onLoad = function () { - this.Player.getChildByName("rank").active = false; - this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); - this.listData = []; - this.selfData = null; - this.rankNumber = 100; - this.rankTotal = 100; - this.selfNode.opacity = 0; - }; - Helloworld.prototype.start = function () { - this.Player.active = false; - this.getRank(); - }; - Helloworld.prototype.getRankData = function (data) { - if (data) { - // console.log(data); - this.listData = data.data.list; - this.selfData = data.data.info; - var rankData = []; - var self = false; - for (var i = 0; i <= this.listData.length - 1; i++) { - rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic }); - if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) { - self = true; - this.rankNumber = i; - this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; - } - if (i == (this.listData.length - 1) && self == false) { - this.rankNumber = i; - this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; - } - } - this.rankList.setData(rankData); - if (this.selfData.nickName.length > 6) { - this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "..."; - } - this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; - this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; - this.setPic(this.selfData.pic); - this.setPic2(this.selfData.pic); - if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { - this.selfNode.getChildByName("rank").getChildByName("one").active = true; - } - else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") { - this.selfNode.getChildByName("rank").getChildByName("two").active = true; - } - else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") { - this.selfNode.getChildByName("rank").getChildByName("three").active = true; - } - else { - // this.selfNode.getChildByName("four").active = true; - } - this.selfNode.opacity = 255; - if (this.selfData.totalSunCount == 0) - this.selfNode.opacity = 0; - } - }; - Helloworld.prototype.backClick = function () { - cc.director.loadScene("LoadScene"); - }; - Helloworld.prototype.playerAction = function () { - var _this = this; - //-254 377 210 453 - this.Player.getChildByName("rank").active = false; - var time = 1; - this.tween = cc.tween(this.Player) - .to(2, { position: cc.v3(210, 453, 0) }) - .call(function () { - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }) - .start(); - time = (this.listData.length - this.rankNumber) / this.listData.length; - if (this.listData.length >= 99) { - if (this.rankNumber >= 99) { - time = (Math.random() * 49 + 1) / 100; - var matchId = cc.sys.localStorage.getItem("matchNumber"); - if (matchId == null || matchId == undefined) { - time = 0; - } - } - } - else { - } - setTimeout(function () { - if (_this.tween) - _this.tween.stop(); - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }, time * 2000); - }; - Helloworld.prototype.getRank = function () { - var postData = { - "page": 1, - "pageSize": 100 - }; - serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); - }; - Helloworld.prototype.setPic = function (pic) { - var _this = this; - this.phone.node.parent.getChildByName("icon").active = false; - this.phone.node.active = false; - var url = pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.phone.node.parent.getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - } - else { - console.log(err, texture); - } - }); - }; - Helloworld.prototype.setPic2 = function (pic) { - var _this = this; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - var url = pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.Player.opacity = 255; - _this.Player.getChildByName("mask").getChildByName("icon").active = false; - _this.Player.getChildByName("mask").getChildByName("phone").active = true; - _this.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) - .spriteFrame = new cc.SpriteFrame(texture); - setTimeout(function () { - _this.playerAction(); - }, 500); - // console.log("设置头像成功",err); - } - else { - _this.Player.opacity = 255; - // console.log("设置头像失败",url); - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - console.log(err, texture); - setTimeout(function () { - _this.playerAction(); - }, 500); - } - }); - }; - __decorate([ - property(cc.Node) - ], Helloworld.prototype, "Player", void 0); - __decorate([ - property(cc.Node) - ], Helloworld.prototype, "selfNode", void 0); - __decorate([ - property(cc.Sprite) - ], Helloworld.prototype, "phone", void 0); - Helloworld = __decorate([ - ccclass - ], Helloworld); - return Helloworld; -}(cc.Component)); -exports.default = Helloworld; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxIZWxsb3dvcmxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFrQztBQUNsQyx3Q0FBbUM7QUFDbkMsZ0RBQTBDO0FBQzFDLDJDQUEyQztBQUVyQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUc1QztJQUF3Qyw4QkFBWTtJQUFwRDtRQUFBLHFFQXNNQztRQW5NRyxZQUFNLEdBQVksSUFBSSxDQUFDO1FBR3ZCLGNBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsV0FBSyxHQUFjLElBQUksQ0FBQzs7SUE2TDVCLENBQUM7SUFwTEcsMkJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMEJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGdDQUFXLEdBQVgsVUFBWSxJQUFJO1FBQ1osSUFBRyxJQUFJ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IjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR2FtZURhdGEgZnJvbSBcIi4vR2FtZURhdGFcIjtcclxuaW1wb3J0IExpc3QgZnJvbSBcIi4vTGlzdFZpZXcvTGlzdFwiO1xyXG5pbXBvcnQgSHR0cFV0aWwgZnJvbSBcIi4vY3J5cHRvL3NlcnZlckFQSVwiO1xyXG4vLyBpbXBvcnQgeyBhcGlTaWduIH0gZnJvbSBcIi4vY3J5cHRvL3NpZ25cIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWxsb3dvcmxkIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIFBsYXllcjogY2MuTm9kZSA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcclxuICAgIHBob25lOiBjYy5TcHJpdGUgPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAgICAgLy/mjpLooYzmppxcclxuICAgIHR3ZWVuOiBjYy5Ud2VlbjxjYy5Ob2RlPjtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyO1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7XHJcblxyXG4gICAgb25Mb2FkKCkge1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJhbmtMaXN0ID0gY2MuZmluZChcIlNjcm9sbFZpZXdcIiwgdGhpcy5ub2RlKS5nZXRDb21wb25lbnQoTGlzdCk7XHJcbiAgICAgICAgdGhpcy5saXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZkRhdGEgPSBudWxsO1xyXG4gICAgICAgIHRoaXMucmFua051bWJlciA9IDEwMDtcclxuICAgICAgICB0aGlzLnJhbmtUb3RhbD0gMTAwO1xyXG4gICAgICAgIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ2V0UmFuaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJhbmtEYXRhKGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGRhdGEuZGF0YS5saXN0O1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgICAgIGxldCByYW5rRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD10aGlzLmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgICAgICByYW5rRGF0YS5wdXNoKHtyYW5rOihpKzEpLCBuYW1lOnRoaXMubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRoaXMubGlzdERhdGFbaV0udG90YWxTdW5Db3VudCwgcGljOnRoaXMubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPT0gdGhpcy5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPShpKzEpICsgXCJcIjsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZihpID09ICh0aGlzLmxpc3REYXRhLmxlbmd0aC0xKSAmJiBzZWxmID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5sZW5ndGggPiA2KXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRhdGEubmlja05hbWU9IHRoaXMuc2VsZkRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNikgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWMyKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPT0gXCIxXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID09IFwiMlwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9PSBcIjNcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInRocmVlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmb3VyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0aGlzLnNlbGZEYXRhLnRvdGFsU3VuQ291bnQgPT0gMCkgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBiYWNrQ2xpY2soKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcGxheWVyQWN0aW9uKCl7XHJcbiAgICAgICAgLy8tMjU0IDM3NyAgMjEwIDQ1M1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgXHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOjEwMFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRQaWMyKHBpYyl7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLlBsYXllci5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXHJcbiAgICAgICAgICAgICAgICAuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6K6+572u5aS05YOP5aSx6LSlXCIsdXJsKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/BallAudioManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'bd9f78XOD5PmLTjk2rLYBiz', 'BallAudioManager'); -// Script/BallAudioManager.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: { - //背景音乐 - audioGameBgm0: { - "default": null, - type: cc.AudioClip - }, - // 按钮点击 - audioButtonClick: { - "default": null, - type: cc.AudioClip - }, - // 报警音效 - audioWarning: { - "default": null, - type: cc.AudioClip - }, - //游戏开始音效 - audioWin: { - "default": null, - type: cc.AudioClip - }, - reward: false, - finish: false, - rewardCount: 0 - }, - ctor: function ctor() { - this.mAudioMap = {}; - /** - * 默认音量大小 - * @type {number} - */ - - this.bgMusicVolume = 0.1; - this.effectMusicVolume = 1; - this.mMusicSwitch = 1; - this.mEffectSwitch = 1; - }, - play: function play(audioSource, loop, callback, isBgMusic) { - if (isBgMusic && !this.mMusicSwitch) return; - if (!isBgMusic && !this.mEffectSwitch) return; - var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; - - if (cc.sys.isBrowser) { - if (audioSource == this.brickSound) { - volume = 0.1; - } - - var context = cc.audioEngine.play(audioSource, loop, volume); - - if (callback) { - cc.audioEngine.setFinishCallback(context, function () { - callback.call(this); - }.bind(this)); - } // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); - - - this.mAudioMap[audioSource] = context; - return audioSource; - } else { - var context = wx.createInnerAudioContext(); - context.autoplay = true; - context.loop = loop; - context.obeyMuteSwitch = true; - context.volume = volume; - - if (callback) { - context.onEnded(function () { - callback.call(this); - }.bind(this)); - } else { - context.offEnded(); - } // var audioPath = cc.url.raw("resources/BallMaster/sounds" + audioSource.name + ".mp3"); - - - context.src = audioSource.nativeUrl; - context.play(); - this.mAudioMap[audioSource] = context; // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl); - - return audioSource; - } - }, - save: function save() {// cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); - // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); - }, - onLoad: function onLoad() { - var _this = this; - - // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) { - // this.mMusicSwitch = parseInt(volume); - // }.bind(this), 1); - // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) { - // this.mEffectSwitch = parseInt(volume); - // }.bind(this), 1); - this.reward = false; - this.finish = false; - this.rewardCount = 0; - window.addEventListener('rewardCanUse', function () { - // 此时激励可用 游戏内部逻辑 - _this.reward = true; - }); - 'undefined' != typeof window['reward'] ? window.dispatchEvent(window['reward']) : ""; - this.preload(); - }, - preload: function preload() { - if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { - return; - } - - var musics = [this.audioGameBgm0]; - musics.forEach(function (path) {// var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; - // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { - // cc.loader.load(musicPath, function(err, remoteUrl) { - // if (err) { - // cc.error(err.message || err); - // return; - // } - // }); - // } - }); - }, - getAudioMusicSwitch: function getAudioMusicSwitch() { - return this.mMusicSwitch; - }, - getAudioEffectSwitch: function getAudioEffectSwitch() { - return this.mEffectSwitch; - }, - trunAudioSound: function trunAudioSound(on) { - this.switchMusic(on); - this.switchEffect(on); - }, - switchMusic: function switchMusic(on) { - if (this.mMusicSwitch != (on ? 1 : 0)) { - this.mMusicSwitch = 1 - this.mMusicSwitch; // this.save(); - } - - if (on) { - this.playMusicGame(); - } else { - this.stopMusic(); - } - }, - switchEffect: function switchEffect(on) { - if (this.mEffectSwitch != (on ? 1 : 0)) { - this.mEffectSwitch = 1 - this.mEffectSwitch; // this.save(); - } - }, - onHide: function onHide() { - cc.audioEngine.pauseAll(); // if (CC_JSB) { - // } else { - // for (var key in this.mAudioMap) { - // if (key === this.mMusicKey) { - // this.mAudioMap[key].pause(); - // } else { - // this.mAudioMap[key].stop(); - // } - // } - // } - }, - onShow: function onShow() { - cc.audioEngine.resumeAll(); // if (CC_JSB) { - // } else { - // if (!this.mMusicSwitch) return; - // var context = this.mAudioMap[this.mMusicKey]; - // if (context) { - // context.play(); - // } - // } - }, - playMusic: function playMusic(key, callback, loop) { - loop = typeof loop == 'undefined' || loop ? true : false; - this.stopMusic(); - this.mMusicKey = this.play(key, loop, callback, true); - }, - - /** - * 游戏背景音乐 - */ - playMusicGame: function playMusicGame() { - this.playMusic(this.audioGameBgm0); - }, - - /** - * 停止背景音乐播放 - */ - stopMusic: function stopMusic() { - // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); - var context = this.mAudioMap[this.mMusicKey]; - - if (typeof context != 'undefined') { - if (cc.sys.isBrowser) { - cc.audioEngine.stop(context); - } else { - context.stop(); - } - - cc.audioEngine.stop(context); - } - }, - // 炸弹、火箭爆炸音效 - playBomb: function playBomb() { - return this.play(this.audioBomb, false); - }, - //激光音效 - playJiGuang: function playJiGuang() { - return this.play(this.audioJiGuang, false); - }, - //技能音效 - playItem1: function playItem1() { - return this.play(this.audioItem1, false); - }, - - /* - * 游戏开始音效 - * - */ - playGameStart: function playGameStart() { - return this.play(this.audioGameStart, false); - }, - - /* - * 失败的游戏结束 - */ - playGameOver: function playGameOver() { - return this.play(this.audioGameOver, false); - }, - - /* - * 成功的游戏结束 - */ - playGameResultFailed: function playGameResultFailed() { - return this.play(this.audioGameResultFail, false); - }, - - /* - * 成功的游戏结束 - */ - playGameResultSuccess: function playGameResultSuccess() { - return this.play(this.audioGameResultSuccess, false); - }, - - /** - * 报警的音效 - */ - playWarning: function playWarning() { - return this.play(this.audioWarning, false); - }, - playWin: function playWin() { - return this.play(this.audioWin, false); - }, - - /* - * 方块碰撞的声音 - */ - playBrick: function playBrick() { - return this.play(this.brickSound, false); - }, - //方块破碎的声音 - brickBoom: function brickBoom() { - return this.play(this.audioObj, false); - }, - - /** - * 按钮 - */ - playAudioButton: function playAudioButton() { - return this.play(this.audioButtonClick, false); - }, - playRandomMatch: function playRandomMatch() { - this.playMusic(this.randomMatchSound); - }, - playMatchFoundSound: function playMatchFoundSound() { - this.stopMusic(); - return this.play(this.matchFoundSound, false); - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCYWxsQXVkaW9NYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiYXVkaW9HYW1lQmdtMCIsInR5cGUiLCJBdWRpb0NsaXAiLCJhdWRpb0J1dHRvbkNsaWNrIiwiYXVkaW9XYXJuaW5nIiwiYXVkaW9XaW4iLCJyZXdhcmQiLCJmaW5pc2giLCJyZXdhcmRDb3VudCIsImN0b3IiLCJtQXVkaW9NYXAiLCJiZ011c2ljVm9sdW1lIiwiZWZmZWN0TXVzaWNWb2x1bWUiLCJtTXVzaWNTd2l0Y2giLCJtRWZmZWN0U3dpdGNoIiwicGxheSIsImF1ZGlvU291cmNlIiwibG9vcCIsImNhbGxiYWNrIiwiaXNCZ011c2ljIiwidm9sdW1lIiwic3lzIiwiaXNCcm93c2VyIiwiYnJpY2tTb3VuZCIsImNvbnRleHQiLCJhdWRpb0VuZ2luZSIsInNldEZpbmlzaENhbGxiYWNrIiwiY2FsbCIsImJpbmQiLCJ3eCIsImNyZWF0ZUlubmVyQXVkaW9Db250ZXh0IiwiYXV0b3BsYXkiLCJvYmV5TXV0ZVN3aXRjaCIsIm9uRW5kZWQiLCJvZmZFbmRlZCIsInNyYyIsIm5hdGl2ZVVybCIsInNhdmUiLCJvbkxvYWQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwiZGlzcGF0Y2hFdmVudCIsInByZWxvYWQiLCJwbGF0Zm9ybSIsIldFQ0hBVF9HQU1FIiwibXVzaWNzIiwiZm9yRWFjaCIsInBhdGgiLCJnZXRBdWRpb011c2ljU3dpdGNoIiwiZ2V0QXVkaW9FZmZlY3RTd2l0Y2giLCJ0cnVuQXVkaW9Tb3VuZCIsIm9uIiwic3dpdGNoTXVzaWMiLCJzd2l0Y2hFZmZlY3QiLCJwbGF5TXVzaWNHYW1lIiwic3RvcE11c2ljIiwib25IaWRlIiwicGF1c2VBbGwiLCJvblNob3ciLCJyZXN1bWVBbGwiLCJwbGF5TXVzaWMiLCJrZXkiLCJtTXVzaWNLZXkiLCJzdG9wIiwicGxheUJvbWIiLCJhdWRpb0JvbWIiLCJwbGF5SmlHdWFuZyIsImF1ZGlvSmlHdWFuZyIsInBsYXlJdGVtMSIsImF1ZGlvSXRlbTEiLCJwbGF5R2FtZVN0YXJ0IiwiYXVkaW9HYW1lU3RhcnQiLCJwbGF5R2FtZU92ZXIiLCJhdWRpb0dhbWVPdmVyIiwicGxheUdhbWVSZXN1bHRGYWlsZWQiLCJhdWRpb0dhbWVSZXN1bHRGYWlsIiwicGxheUdhbWVSZXN1bHRTdWNjZXNzIiwiYXVkaW9HYW1lUmVzdWx0U3VjY2VzcyIsInBsYXlXYXJuaW5nIiwicGxheVdpbiIsInBsYXlCcmljayIsImJyaWNrQm9vbSIsImF1ZGlvT2JqIiwicGxheUF1ZGlvQnV0dG9uIiwicGxheVJhbmRvbU1hdGNoIiwicmFuZG9tTWF0Y2hTb3VuZCIsInBsYXlNYXRjaEZvdW5kU291bmQiLCJtYXRjaEZvdW5kU291bmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBRUxDLEVBQUFBLFVBQVUsRUFBQztBQUNQO0FBQ0FDLElBQUFBLGFBQWEsRUFBQztBQUNWLGlCQUFRLElBREU7QUFFVkMsTUFBQUEsSUFBSSxFQUFDTCxFQUFFLENBQUNNO0FBRkUsS0FGUDtBQU1QO0FBQ0FDLElBQUFBLGdCQUFnQixFQUFDO0FBQ2IsaUJBQVEsSUFESztBQUViRixNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGSyxLQVBWO0FBV1A7QUFDQUUsSUFBQUEsWUFBWSxFQUFDO0FBQ1QsaUJBQVEsSUFEQztBQUVUSCxNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGQyxLQVpOO0FBaUJQO0FBQ0FHLElBQUFBLFFBQVEsRUFBQztBQUNMLGlCQUFRLElBREg7QUFFTEosTUFBQUEsSUFBSSxFQUFDTCxFQUFFLENBQUNNO0FBRkgsS0FsQkY7QUF1QlBJLElBQUFBLE1BQU0sRUFBRSxLQXZCRDtBQXdCUEMsSUFBQUEsTUFBTSxFQUFFLEtBeEJEO0FBeUJQQyxJQUFBQSxXQUFX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TDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEscUJBN1FLLG1DQThRTDtBQUNJLFdBQU8sS0FBSzdELElBQUwsQ0FBVSxLQUFLOEQsc0JBQWYsRUFBc0MsS0FBdEMsQ0FBUDtBQUNILEdBaFJJOztBQWlSTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsV0FwUksseUJBcVJMO0FBQ0ksV0FBTyxLQUFLL0QsSUFBTCxDQUFVLEtBQUtYLFlBQWYsRUFBNEIsS0FBNUIsQ0FBUDtBQUVILEdBeFJJO0FBMFJMMkUsRUFBQUEsT0ExUksscUJBMlJMO0FBQ0ksV0FBTyxLQUFLaEUsSUFBTCxDQUFVLEtBQUtWLFFBQWYsRUFBd0IsS0FBeEIsQ0FBUDtBQUNILEdBN1JJOztBQStSTDtBQUNKO0FBQ0E7QUFDSTJFLEVBQUFBLFNBbFNLLHVCQW1TTDtBQUNJLFdBQU8sS0FBS2pFLElBQUwsQ0FBVSxLQUFLUSxVQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQXJTSTtBQXNTTDtBQUNBMEQsRUFBQUEsU0F2U0ssdUJBdVNNO0FBQ1AsV0FBTyxLQUFLbEUsSUFBTCxDQUFVLEtBQUttRSxRQUFmLEVBQXdCLEtBQXhCLENBQVA7QUFDSCxHQXpTSTs7QUEwU0w7QUFDSjtBQUNBO0FBQ0lDLEVBQUFBLGVBN1NLLDZCQTZTYztBQUNmLFdBQU8sS0FBS3BFLElBQUwsQ0FBVSxLQUFLWixnQkFBZixFQUFpQyxLQUFqQyxDQUFQO0FBQ0gsR0EvU0k7QUFpVExpRixFQUFBQSxlQWpUSyw2QkFrVEw7QUFDSSxTQUFLeEIsU0FBTCxDQUFlLEtBQUt5QixnQkFBcEI7QUFDSCxHQXBUSTtBQXFUTEMsRUFBQUEsbUJBclRLLGlDQXNUTDtBQUNJLFNBQUsvQixTQUFMO0FBQ0EsV0FBTyxLQUFLeEMsSUFBTCxDQUFVLEtBQUt3RSxlQUFmLEVBQWdDLEtBQWhDLENBQVA7QUFDSDtBQXpUSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuICAgIHByb3BlcnRpZXM6e1xuICAgICAgICAvL+iDjOaZr+mfs+S5kFxuICAgICAgICBhdWRpb0dhbWVCZ20wOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaMiemSrueCueWHu1xuICAgICAgICBhdWRpb0J1dHRvbkNsaWNrOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaKpeitpumfs+aViFxuICAgICAgICBhdWRpb1dhcm5pbmc6e1xuICAgICAgICAgICAgZGVmYXVsdDpudWxsLFxuICAgICAgICAgICAgdHlwZTpjYy5BdWRpb0NsaXBcbiAgICAgICAgfSxcblxuICAgICAgICAvL+a4uOaIj+W8gOWni+mfs+aViFxuICAgICAgICBhdWRpb1dpbjp7XG4gICAgICAgICAgICBkZWZhdWx0Om51bGwsXG4gICAgICAgICAgICB0eXBlOmNjLkF1ZGlvQ2xpcFxuICAgICAgICB9LFxuXG4gICAgICAgIHJld2FyZDogZmFsc2UsXG4gICAgICAgIGZpbmlzaDogZmFsc2UsXG4gICAgICAgIHJld2FyZENvdW50OiAwXG5cbiAgICB9LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog6buY6K6k6Z+z6YeP5aSn5bCPXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJnTXVzaWNWb2x1bWUgPSAwLjE7XG4gICAgICAgIHRoaXMuZWZmZWN0TXVzaWNWb2x1bWUgPSAxO1xuXG4gICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMTtcbiAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMTtcbiAgICB9LFxuICAgIHBsYXkgOiBmdW5jdGlvbihhdWRpb1NvdXJjZSwgbG9vcCwgY2FsbGJhY2ssIGlzQmdNdXNpYykge1xuICAgICAgICBpZiAoaXNCZ011c2ljICYmICF0aGlzLm1NdXNpY1N3aXRjaCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzQmdNdXNpYyAmJiAhdGhpcy5tRWZmZWN0U3dpdGNoKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb1NvdXJjZSwgbG9vcCwgdm9sdW1lKTtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soY29udGV4dCwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY2Mud3d4Lk91dFB1dC5sb2coJ3BsYXkgYXVkaW8gZWZmZWN0IGlzQnJvd3NlcjogJyArIGNvbnRleHQuc3JjKTtcblxuICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBbYXVkaW9Tb3VyY2VdID0gY29udGV4dDtcbiAgICAgICAgICAgIHJldHVybiBhdWRpb1NvdXJjZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gd3guY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQoKTtcbiAgICAgICAgICAgIGNvbnRleHQuYXV0b3BsYXkgPSB0cnVlO1xuICAgICAgICAgICAgY29udGV4dC5sb29wID0gbG9vcDtcbiAgICAgICAgICAgIGNvbnRleHQub2JleU11dGVTd2l0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgY29udGV4dC52b2x1bWUgPSB2b2x1bWU7XG5cbiAgICAgICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGNvbnRleHQub25FbmRlZChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0Lm9mZkVuZGVkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgLy8gdmFyIGF1ZGlvUGF0aCA9IGNjLnVybC5yYXcoXCJyZXNvdXJjZXMvQmFsbE1hc3Rlci9zb3VuZHNcIiArIGF1ZGlvU291cmNlLm5hbWUgKyBcIi5tcDNcIik7XG4gICAgICAgICAgICBjb250ZXh0LnNyYyA9IGF1ZGlvU291cmNlLm5hdGl2ZVVybDtcbiAgICAgICAgICAgIGNvbnRleHQucGxheSgpXG4gICAgICAgICAgICB0aGlzLm1BdWRpb01hcFthdWRpb1NvdXJjZV0gPSBjb250ZXh0O1xuICAgICAgICBcbiAgICAgICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdwbGF5IGF1ZGlvIGVmZmVjdCB3eDogJyArIGF1ZGlvU291cmNlLm5hdGl2ZVVybCk7XG4gICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHNhdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH0sXG4gICAgb25Mb2FkKCkge1xuICAgICAgICAvLyBjYy53d3guU3RvcmFnZS5nZXRJdGVtKGNjLnd3eC5TdG9yYWdlLktleV9TZXR0aW5nX011c2ljX1ZvbHVtZSwgZnVuY3Rpb24odm9sdW1lKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2UuZ2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCBmdW5jdGlvbih2b2x1bWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cblxuICAgICAgICB0aGlzLnJld2FyZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJld2FyZENvdW50ID0gMDtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jld2FyZENhblVzZScsICgpID0+IHtcbiAgICAgICAgICAgIC8vIOatpOaXtua/gOWKseWPr+eUqCDmuLjmiI/lhoXpg6jpgLvovpFcbiAgICAgICAgICAgIHRoaXMucmV3YXJkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIHdpbmRvd1sncmV3YXJkJ10gPyBcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQod2luZG93WydyZXdhcmQnXSk6XCJcIlxuXG4gICAgICAgIHRoaXMucHJlbG9hZCgpO1xuICAgIH0sXG4gICAgcHJlbG9hZCA6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoIShjYy5zeXMucGxhdGZvcm0gPT09IGNjLnN5cy5XRUNIQVRfR0FNRSkpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdmFyIG11c2ljcyA9IFtcbiAgICAgICAgICAgIHRoaXMuYXVkaW9HYW1lQmdtMCxcbiAgICAgICAgXTtcbiAgICAgICAgbXVzaWNzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgLy8gdmFyIG11c2ljUGF0aCA9IHd4RG93bmxvYWRlci5SRU1PVEVfU0VSVkVSX1JPT1QgKyBwYXRoO1xuICAgICAgICAgICAgLy8gaWYgKG11c2ljUGF0aCAhPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICYmIG11c2ljUGF0aC5lbmRzV2l0aCgnLm1wMycpKSB7XG4gICAgICAgICAgICAvLyAgICAgY2MubG9hZGVyLmxvYWQobXVzaWNQYXRoLCBmdW5jdGlvbihlcnIsIHJlbW90ZVVybCkge1xuICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBjYy5lcnJvcihlcnIubWVzc2FnZSB8fCBlcnIpO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH0pXG4gICAgfSxcblxuICAgIGdldEF1ZGlvTXVzaWNTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubU11c2ljU3dpdGNoO1xuXG4gICAgfSxcbiAgICBnZXRBdWRpb0VmZmVjdFN3aXRjaCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5tRWZmZWN0U3dpdGNoO1xuICAgIH0sXG4gICAgdHJ1bkF1ZGlvU291bmQob24pXG4gICAge1xuICAgICAgICB0aGlzLnN3aXRjaE11c2ljKG9uKTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFZmZlY3Qob24pXG4gICAgfSxcbiAgICBzd2l0Y2hNdXNpYyA6IGZ1bmN0aW9uKG9uKSB7XG4gICAgICAgIGlmICh0aGlzLm1NdXNpY1N3aXRjaCAhPSAob24/MTowKSlcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5tTXVzaWNTd2l0Y2ggPSAxLXRoaXMubU11c2ljU3dpdGNoO1xuICAgICAgICAgICAgLy8gdGhpcy5zYXZlKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBpZihvbilcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5wbGF5TXVzaWNHYW1lKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBzd2l0Y2hFZmZlY3QgOiBmdW5jdGlvbihvbikge1xuICAgICAgICBpZiAodGhpcy5tRWZmZWN0U3dpdGNoICE9IChvbj8xOjApKXtcbiAgICAgICAgICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IDEtdGhpcy5tRWZmZWN0U3dpdGNoO1xuICAgICAgICAgICAgLy8gdGhpcy5zYXZlKCk7XG5cbiAgICAgICAgfVxuICAgIH0sXG4gICAgb25IaWRlICgpIHtcbiAgICAgICAgY2MuYXVkaW9FbmdpbmUucGF1c2VBbGwoKTtcblxuICAgICAgICAvLyBpZiAoQ0NfSlNCKSB7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5tQXVkaW9NYXApIHtcbiAgICAgICAgLy8gICAgICAgICBpZiAoa2V5ID09PSB0aGlzLm1NdXNpY0tleSkge1xuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLm1BdWRpb01hcFtrZXldLnBhdXNlKCk7XG4gICAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5zdG9wKCk7XG4gICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgfSxcblxuICAgIG9uU2hvdyAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnJlc3VtZUFsbCgpO1xuXG4gICAgICAgIC8vIGlmIChDQ19KU0IpIHtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGlmICghdGhpcy5tTXVzaWNTd2l0Y2gpIHJldHVybjtcbiAgICAgICAgLy8gICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuICAgICAgICAvLyAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgLy8gICAgICAgICBjb250ZXh0LnBsYXkoKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH0sXG4gICAgcGxheU11c2ljIDogZnVuY3Rpb24oa2V5LCBjYWxsYmFjaywgbG9vcCkge1xuXG4gICAgICAgIGxvb3AgPSB0eXBlb2YgbG9vcCA9PSAndW5kZWZpbmVkJyAgfHwgbG9vcCA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICB0aGlzLm1NdXNpY0tleSA9IHRoaXMucGxheShrZXksIGxvb3AsIGNhbGxiYWNrLCB0cnVlKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOa4uOaIj+iDjOaZr+mfs+S5kFxuICAgICAqL1xuICAgIHBsYXlNdXNpY0dhbWUgKCkge1xuICAgICAgICB0aGlzLnBsYXlNdXNpYyh0aGlzLmF1ZGlvR2FtZUJnbTApO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICog5YGc5q2i6IOM5pmv6Z+z5LmQ5pKt5pS+XG4gICAgICovXG4gICAgc3RvcE11c2ljICgpIHtcbiAgICAgICAgLy8gY2Mud3d4Lk91dFB1dC5sb2coJ3N0b3BNdXNpYyBhdWRpbyBlZmZlY3Qgd3g6ICcgKyB0aGlzLm1NdXNpY0tleSk7XG5cbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLm1BdWRpb01hcFt0aGlzLm1NdXNpY0tleV07XG5cbiAgICAgICAgaWYgKHR5cGVvZihjb250ZXh0KSAhPSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnN0b3AoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnN0b3AoY29udGV4dCk7XG5cbiAgICAgICAgfVxuICAgIH0sXG4gICAgLy8g54K45by544CB54Gr566t54iG54K46Z+z5pWIXG4gICAgcGxheUJvbWIgKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9Cb21iLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvL+a/gOWFiemfs+aViFxuICAgIHBsYXlKaUd1YW5nKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0ppR3VhbmcsIGZhbHNlKTtcbiAgICB9LFxuICAgIC8v5oqA6IO96Z+z5pWIXG4gICAgcGxheUl0ZW0xKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0l0ZW0xLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvKlxuICAgICAqIOa4uOaIj+W8gOWni+mfs+aViFxuICAgICAqXG4gICAgICovXG4gICAgIHBsYXlHYW1lU3RhcnQoKVxuICAgICB7XG4gICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lU3RhcnQsIGZhbHNlKTtcbiAgICAgfSxcbiAgICAgLypcbiAgICAgICog5aSx6LSl55qE5ri45oiP57uT5p2fXG4gICAgICAqL1xuICAgICBwbGF5R2FtZU92ZXIoKVxuICAgICB7XG4gICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lT3ZlcixmYWxzZSk7XG4gICAgIH0sXG4gICAgLypcbiAgICAgICog5oiQ5Yqf55qE5ri45oiP57uT5p2fXG4gICAgICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0RmFpbGVkKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0dhbWVSZXN1bHRGYWlsLGZhbHNlKTtcbiAgICB9LFxuICAgIC8qXG4gICog5oiQ5Yqf55qE5ri45oiP57uT5p2fXG4gICovXG4gICAgcGxheUdhbWVSZXN1bHRTdWNjZXNzKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0dhbWVSZXN1bHRTdWNjZXNzLGZhbHNlKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOaKpeitpueahOmfs+aViFxuICAgICAqL1xuICAgIHBsYXlXYXJuaW5nKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb1dhcm5pbmcsZmFsc2UpO1xuXG4gICAgfSxcblxuICAgIHBsYXlXaW4oKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvV2luLGZhbHNlKTtcbiAgICB9LFxuXG4gICAgLypcbiAgICAgKiDmlrnlnZfnorDmkp7nmoTlo7Dpn7NcbiAgICAgKi9cbiAgICBwbGF5QnJpY2soKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmJyaWNrU291bmQsZmFsc2UpO1xuICAgIH0sXG4gICAgLy/mlrnlnZfnoLTnoo7nmoTlo7Dpn7NcbiAgICBicmlja0Jvb20oKXtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvT2JqLGZhbHNlKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOaMiemSrlxuICAgICAqL1xuICAgIHBsYXlBdWRpb0J1dHRvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0J1dHRvbkNsaWNrLCBmYWxzZSk7XG4gICAgfSxcblxuICAgIHBsYXlSYW5kb21NYXRjaCgpXG4gICAge1xuICAgICAgICB0aGlzLnBsYXlNdXNpYyh0aGlzLnJhbmRvbU1hdGNoU291bmQpO1xuICAgIH0sXG4gICAgcGxheU1hdGNoRm91bmRTb3VuZCgpXG4gICAge1xuICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMubWF0Y2hGb3VuZFNvdW5kLCBmYWxzZSk7XG4gICAgfVxufSk7Il19 //------QC-SOURCE-SPLIT------ (function() { @@ -1957,12 +1210,6 @@ cc._RF.push(module, 'f2f0bI5PsVI+o18xF6G+KVa', 'GameData'); // Script/GameData.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -1987,21 +1234,15 @@ var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData = /** @class */ (function (_super) { __extends(GameData, _super); function GameData() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } GameData_1 = GameData; - // LEVEL_INFO: { number: number; }[]; - // LEVEL_INFO:[]; - // LIFE-CYCLE CALLBACKS: GameData.prototype.onLoad = function () { if (GameData_1._instance == null) { GameData_1._instance = this; cc.game.addPersistRootNode(this.node); - this.AudioManager = this.node.getComponent('BallAudioManager'); + //设置为常驻,绑定音频以及游戏各类信息 + this.AudioManager = this.node.getComponent('AudioManager'); } else { this.node.destroy(); @@ -2009,6 +1250,13 @@ var GameData = /** @class */ (function (_super) { } }; GameData.prototype.start = function () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = []; + }; + GameData.prototype.GM_INFO_init = function () { this.GM_INFO = { // isEnd: false, mean_Time: 0, @@ -2022,6 +1270,26 @@ var GameData = /** @class */ (function (_super) { matchId: null, custom: 0 }; + }; + GameData.prototype.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + totalSunCount: 0, + movedSunCount: 0, + sunSpeed: 0, + overlapSunCount: 0, + colorList: [], + duration: 0, + difficultyLevel: 0, + sunList: [], + stepTimeList: [], + remainder: 120 + }; + }; + GameData.prototype.LEVEL_INFO_init = function () { this.LEVEL_INFO = [ { number: 3, @@ -2222,251 +1490,10 @@ var GameData = /** @class */ (function (_super) { maxDistance: 200, maxMove: 1200, repeat: 1 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 10, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, + } ]; - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; - this.GAME_DATA = []; - }; - GameData.prototype.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; }; var GameData_1; - __decorate([ - property(cc.Label) - ], GameData.prototype, "label", void 0); - __decorate([ - property - ], GameData.prototype, "text", void 0); GameData = GameData_1 = __decorate([ ccclass ], GameData); @@ -2485,7 +1512,2143 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXdmQztRQXJmRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBR3ZCLFVBQUksR0FBVyxPQUFPLENBQUM7O1FBaWZ2QixpQkFBaUI7SUFDckIsQ0FBQztpQkF4Zm9CLFFBQVE7SUFzQnpCLHFDQUFxQztJQUNyQyxpQkFBaUI7SUFFakIsd0JBQXdCO0lBR3hCLHlCQUFNLEdBQU47UUFDSSxJQUFJLFVBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLFVBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNsRTthQUNJO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDWCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFDLENBQUM7WUFDWCxLQUFLLEVBQUMsQ0FBQztZQUNQLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBQyxRQUFRO1lBQ2YsTUFBTSxFQUFDLE1BQU07WUFDYixLQUFLLEVBQUMsSUFBSTtZQUNWLEdBQUcsRUFBQyx1QkFBdUI7WUFDM0IsT0FBTyxFQUFDLEtBQUs7WUFDYixPQUFPLEVBQUMsSUFBSTtZQUNaLE1BQU0sRUFBRSxDQUFDO1NBQ1osQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDZDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQyxDQUFRLHFCQUFxQjthQUV4QztZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsRUFBRTtnQkFDVCxVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFDLENBQUM7Z0JBQ1IsVUFBVSxFQUFDLENBQUM7Z0JBQ1osU0FBUyxFQUFDLENBQUM7Z0JBQ1gsV0FBVyxFQUFDLEdBQUc7Z0JBQ2YsT0FBTyxFQUFDLElBQUk7Z0JBQ1osTUFBTSxFQUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxFQUFFO2dCQUNULFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7U0FJSixDQUFBO1FBRUQsSUFBSSxDQUFDLFVBQVU7WUFDWDtnQkFDSSxJQUFJLEVBQUMsQ0FBQztnQkFDTixPQUFPLEVBQUMsS0FBSztnQkFDYixLQUFLLEVBQUMsQ0FBQztnQkFDUCxhQUFhLEVBQUMsQ0FBQztnQkFDZixhQUFhLEVBQUMsQ0FBQztnQkFDZixRQUFRLEVBQUMsQ0FBQztnQkFDVixlQUFlLEVBQUMsQ0FBQztnQkFDakIsU0FBUyxFQUFDLEVBQUU7Z0JBQ1osUUFBUSxFQUFDLENBQUM7Z0JBQ1YsZUFBZSxFQUFDLENBQUM7Z0JBQ2pCLE9BQU8sRUFBQyxFQUFFO2dCQUNWLFlBQVksRUFBQyxFQUFFO2dCQUNmLFNBQVMsRUFBQyxHQUFHO2FBQ2hCLENBQUE7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBRWhCLENBQUE7SUFDTCxDQUFDO0lBRUQsNkJBQVUsR0FBVjtRQUNJLElBQUksQ0FBQyxVQUFVO1lBQ2Y7Z0JBQ0ksSUFBSSxFQUFDLENBQUM7Z0JBQ04sT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsS0FBSyxFQUFDLENBQUM7Z0JBQ1AsYUFBYSxFQUFDLENBQUM7Z0JBQ2YsYUFBYSxFQUFDLENBQUM7Z0JBQ2YsUUFBUSxFQUFDLENBQUM7Z0JBQ1YsZUFBZSxFQUFDLENBQUM7Z0JBQ2pCLFNBQVMsRUFBQyxFQUFFO2dCQUNaLFFBQVEsRUFBQyxDQUFDO2dCQUNWLGVBQWUsRUFBQyxDQUFDO2dCQUNqQixPQUFPLEVBQUMsRUFBRTtnQkFDVixZQUFZLEVBQUMsRUFBRTtnQkFDZixTQUFTLEVBQUMsR0FBRzthQUNoQixDQUFBO0lBQ0wsQ0FBQzs7SUFsZkQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzsyQ0FDSTtJQUd2QjtRQURDLFFBQVE7MENBQ2M7SUFOTixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBd2Y1QjtJQUFELGVBQUM7Q0F4ZkQsQUF3ZkMsQ0F4ZnFDLEVBQUUsQ0FBQyxTQUFTLEdBd2ZqRDtrQkF4Zm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVEYXRhIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsYWJlbDogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgdGV4dDogc3RyaW5nID0gJ2hlbGxvJztcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIEdNX0lORk86IHt9O1xyXG4gICAgQXVkaW9NYW5hZ2VyOiBhbnk7XHJcblxyXG4gICAgR0FNRV9EQVRBOiBhbnlbXTtcclxuICAgIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+WIneWni+W4g+WxgOacgOWkp+enu+WKqOi3neemu1xyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgQ0xJQ0tfREFUQTogeyB0eXBlOiBudW1iZXI7IHN1Y2Nlc3M6IGJvb2xlYW47IHJvdW5kOiBudW1iZXI7IHRvdGFsU3VuQ291bnQ6IG51bWJlcjsgbW92ZWRTdW5Db3VudDogbnVtYmVyOyBzdW5TcGVlZDogbnVtYmVyOyBvdmVybGFwU3VuQ291bnQ6IG51bWJlcjsgY29sb3JMaXN0OiBhbnlbXTsgZHVyYXRpb246IG51bWJlcjsgZGlmZmljdWx0eUxldmVsOiBudW1iZXI7IHN1bkxpc3Q6IGFueVtdOyBzdGVwVGltZUxpc3Q6IGFueVtdOyByZW1haW5kZXI6IG51bWJlcjsgfTtcclxuXHJcbiAgICAvLyBMRVZFTF9JTkZPOiB7IG51bWJlcjogbnVtYmVyOyB9W107XHJcbiAgICAvLyBMRVZFTF9JTkZPOltdO1xyXG5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIFxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICBpZiAoR2FtZURhdGEuX2luc3RhbmNlID09IG51bGwpIHtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlID0gdGhpcztcclxuICAgICAgICAgICAgY2MuZ2FtZS5hZGRQZXJzaXN0Um9vdE5vZGUodGhpcy5ub2RlKTtcclxuICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuQXVkaW9NYW5hZ2VyID0gdGhpcy5ub2RlLmdldENvbXBvbmVudCgnQmFsbEF1ZGlvTWFuYWdlcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0geyBcclxuICAgICAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBtZWFuX1RpbWU6MCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6MCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDMyMTMsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6JzEwMDAwOScsXHJcbiAgICAgICAgICAgIHVzZXJJZDoyMDAxMzksXHJcbiAgICAgICAgICAgIGd1aWRlOnRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6XCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIixcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgbWF0Y2hJZDpudWxsLFxyXG4gICAgICAgICAgICBjdXN0b206IDBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MywgICAgICAgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsICAgLy/lpKrpmLPlj6/np7vliqjkuKrmlbBcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLCAgICAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLCAvL+W4g+WxgOWQjuenu+WKqOacgOWkp+i3neemu1xyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjAgICAgICAgIC8v5piv5ZCm6YeN5Y+g77yM546w5ZyoMCDkuI3ph43lj6AgMSDph43lj6Ax5LiqXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWt6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NixcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiD6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NixcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWr6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Lmd6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MTAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzExIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6MCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIxIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMxIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQxIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQ0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQ1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjEwLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG5cclxuXHJcblxyXG4gICAgICAgIF1cclxuXHJcbiAgICAgICAgdGhpcy5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgICAgICByb3VuZDowLFxyXG4gICAgICAgICAgICAgICAgdG90YWxTdW5Db3VudDowLFxyXG4gICAgICAgICAgICAgICAgbW92ZWRTdW5Db3VudDowLFxyXG4gICAgICAgICAgICAgICAgc3VuU3BlZWQ6MCxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDowLFxyXG4gICAgICAgICAgICAgICAgY29sb3JMaXN0OltdLFxyXG4gICAgICAgICAgICAgICAgZHVyYXRpb246MCxcclxuICAgICAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDowLFxyXG4gICAgICAgICAgICAgICAgc3VuTGlzdDpbXSxcclxuICAgICAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDpbXSxcclxuICAgICAgICAgICAgICAgIHJlbWFpbmRlcjoxMjBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkdBTUVfREFUQSA9IFtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5cclxuICAgIENMSUNLX2luaXQoKXtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgcm91bmQ6MCxcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OjAsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOjAsXHJcbiAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6W10sXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOjAsXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDowLFxyXG4gICAgICAgICAgICBzdW5MaXN0OltdLFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6W10sXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjoxMjBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUUxQztJQUFzQyw0QkFBWTtJQUFsRDs7SUFzUkEsQ0FBQztpQkF0Um9CLFFBQVE7SUFnQnpCLHlCQUFNLEdBQU47UUFDSSxJQUFJLFVBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLFVBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzlEO2FBQ0k7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE9BQU87U0FDVjtJQUNMLENBQUM7SUFFRCx3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFDaEIsQ0FBQTtJQUNMLENBQUM7SUFFRCwrQkFBWSxHQUFaO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLGdCQUFnQjtZQUNoQixTQUFTLEVBQUMsQ0FBQztZQUNYLEtBQUssRUFBQyxDQUFDO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFDLFFBQVE7WUFDZixNQUFNLEVBQUMsTUFBTTtZQUNiLEtBQUssRUFBQyxJQUFJO1lBQ1YsR0FB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QUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1NBRUosQ0FBQTtJQUNMLENBQUM7O0lBclJnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBc1I1QjtJQUFELGVBQUM7Q0F0UkQsQUFzUkMsQ0F0UnFDLEVBQUUsQ0FBQyxTQUFTLEdBc1JqRDtrQkF0Um9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVEYXRhIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIEdNX0lORk86IHt9O1xyXG4gICAgQXVkaW9NYW5hZ2VyOiBhbnk7Ly/pn7PpopHnrqHnkIZcclxuICAgIEdBTUVfREFUQTogYW55W107Ly/lpIfnlKhcclxuICAgIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+WIneWni+W4g+WxgOacgOWkp+enu+WKqOi3neemu1xyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgLy/kuIrmiqXmlbDmja7vvIzmnInnmoTmuLjmiI/kuLrkuIDmlbTlsYDmuLjmiI/kuIDmrKHkuIrmiqXvvIzmnInnmoTkuLrmr4/mrKHmk43kvZzkuIrmiqVcclxuICAgIENMSUNLX0RBVEE6IHsgdHlwZTogbnVtYmVyOyBzdWNjZXNzOiBib29sZWFuOyByb3VuZDogbnVtYmVyOyB0b3RhbFN1bkNvdW50OiBudW1iZXI7IG1vdmVkU3VuQ291bnQ6IG51bWJlcjsgc3VuU3BlZWQ6IG51bWJlcjsgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IGNvbG9yTGlzdDogYW55W107IGR1cmF0aW9uOiBudW1iZXI7IGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyBzdW5MaXN0OiBhbnlbXTsgc3RlcFRpbWVMaXN0OiBhbnlbXTsgcmVtYWluZGVyOiBudW1iZXI7IH07XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICBpZiAoR2FtZURhdGEuX2luc3RhbmNlID09IG51bGwpIHtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlID0gdGhpcztcclxuICAgICAgICAgICAgY2MuZ2FtZS5hZGRQZXJzaXN0Um9vdE5vZGUodGhpcy5ub2RlKTtcclxuICAgICAgICAgICAgLy/orr7nva7kuLrluLjpqbvvvIznu5Hlrprpn7PpopHku6Xlj4rmuLjmiI/lkITnsbvkv6Hmga9cclxuICAgICAgICAgICAgdGhpcy5BdWRpb01hbmFnZXIgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KCdBdWRpb01hbmFnZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPX2luaXQoKTtcclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgdGhpcy5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5cclxuICAgIEdNX0lORk9faW5pdCgpe1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHsgXHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOjAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOjAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOicxMDAwMDknLFxyXG4gICAgICAgICAgICB1c2VySWQ6MjAwMTM5LFxyXG4gICAgICAgICAgICBndWlkZTp0cnVlLCAgICAgICAgICAgICAgICAgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICAgICAgdXJsOlwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6bnVsbCxcclxuICAgICAgICAgICAgY3VzdG9tOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBDTElDS19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5DTElDS19EQVRBID0gXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOjEsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIHJvdW5kOjAsXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBzdW5TcGVlZDowLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgY29sb3JMaXN0OltdLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjowLFxyXG4gICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6MCxcclxuICAgICAgICAgICAgc3VuTGlzdDpbXSxcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OltdLFxyXG4gICAgICAgICAgICByZW1haW5kZXI6MTIwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgTEVWRUxfSU5GT19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjozLCAgICAgICAvL+WkqumYs+aAu+aVsCBcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCwgICAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqm562J57qnXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsIC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MCAgICAgICAgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjoxLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlha3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIPpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlhavpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuZ3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjoxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTEgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTIgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTMgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTQgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTUgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTYgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTcgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTggXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTkgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMjAgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICBdXHJcbiAgICB9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Load.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '454adgphRpA6oq5lB6Cg1fK', 'Load'); +// Script/Load.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; +var GameData_1 = require("./GameData"); +var Storage_1 = require("./Storage"); +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + NewClass.prototype.start = function () { + this.Authentication(); + }; + //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 + NewClass.prototype.Authentication = function () { + var userId = Storage_1.StorageMessage.getStorage("user"); + if (userId == "undifend" || userId == null || userId == "") { + this.setUserId(); + } + else { + var data = Storage_1.StorageMessage.getStorage("user"); + data = this.getUserId(data); + var timestamp = parseInt(new Date().getTime() / 1000 + ""); + if ((timestamp - data[2]) > 86400) { + this.setUserId(); + return; + } + GameData_1.default._instance.GM_INFO.userId = parseInt(data[1]); + } + }; + //设置userId,链接有获取,没有跳转授权 + NewClass.prototype.setUserId = function () { + GameData_1.default._instance.GM_INFO.userId = this.getUserId(null); + if (GameData_1.default._instance.GM_INFO.userId == null) { + var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; + window.location.href = url; + } + else { + var timestamp = parseInt(new Date().getTime() / 1000 + ""); + var idTemp = "gameId=" + GameData_1.default._instance.GM_INFO.gameId + + "?userId= " + GameData_1.default._instance.GM_INFO.userId + "?time=" + timestamp; + Storage_1.StorageMessage.setStorage("user", idTemp); + GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); + } + }; + //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId + NewClass.prototype.getUserId = function (str) { + var pathStr = window.location.search; + var arr = pathStr.split("&"); + if (str != null) + arr = pathStr.split("?"); + if (pathStr.length >= 0 && arr.length > 0) { + var arr2_1 = []; + arr.map(function (item) { + arr2_1.push(item.split("=")[1]); + }); + return str == null ? arr2_1[0] : arr2_1; + } + else { + return null; + } + }; + //开始游戏,跳转至引导页面 + NewClass.prototype.startGame = function () { + cc.director.loadScene("GuideScene"); + }; + //备用,用来测试跳转 指定关卡 + NewClass.prototype.clickBtn = function (event, data) { + GameData_1.default._instance.GM_INFO.custom = parseInt(data); + cc.director.loadScene("GameScene"); + }; + //打开排行榜 + NewClass.prototype.openRank = function () { + cc.director.loadScene("RankScene"); + }; + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBQzVELHVDQUFrQztBQUNsQyxxQ0FBMkM7QUFHM0M7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBbUVBLENBQUM7SUFqRUcsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0RBQWdEO0lBQ3hDLGlDQUFjLEdBQXRCO1FBQ0ksSUFBSSxNQUFNLEdBQUcsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLElBQUksSUFBSSxHQUFHLHdCQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBQztnQkFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixPQUFPO2FBQ1Y7WUFDRCxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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InNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHksIHJlcXVpcmVDb21wb25lbnR9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gXCIuL0dhbWVEYXRhXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/pibTmnYPvvIzliKTmlq3mnInml6DnvJPlrZh1c2VyaWQs5pyJ55qE6K+d5Yik5pat5piv5ZCm6L+H5pyf77yM5rKh5pyJ55qE6K+d6YeN5paw6I635Y+WdXNlcmlkIOW5tuS4lOe8k+WtmOS4ilxyXG4gICAgcHJpdmF0ZSBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCB1c2VySWQgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwidXNlclwiKTtcclxuICAgICAgICBpZih1c2VySWQgPT0gXCJ1bmRpZmVuZFwiIHx8IHVzZXJJZD09bnVsbCB8fCB1c2VySWQgPT0gXCJcIil7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VXNlcklkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLmdldFVzZXJJZChkYXRhKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgaWYoKHRpbWVzdGFtcCAtIGRhdGFbMl0pID4gODY0MDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRVc2VySWQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhWzFdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+iuvue9rnVzZXJJZCzpk77mjqXmnInojrflj5bvvIzmsqHmnInot7PovazmjojmnYNcclxuICAgIHByaXZhdGUgc2V0VXNlcklkKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gdGhpcy5nZXRVc2VySWQobnVsbCk7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IG51bGwpe1xyXG4gICAgICAgICAgICBsZXQgdXJsID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgbGV0IGlkVGVtcCA9IFwiZ2FtZUlkPVwiICsgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkICsgXHJcbiAgICAgICAgICAgIFwiP3VzZXJJZD0gXCIgKyBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgKyBcIj90aW1lPVwiICsgdGltZXN0YW1wO1xyXG4gICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwidXNlclwiLGlkVGVtcCk7XHJcbiAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IHBhcnNlSW50KEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ojrflj5Z1c2VyIGlkIOacieWPguaVsOS4uuiOt+WPlmdhbWVpZCB1c2VyaWQg5pe26Ze05oiz77yMIOaXoOWPguaVsOS4uuWPquiOt+WPlumTvuaOpeWwvue8gOS4iueahHVzZXJJZFxyXG4gICAgcHJpdmF0ZSBnZXRVc2VySWQoc3RyKSB7ICAgIFxyXG4gICAgICAgIGxldCBwYXRoU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDtcclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCImXCIpO1xyXG4gICAgICAgIGlmKHN0ciAhPSBudWxsKSBhcnI9cGF0aFN0ci5zcGxpdChcIj9cIik7XHJcbiAgICAgICAgaWYgKHBhdGhTdHIubGVuZ3RoPj0gMCYmYXJyLmxlbmd0aD4wKSB7XHJcbiAgICAgICAgICAgIGxldCBhcnIyPVtdO1xyXG4gICAgICAgICAgICBhcnIubWFwKGl0ZW09PntcclxuICAgICAgICAgICAgICAgIGFycjIucHVzaChpdGVtLnNwbGl0KFwiPVwiKVsxXSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgcmV0dXJuIHN0ciA9PSBudWxsID8gYXJyMlswXTphcnIyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Notification.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'f2518+0IHRGOY+ueIhGtEeA', 'Notification'); +// Script/Notification.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Notification = void 0; +//全局通知 +var Notification = { + _eventMap: [], + on: function (masgId, callback, target) { + if (this._eventMap[masgId] === undefined) { + this._eventMap[masgId] = []; + } + this._eventMap[masgId].push({ callback: callback, target: target }); + }, + emit: function (masgId, parameter) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element) + element.callback.call(element.target, parameter); + } + }, + off: function (masgId, callback) { + var array = this._eventMap[masgId]; + if (array === undefined) + return; + for (var i = 0; i < array.length; i++) { + var element = array[i]; + if (element && element.callback === callback) { + array[i] = undefined; + break; + } + } + }, + offMasgId: function (masgId) { + this._eventMap[masgId] = undefined; + }, + removeAllMsg: function () { + for (var k in this._eventMap) { + if (this._eventMap[k]) { + this.offMasgId(k); + } + } + } +}; +exports.Notification = Notification; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxOb3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBTTtBQUNOLElBQUksWUFBWSxHQUFHO0lBQ2YsU0FBUyxFQUFFLEVBQUU7SUFDYixFQUFFLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU07UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxFQUFFLFVBQVUsTUFBTSxFQUFFLFNBQVM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQsR0FBRyxFQUFFLFVBQVUsTUFBTSxFQUFFLFFBQVE7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3JCLE1BQU07YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVMsRUFBRSxVQUFVLE1BQU07UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksRUFBRTtRQUNWLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckI7U0FDSjtJQUNMLENBQUM7Q0FDSixDQUFDO0FBRU8sb0NBQVkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+WFqOWxgOmAmuefpVxudmFyIE5vdGlmaWNhdGlvbiA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgeyBOb3RpZmljYXRpb24gfTsiXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GameManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); +// Script/GameManager.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +// 主游戏控制类 +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var GameData_1 = require("./GameData"); +var Notification_1 = require("./Notification"); +var serverAPI_1 = require("./crypto/serverAPI"); +var GameManager = /** @class */ (function (_super) { + __extends(GameManager, _super); + function GameManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.ball = null; + _this.qiu1 = null; + _this.qiu2 = null; + _this.qiu3 = null; + _this.linePrefab = null; + _this.hit = null; + _this.bg1 = null; + _this.bg2 = null; + _this.time = null; + _this.begin = false; + _this.fuhuo = false; + _this.over = false; + _this.show = false; + _this.levelLabel = null; + return _this; + } + GameManager.prototype.onLoad = function () { }; + GameManager.prototype.start = function () { + this.fit(); + this.init(); + }; + //初始化数据 + GameManager.prototype.init = function () { + this.node.getChildByName("GameOver").zIndex = 100; + this.node.getChildByName("GameOver").active = false; + this.ball.zIndex = 100; + this.bg1 = this.node.getChildByName("bg1"); + this.bg2 = this.node.getChildByName("bg2"); + this.time = this.node.getChildByName("Top").getChildByName("time").getComponent(cc.Label); + this.node.getChildByName("showBtn").active = false; + this.begin = false; + this.over = false; + this.fuhuo = true; + this.pause = true; + this.show = false; + this.round = 0; + this.level = 2; + this.countTime = 60; + if (GameData_1.default._instance.GM_INFO.custom != 0) { + this.level = GameData_1.default._instance.GM_INFO.custom; + // this.levelLabel.string = this.level + ""; + GameData_1.default._instance.GM_INFO.custom += 1; + this.countTime = 12000000; + } + // this.levelLabel.string = this.level + ""; + this.timeCount = 0.1; + this.clickNow = 0; + this.clickCount = 0; + this.timeStart = 0; + this.repeat = -1; + this.numberRepeat = -1; + this.route_Array = []; + this.moveArray = []; + this.now_Array = []; + this.ball_Array = []; + this.Pos_Array = []; + this.time_Array = []; + this.color_Array = []; + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GM_INFO.success = false; + this.startTime = 0; + this.overTime = 0; + this.winTime = 0; + GameData_1.default._instance.GM_INFO.total = 0; + GameData_1.default._instance.GM_INFO.mean_Time = 0; + this.schedule(this.updateCountDownTime, 1); + this.startGame(); + }; + //根据是否全面屏,做独立适配方面 + GameManager.prototype.fit = function () { + this.fitTop = 450; //600 + this.fitBot = -600; //-700 + var jg = this.setFit(); + if (!jg) { + this.fitTop = 600; + this.fitBot = -700; + } + }; + //判断全面屏 + GameManager.prototype.getSetScreenResolutionFlag = function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }; + //判断全面屏适配 + GameManager.prototype.setFit = function () { + var flag = this.getSetScreenResolutionFlag(); + if (flag) { + } + else { + } + return flag; + }; + //返回首页 + GameManager.prototype.backScene = function () { + cc.director.loadScene("LoadScene"); + }; + //下一关,或者重新开始,或者返回上一关,根据level决定 + GameManager.prototype.reStart = function (type) { + // if(GameData._instance.GM_INFO.custom != 0){ + // cc.director.loadScene("LoadScene"); + // return; + // } + this.node.getChildByName("showBtn").active = false; + this.destroyLine(); + this.timeCount = 0.1; + this.clickNow = 0; + this.timeStart = 0; + this.repeat = -1; + this.numberRepeat = -1; + this.begin = false; + this.route_Array = []; + this.now_Array = []; + this.ball_Array = []; + this.Pos_Array = []; + this.moveArray = []; + this.time_Array = []; + this.color_Array = []; + if (type == 0) { + this.bgMove(1); + } + else if (type == 1) { + this.startGame(); + } + else if (type == 2) { + this.bgMove(-1); + } + }; + //获取时间戳 + GameManager.prototype.getTime = function () { + var timestamp = new Date().getTime(); + return timestamp; + }; + //获胜 + GameManager.prototype.passLevel = function () { + var _this = this; + this.destroyLine(); + if (this.over == false && this.countTime >= 0) { + var timeArray_1 = []; + var timeCount = 0; + var ball_1 = this.ball_Array[0]; + for (var i = 1; i < this.ball_Array.length; i++) { + var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y, 2); + timeArray_1.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball_1) + .to(timeArray_1[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball_1.x, ball_1.y, 0); + ball_1.active = false; + _this.clearSun(); + _this.reStart(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray_1[k - 1] + 0.1); + }; + for (var k = 1; k < this.ball_Array.length; k++) { + _loop_1(k); + } + } + }; + //失败 + GameManager.prototype.loseLevel = function (type) { + var _this = this; + this.destroyLine(); + if (this.over == false && this.countTime >= 0) { + var ball_2 = this.ball_Array[0]; + var _loop_2 = function (k) { + cc.tween(this_1.ball_Array[k]) + .to(2, { x: ball_2.x, y: ball_2.y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball_2.x, ball_2.y, 0); + _this.clearSun(); + _this.reStart(type); + } + }) + .start(); + }; + var this_1 = this; + for (var k = 1; k < this.ball_Array.length; k++) { + _loop_2(k); + } + } + }; + //清理太阳 + GameManager.prototype.clearSun = function () { + for (var k = 0; k < this.ball_Array.length; k++) { + this.ball_Array[k].removeFromParent(); + this.ball_Array[k] = null; + } + }; + //点击太阳执行方法 + GameManager.prototype.clickSun = function (data) { + var _this = this; + if (this.begin == true) { + this.clickCount += 1; + var clickTime = this.getTime(); + this.time_Array.push((clickTime - this.timeStart)); + this.timeStart = this.getTime(); + if (data == this.clickNow) { + GameData_1.default._instance.AudioManager.playAudioButton(); + if (this.clickNow > 0) { + this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); + } + this.clickNow += 1; + if (this.ball_Array[this.clickNow - 1]) + this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; + if (this.clickNow == this.now_Array.length) { + this.pause = true; + GameData_1.default._instance.GM_INFO.total += this.clickNow; + this.overTime = this.getTime(); + if (this.startTime > 0 && this.overTime > 0) { + GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); + } + var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); + this.startTime = 0; + this.overTime = 0; + var color = "y"; + if (this.level < 4 && this.level > 1) + color = "yr"; + else if (this.level >= 4) + color = "yrb"; + var win_1 = this.node.getChildByName("Win"); + win_1.active = true; + win_1.setScale(0); + GameData_1.default._instance.AudioManager.playWin(); + this.round += 1; + var sunArray = []; + if (this.moveArray.length > 0) { + for (var m = 0; m < this.moveArray.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + this.moveArray[m] = 2; + } + sunArray.push(this.moveArray[m]); + } + } + else { + for (var m = 0; m < this.ball_Array.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + sunArray.push(2); + } + else + sunArray.push(0); + } + } + GameData_1.default._instance.CLICK_DATA = + { + type: 1, + success: true, + round: this.round, + totalSunCount: this.now_Array.length, + movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, + sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, + overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, + colorList: this.color_Array, + duration: finish_time / 10, + difficultyLevel: this.level, + sunList: sunArray, + stepTimeList: this.time_Array, + remainder: this.countTime + }; + this.setData(); + cc.tween(win_1) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.4) + .call(function () { + win_1.active = false; + _this.destroyLine(); + if (_this.over == false && _this.countTime >= 0) { + if (_this.level >= 15) { + GameData_1.default._instance.GM_INFO.success = true; + _this.level += 0; + // this.levelLabel.string = this.level + ""; + _this.fuhuo = true; + _this.passLevel(); + } + else { + _this.level += 1; + // this.levelLabel.string = this.level + ""; + _this.fuhuo = true; + _this.passLevel(); + } + } + }) + .start(); + } + } + else { + this.setLoss(); + } + } + }; + //执行失败 + GameManager.prototype.setLoss = function () { + GameData_1.default._instance.AudioManager.playWarning(); + this.begin = false; + this.overTime = this.getTime(); + if (this.startTime > 0 && this.overTime > 0) { + GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); + } + var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); + this.startTime = 0; + this.overTime = 0; + var color = "y"; + if (this.level < 4 && this.level > 1) + color = "yr"; + else if (this.level >= 4) + color = "yrb"; + this.round += 1; + var sunArray = []; + if (this.moveArray.length > 0) { + for (var m = 0; m < this.moveArray.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + this.moveArray[m] = 2; + } + sunArray.push(this.moveArray[m]); + } + } + else { + for (var m = 0; m < this.ball_Array.length; m++) { + if (m == this.repeat || m == this.numberRepeat) { + sunArray.push(2); + } + else + sunArray.push(0); + } + } + GameData_1.default._instance.CLICK_DATA = + { + type: 1, + success: false, + round: this.round, + totalSunCount: this.now_Array.length, + movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, + sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, + overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, + colorList: this.color_Array, + duration: finish_time / 10, + difficultyLevel: this.level, + sunList: sunArray, + stepTimeList: this.time_Array, + remainder: this.countTime + }; + this.setData(); + if (this.fuhuo == true) { + this.fuhuo = false; + this.loseLevel(1); + } + else { + if (this.level > 2) { + this.level -= 1; + // this.levelLabel.string = this.level + ""; + this.fuhuo = true; + // this.fuhuo = false; + this.loseLevel(2); + } + else { + this.loseLevel(1); + } + } + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) + .start(); + }; + //开始游戏 + GameManager.prototype.startGame = function () { + if (this.over == false && this.countTime > 0) { + this.pause = true; + this.createSun(); + this.begin = false; + cc.tween(this.ball) + .to(0.5, { opacity: 255, scale: 1.3 }) + .start(); + } + }; + //执行太阳运行动画,以及后面移动动画 + GameManager.prototype.runGame = function () { + var _this = this; + var time = -650; + var _loop_3 = function (i) { + time = this_2.now_Array[i].time * 1000 + time; + setTimeout(function () { + if (_this.over == false) { + var temp = _this.now_Array[i].timeCount; + if (temp > 0.5) + temp = 0.5; + if (i != 0) { + if (_this.ball && _this.now_Array[i]) { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.now_Array[i].x, _this.now_Array[i].y), _this.now_Array[i].time - temp); + } + } + cc.tween(_this.ball) + .to(_this.now_Array[i].time - temp, { x: _this.now_Array[i].x, y: _this.now_Array[i].y }) + .to(0.1, { scale: 1 }) + .call(function () { + _this.createBall(i, _this.now_Array[i].color, _this.now_Array[i].speed, _this.now_Array[i].repeat); + if (i == _this.now_Array.length - 1) { + _this.ball.opacity = 0; + setTimeout(function () { + _this.destroyLine(); + _this.beginGame(); + if (GameData_1.default._instance.LEVEL_INFO[_this.level - 1].moveNumber < 1) { + _this.pause = false; + } + else { + _this.moveAction(); + } + }, 150); + } + }) + .start(); + } + }, time); + }; + var this_2 = this; + for (var i = 0; i < this.now_Array.length; i++) { + _loop_3(i); + } + }; + //设置移动重叠数据 + GameManager.prototype.createMove = function () { + var _this = this; + if (this.over == false) { + var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + //改变移动速度 + var speed = 7; + if (info.moveSpeed >= 2) { + speed = 7 - info.moveSpeed / 2; + } + if (info.repeat == 1) { + this.repeat = parseInt((Math.random() * (info.number - 1) + 1) + ""); + var tempNumber = 0; + // this.repeat = 4; + if (this.repeat > 4) { + this.numberRepeat = parseInt(Math.random() * 4 + ""); + if (this.repeat == (info.number - 1)) //如果是最后一个 不能跟第一个重叠 + this.numberRepeat = this.repeat - parseInt((Math.random() * 3 + 2) + ""); + tempNumber = this.Pos_Array[this.numberRepeat]; + this.Pos_Array[this.repeat] = tempNumber; + } + else { // 0 1 2 3 4 5 + // 6 - 3 - 1 = 2 4 01 4 + if (this.repeat == 0) + this.repeat = 1; + if ((info.number - 1 - this.repeat) == 2) { + this.numberRepeat = info.number - 1; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else if ((info.number - 1 - this.repeat) == 1) { + this.numberRepeat = this.repeat - 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else if ((info.number - 1 - this.repeat) == 0) { + this.numberRepeat = this.repeat - 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else if ((info.number - 1 - this.repeat) > 2) { + this.numberRepeat = parseInt(Math.random() * (info.number - this.repeat - 2) + "") + this.repeat + 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + else { + this.numberRepeat = this.repeat - 2; + tempNumber = this.Pos_Array[this.numberRepeat]; + } + this.Pos_Array[this.repeat] = tempNumber; + } + } + if (info.moveNumber > 0) { + //0 1 2 3 4 5 6 7 8 9 + //可移动区分 + var pos_1 = cc.v2(0, 0); + for (var z = 0; z < info.number; z++) { + this.moveArray[z] = 0; + } + for (var p = 0; p < info.moveNumber; p++) { + this.moveArray[info.number - 1 - p] = 1; + } + var timeOut = 0; + //打乱可移动顺序 + this.moveArray.sort(function () { return Math.random() - 0.5; }); + if (this.moveArray[0] == 1) { + for (var r = info.number - 1; r >= 0; r--) { + if (this.moveArray[r] == 0) { + this.moveArray[r] = 1; + this.moveArray[0] = 0; + r = -1; + } + } + } + //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 + for (var k = 0; k < this.moveArray.length; k++) { + if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { + for (var m = this.moveArray.length - 1; m >= 0; m--) { + if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { + this.moveArray[m] = 1; + this.moveArray[k] = 0; + m = -1; + } + } + } + } + var _loop_4 = function (i) { + if (this_3.moveArray[i] == 1) { + timeOut += 1; + setTimeout(function () { + pos_1 = _this.getPos2(true, i); + _this.Pos_Array[i] = pos_1; + }, timeOut * 300); + } + }; + var this_3 = this; + for (var i = 0; i < this.Pos_Array.length; i++) { + _loop_4(i); + } + } + } + }; + //移动后数据 重新刷一遍赋值 + GameManager.prototype.updateArray = function () { + for (var i = 0; i < this.now_Array.length - 1; i++) { + this.now_Array[i].x = this.Pos_Array[i].x; + this.now_Array[i].y = this.Pos_Array[i].y; + } + }; + //太阳初始化后移动方法 + GameManager.prototype.moveAction = function () { + var _this = this; + this.updateArray(); + var moveArray = this.moveArray; + var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + //改变移动速度 + var speed = 7; + if (info.moveSpeed >= 2) { + speed = 7 - info.moveSpeed / 2; + } + if (info.moveNumber > 0) { + //0 1 2 3 4 5 6 7 8 9 + //可移动区分 + //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 + for (var k = 0; k < this.moveArray.length; k++) { + if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { + for (var m = this.moveArray.length - 1; m >= 0; m--) { + if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { + this.moveArray[m] = 1; + this.moveArray[k] = 0; + m = -1; + } + } + } + } + var lastNumber = 0; + //锁定最后一个可移动的 + for (var j = 0; j < moveArray.length; j++) { + if (moveArray[j] == 1) { + lastNumber = j; + } + } + var _loop_5 = function (i) { + if (moveArray[i] == 1) { + if (i != lastNumber) { //如果不是最后一个移动的 + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); + this_4.ball_Array[i].getComponent("Sun").move = true; + cc.tween(this_4.ball_Array[i]) + .to(time, { position: this_4.Pos_Array[i] }) + .call(function () { + _this.ball_Array[i].getComponent("Sun").move = false; + }) + .start(); + } + //如果是最后一个 + else { + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); + this_4.ball_Array[i].getComponent("Sun").move = true; + cc.tween(this_4.ball_Array[i]) + .to(time, { position: this_4.Pos_Array[i] }) + .call(function () { + _this.ball_Array[i].getComponent("Sun").move = false; + }) + .start(); + } + } + }; + var this_4 = this; + for (var i = 0; i < this.ball_Array.length; i++) { + _loop_5(i); + } + } + }; + //每次重新开始新一轮儿游戏 + GameManager.prototype.beginGame = function () { + this.begin = true; + this.startTime = this.getTime(); + this.timeStart = this.getTime(); + this.pause = false; + // this.node.getChildByName("showBtn").active = true; + }; + //暂时作废 + // getRandomArray(lastNumber){ + // let num = parseInt(Math.random()*8 - 4 + ""); + // let jg = num + lastNumber; + // if(num > 1 || num <-1){ + // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ + // jg = this.getRandomArray(lastNumber); + // } + // } + // else{ + // jg = this.getRandomArray(lastNumber); + // } + // return jg; + // } + //创建太阳所需数据 + GameManager.prototype.createSun = function () { + var _this = this; + var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + var tiemOut = 0; + var _loop_6 = function (l) { + tiemOut += 1; + setTimeout(function () { + if (_this.over == false) { + var pos = _this.getPos(false, l); + _this.Pos_Array.push(pos); + if (_this.Pos_Array.length == levelData.number) { + _this.createMove(); + _this.createPos(); + } + } + }, tiemOut * 100); + }; + for (var l = 0; l < levelData.number; l++) { + _loop_6(l); + } + }; + //创建太阳位置,颜色信息等数据 + GameManager.prototype.createPos = function () { + var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; + var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; + //颜色区分 + var colorArray = [0, 1]; + for (var j = 0; j < levelData.number - 2; j++) { + var colorTemp = parseInt(Math.random() * 3 + ""); + if (levelData.number < 6 && colorTemp == 2) + colorTemp = 0; + colorArray.push(colorTemp); + colorArray.sort(function () { return Math.random() - 0.5; }); + } + colorArray.sort(function () { return Math.random() - 0.5; }); + if (levelData.number == 4) + colorArray = [0, 0, 0, 0]; + this.color_Array = colorArray; + //存储太阳数据 + for (var i = 0; i < levelData.number; i++) { + var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1)); + var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1) + timeCount; + data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; + if (this.repeat == i) { + data.repeat = true; + } + else if (this.numberRepeat == i) { + data.repeat = true; + } + this.now_Array.push(data); + } + this.runGame(); + }; + //获取,N个太阳位置的方法,和POS2分开两个方法,防止递归溢出 + GameManager.prototype.getPos = function (type, num) { + var posX = Math.random() * 620 - 310; + var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; + var point = cc.v2(posX, posY); + if (this.Pos_Array.length > 0) { + for (var i = 0; i < this.Pos_Array.length; i++) { + var distance = false; + var pd = false; + if (i == num) + pd = true; + distance = this.getDistance(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); + if (distance == false) { + i = 10000; + point = this.getPos(type, num); + } + if (distance == true && i == (this.Pos_Array.length - 1)) { + i = 10000; + } + } + } + return point; + }; + //获取,N个太阳可移动位置的方法,和POS分开算防止递归溢出 + GameManager.prototype.getPos2 = function (type, num) { + var posX = Math.random() * 620 - 310; + var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; + var point = cc.v2(posX, posY); + if (this.Pos_Array.length > 0) { + for (var i = 0; i < this.Pos_Array.length; i++) { + var distance = false; + var pd = false; + if (i == num) + pd = true; + distance = this.getDistance2(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); + if (distance == false) { + i = 10000; + point = this.getPos2(type, num); + } + if (distance == true && i == (this.Pos_Array.length - 1)) { + i = 10000; + } + } + } + return point; + }; + //获取两点之间距离,返回判断是否在一定范围内 将来提出到工具类 + GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { + var jg = false; + var dx = x2 - x1; + var dy = y2 - y1; + var distance = Math.sqrt(dx * dx + dy * dy); + if (distance > 160) { + if (num == true) { + if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { + jg = true; + } + else + jg = false; + } + else { + if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { + jg = true; + } + else + jg = false; + } + } + return jg; + }; + //命中动画 + GameManager.prototype.hitAction = function (data) { + var _this = this; + this.hit.active = true; + this.hit.opacity = 0; + this.hit.setPosition; + this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); + cc.tween(this.hit) + .to(0, { opacity: 255 }) + .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) + .delay(0.2) + .to(0.1, { opacity: 0 }) + .call(function () { + _this.hit.active = false; + }) + .start(); + }; + //创造太阳 + GameManager.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + if (color == 0) + ball = cc.instantiate(this.qiu1); + else if (color == 1) + ball = cc.instantiate(this.qiu2); + else if (color == 2) + ball = cc.instantiate(this.qiu3); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.now_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + this.ball_Array.push(ball); + }; + //销毁连线 + GameManager.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //创建连线 + GameManager.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //获取两点之间的角度,将来都可放工具类 + GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + //获取两点之间的距离 返回对应时间 + GameManager.prototype.calculateDistance = function (x1, y1, x2, y2, num) { + var dx = x2 - x1; + var dy = y2 - y1; + var time = 0; + var distance = Math.sqrt(dx * dx + dy * dy); + if (num == 1) { + if (distance > 800) + distance = 800; + time = distance / 800 * 0.6; + } + else if (num == 2) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1; + } + else if (num == 3) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1.5; + } + return time; + }; + //获取两点之间距离 返回距离判断 + GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { + var jg = false; + var dx = x2 - x1; + var dy = y2 - y1; + var distance = Math.sqrt(dx * dx + dy * dy); + if (distance > 160) { + if (num == true) { + if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxDistance) + jg = true; + else + jg = false; + } + else { + jg = true; + } + } + return jg; + }; + //背景移动 + GameManager.prototype.bgMove = function (type) { + var _this = this; + var random = Math.random() * 300 + 300; + var posX = Math.random() * 600 - 300; + var y1 = this.bg1.y - random * type; + var time1 = 0.7 * (random / 400); + cc.tween(this.ball) + .to(0.3, { scale: 1.3 }) + .to(time1, { x: posX }) + .start(); + cc.tween(this.bg1) + .delay(0.3) + .to(time1, { y: y1 }) + .start(); + setTimeout(function () { + if (_this.over == false) + _this.startGame(); + }, time1 * 1500); + }; + //时间格式转换 + GameManager.prototype.getTimeMargin = function (second) { + var total = 0; + total = second; + var hour = 0; + hour = parseInt((total / 3600) + ""); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = parseInt((afterHour / 60) + ""); //计算整数分 + var m = "" + min; + if (min < 10) + m = "0" + min; + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + var miao = afterMin + ""; + if (afterMin < 10) + miao = "0" + afterMin; + return m + ':' + miao; + }; + //如果是倒计时 调用此方法 + GameManager.prototype.updateCountDownTime = function () { + if (this.countTime > 0 && this.pause == false) { + this.countTime -= 1; + this.time.string = this.getTimeMargin(this.countTime); + if (this.countTime < 5) { + cc.tween(this.time.node) + .to(0.25, { scale: 1.5, color: cc.color(255, 0, 0) }) + .to(0.25, { scale: 1, color: cc.color(255, 255, 255) }) + .start(); + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.2, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .start(); + } + if (this.countTime <= 0) { + this.begin = false; + this.over = true; + this.unschedule(this.updateCountDownTime); + this.setLoss(); + var time = 0; + if (this.clickCount > 0) + time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); + GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); + GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; + if (time > 10000) + time = (Math.random() * 10 + 5) * 100; + this.setRank(time); + } + } + }; + //上传每次操作数据 + GameManager.prototype.setData = function () { + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); + GameData_1.default._instance.CLICK_init(); + var data = GameData_1.default._instance.GAME_DATA; + var matchId = this.getMatchId(); + console.log(matchId); + var postData = { + "matchId": matchId, + "data": data + }; + console.log("上传数据:"); + serverAPI_1.default.uploadUserLogData(postData, function () { }); + }; + //获取matchId 用于上传每次点击数据里面记录id方便查询 + GameManager.prototype.getMatchId = function () { + var matchId = cc.sys.localStorage.getItem("matchId"); + if (matchId == "undifend" || matchId == null) { + matchId = this.setMatchId(); + } + else { + if (this.containsNanana(matchId) == true) { + matchId = this.setMatchId(); + } + else { + var char = parseInt(matchId[10]); + if (this.round == 1) { + char += 1; + } + matchId = matchId.slice(0, 10) + char + ""; + GameData_1.default._instance.GM_INFO.matchId = matchId; + cc.sys.localStorage.setItem("matchId", matchId); + } + } + return matchId; + }; + //检测matchId 如果有缓存以前的nanana数据清除 + GameManager.prototype.containsNanana = function (str) { + return /na/i.test(str); + }; + //重新设置MatchId + GameManager.prototype.setMatchId = function () { + // 定义包含可用字符的字符集 + var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + // 创建一个数组以保存随机字符 + var uuidArray = []; + // 循环10次 生成10位的UUID + for (var i = 0; i < 10; i++) { + // 生成随机索引,范围是字符集的长度 + var randomIndex = Math.floor(Math.random() * characters.length); + // 从字符集中获取随机字符 + var randomChar = characters.charAt(randomIndex); + // 将字符添加到数组中 + uuidArray.push(randomChar); + } + var data = uuidArray.join('') + 1 + ""; + cc.sys.localStorage.setItem("matchNumber", 1); + cc.sys.localStorage.setItem("matchId", data); + GameData_1.default._instance.GM_INFO.matchId = data; + return data; + }; + //上传排行榜数据 + GameManager.prototype.setRank = function (time) { + var postData = { + "type": 1, + "reactionTime": time, + "totalSunCount": GameData_1.default._instance.GM_INFO.total, + "success": GameData_1.default._instance.GM_INFO.success + }; + serverAPI_1.default.rankData(1, function () { }, postData); + this.node.getChildByName("GameOver").active = true; + this.node.getChildByName("GameOver").opacity = 0; + cc.tween(this.node.getChildByName("GameOver")) + .to(0.4, { opacity: 255 }) + .delay(2) + .to(0.4, { opacity: 50 }) + .call(function () { + cc.director.loadScene("OverScene"); + }) + .start(); + }; + //作弊,测试用 + GameManager.prototype.showNumber = function () { + if (this.show == false) + this.show = true; + else if (this.show == true) + this.show = false; + for (var i = 0; i < this.ball_Array.length; i++) { + this.ball_Array[i].getComponent("Sun").showNumber(this.show); + } + }; + GameManager.prototype.onEnable = function () { + Notification_1.Notification.on("clickSun", this.clickSun, this); + }; + GameManager.prototype.onDisable = function () { + Notification_1.Notification.off("clickSun", this.clickSun); + }; + GameManager.prototype.update = function (dt) { + }; + __decorate([ + property(cc.Node) + ], GameManager.prototype, "ball", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "qiu1", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "qiu2", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "qiu3", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "linePrefab", void 0); + __decorate([ + property(cc.Node) + ], GameManager.prototype, "hit", void 0); + __decorate([ + property(cc.Label) + ], GameManager.prototype, "levelLabel", void 0); + GameManager = __decorate([ + ccclass + ], GameManager); + return GameManager; +}(cc.Component)); +exports.default = GameManager; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsdUNBQWtDO0FBQ2xDLCtDQUE4QztBQUM5QyxnREFBMEM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFrL0JDO1FBaC9CRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBMjhCaEMsQ0FBQztJQXA4QkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMs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QVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1M7SUFFN0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDRTtJQTJCcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzttREFDUztJQXZDWCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBay9CL0I7SUFBRCxrQkFBQztDQWwvQkQsQUFrL0JDLENBbC9Cd0MsRUFBRSxDQUFDLFNBQVMsR0FrL0JwRDtrQkFsL0JvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi9HYW1lRGF0YSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uJztcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gJy4vY3J5cHRvL3NlcnZlckFQSSc7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgYmFsbDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUyOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTM6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgaGl0OiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsZXZlbExhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBzdGF0aWMgX2luc3RhbmNlOiBhbnk7XHJcbiAgICBtb3ZlQXJyYXk6IG51bWJlcltdO1xyXG4gICAgcmVwZWF0OiBudW1iZXI7XHJcbiAgICBudW1iZXJSZXBlYXQ6IG51bWJlcjtcclxuICAgIHJvdW5kOiBudW1iZXI7XHJcbiAgICBwYXVzZTogYm9vbGVhbjtcclxuICAgIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gIT0gMCl7XHJcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICB0aGlzLnRpbWVDb3VudCA9IDAuMTtcclxuICAgICAgICB0aGlzLmNsaWNrTm93ID0gMDtcclxuICAgICAgICB0aGlzLmNsaWNrQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW92ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLlBvc19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uc3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICB0aGlzLndpblRpbWUgPSAwO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsID0gMDtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+agueaNruaYr+WQpuWFqOmdouWxj++8jOWBmueLrOeri+mAgumFjeaWuemdolxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdGhpcy5maXRUb3AgPSA0NTA7ICAvLzYwMFxyXG4gICAgICAgIHRoaXMuZml0Qm90ID0gLTYwMDsgLy8tNzAwXHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG4gICAgICAgICAgICB0aGlzLmZpdFRvcCA9IDYwMDtcclxuICAgICAgICAgICAgdGhpcy5maXRCb3QgPSAtNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGPXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdCAoKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSB0aGlzLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH1cclxuICAgIC8v6L+U5Zue6aaW6aG1XHJcbiAgICBiYWNrU2NlbmUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+S4i+S4gOWFs++8jOaIluiAhemHjeaWsOW8gOWni++8jOaIluiAhei/lOWbnuS4iuS4gOWFs++8jOagueaNrmxldmVs5Yaz5a6aXHJcbiAgICByZVN0YXJ0KHR5cGUpe1xyXG4gICAgICAgIC8vIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSAhPSAwKXtcclxuICAgICAgICAvLyAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucm91dGVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnRpbWVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gW107XHJcbiAgICAgICAgaWYodHlwZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5iZ01vdmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgdGltZUNvdW50ID0gMDtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0xOyBpPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSwyKTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2tdKVxyXG4gICAgICAgICAgICAgICAgLnRvKDIse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCh0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF55CG5aSq6ZizXHJcbiAgICBjbGVhclN1bigpe1xyXG4gICAgICAgIGZvcihsZXQgaz0wOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10ucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVfQXJyYXkucHVzaCgoY2xpY2tUaW1lIC0gdGhpcy50aW1lU3RhcnQpKVxyXG4gICAgICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTsgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLmdldENoaWxkQnlOYW1lKFwiZ3VhbmdcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IHRoaXMubm93X0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJUaW1lID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zdGFydFRpbWUgPiAwICYmIHRoaXMub3ZlclRpbWUgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsIDwgNCAmJiB0aGlzLmxldmVsID4gMSljb2xvciA9IFwieXJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMubGV2ZWwgPj0gNCkgY29sb3IgPSBcInlyYlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXaW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6dHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuU3BlZWQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlU3BlZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpLHotKVcclxuICAgIHNldExvc3MoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXYXJuaW5nKCk7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSB0aGlzLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgKz0gKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBmaW5pc2hfdGltZSA9IHBhcnNlSW50KCh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpLzEwMCtcIlwiKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSA9IFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICBzdWNjZXNzOmZhbHNlLFxyXG4gICAgICAgICAgICByb3VuZDp0aGlzLnJvdW5kLFxyXG4gICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOkdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICBkdXJhdGlvbjpmaW5pc2hfdGltZS8xMCxcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDp0aGlzLnRpbWVfQXJyYXksXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldERhdGEoKTtcclxuICAgICAgICBpZih0aGlzLmZ1aHVvID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+IDIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZXZlbCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgLnRvKDAuMjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5byA5aeL5ri45oiPXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPiAwKXtcclxuICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3VuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjI1NSxzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aJp+ihjOWkqumYs+i/kOihjOWKqOeUu++8jOS7peWPiuWQjumdouenu+WKqOWKqOeUu1xyXG4gICAgcnVuR2FtZSgpe1xyXG4gICAgICAgIGxldCB0aW1lID0gLTY1MDtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIHRpbWUgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lKjEwMDAgKyB0aW1lO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXAgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lQ291bnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGVtcCA+IDAuNSkgdGVtcCA9IDAuNTtcclxuICAgICAgICAgICAgICAgICAgICBpZihpICE9IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGwgJiYgdGhpcy5ub3dfQXJyYXlbaV0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVMaW5lKGNjLnYyKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KSxjYy52Mih0aGlzLm5vd19BcnJheVtpXS54LHRoaXMubm93X0FycmF5W2ldLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0udGltZS10ZW1wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCx7eDp0aGlzLm5vd19BcnJheVtpXS54LHk6dGhpcy5ub3dfQXJyYXlbaV0ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMSx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKGksdGhpcy5ub3dfQXJyYXlbaV0uY29sb3IsdGhpcy5ub3dfQXJyYXlbaV0uc3BlZWQsdGhpcy5ub3dfQXJyYXlbaV0ucmVwZWF0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSB0aGlzLm5vd19BcnJheS5sZW5ndGggLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW5HYW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyPDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdXNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/orr7nva7np7vliqjph43lj6DmlbDmja5cclxuICAgIGNyZWF0ZU1vdmUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICBsZXQgaW5mbyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgICAgIC8v5pS55Y+Y56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICAgICAgc3BlZWQgPSA3IC0gaW5mby5tb3ZlU3BlZWQvMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpbmZvLnJlcGVhdCA9PSAxKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVwZWF0ICA9IHBhcnNlSW50KChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci0xKSsxKSArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRlbXBOdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5yZXBlYXQgPSA0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID4gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKjQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gKGluZm8ubnVtYmVyLTEpKSAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKog5LiN6IO96Lef56ys5LiA5Liq6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAgLSBwYXJzZUludCggKE1hdGgucmFuZG9tKCkqMyArIDIpKyBcIlwiKVxyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0IF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXsgLy8gMCAxIDIgMyA0IDUgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gNiAtIDMgLSAxICA9IDIgNCAgMDEgNFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA9PSAwKSB0aGlzLnJlcGVhdCAgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gaW5mby5udW1iZXIgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgLSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA+IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqKGluZm8ubnVtYmVyLXRoaXMucmVwZWF0IC0yKSArIFwiXCIpICsgdGhpcy5yZXBlYXQgICsgMiA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0XSA9IHRlbXBOdW1iZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAvLzAgMSAyIDMgNCA1IDYgNyA4IDlcclxuICAgICAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoMCwwKTtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBrID0wOyBrPHRoaXMubW92ZUFycmF5Lmxlbmd0aDtrKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gIT0gayAmJiB0aGlzLm1vdmVBcnJheVttXSA9PSAwICYmIG0hPSB0aGlzLnJlcGVhdCAmJiBtIT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSAgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheSBbaV0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVPdXQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSB0aGlzLmdldFBvczIodHJ1ZSxpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W2ldID0gcG9zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB0aW1lT3V0KjMwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgIG1vdmVBY3Rpb24oKXtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFycmF5KCk7XHJcbiAgICAgICAgbGV0IG1vdmVBcnJheSA9IHRoaXMubW92ZUFycmF5O1xyXG4gICAgICAgIGxldCBpbmZvID0gR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXTtcclxuICAgICAgICAvL+aUueWPmOenu+WKqOmAn+W6plxyXG4gICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgaWYoaW5mby5tb3ZlU3BlZWQgPj0gMil7XHJcbiAgICAgICAgICAgIHNwZWVkID0gNyAtIGluZm8ubW92ZVNwZWVkLzI7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgIC8vMCAxIDIgMyA0IDUgNiA3IDggOVxyXG4gICAgICAgICAgICAvL+WPr+enu+WKqOWMuuWIhlxyXG4gICAgICAgICAgICAvL+WwhumHjeWPoOeahOiuvue9ruS4uuS4jeWPr+enu+WKqCAgMSAxIDEgMSAwIDAgMSAwIDAgMCAgIC8gMiA3XHJcbiAgICAgICAgICAgIGZvcihsZXQgayA9MDsgazx0aGlzLm1vdmVBcnJheS5sZW5ndGg7aysrKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG0gPSB0aGlzLm1vdmVBcnJheS5sZW5ndGgtMTsgbSA+PSAwOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihtICE9IGsgJiYgdGhpcy5tb3ZlQXJyYXlbbV0gPT0gMCAmJiBtIT0gdGhpcy5yZXBlYXQgJiYgbSE9IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W2tdID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGxhc3ROdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAvL+mUgeWumuacgOWQjuS4gOS4quWPr+enu+WKqOeahFxyXG4gICAgICAgICAgICBmb3IobGV0IGogPTA7IGo8bW92ZUFycmF5Lmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2pdPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICBsYXN0TnVtYmVyID0gajtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IobGV0IGkgPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2ldID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgIT0gbGFzdE51bWJlcil7ICAgIC8v5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq56e75Yqo55qEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8v5aaC5p6c5piv5pyA5ZCO5LiA5LiqXHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRpbWUgPSBzcGVlZCp0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2ldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8odGltZSx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbaV19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5q+P5qyh6YeN5paw5byA5aeL5paw5LiA6L2u5YS/5ri45oiPXHJcbiAgICBiZWdpbkdhbWUoKXtcclxuICAgICAgICB0aGlzLmJlZ2luID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5wYXVzZSA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5pqC5pe25L2c5bqfXHJcbiAgICAvLyBnZXRSYW5kb21BcnJheShsYXN0TnVtYmVyKXtcclxuICAgIC8vICAgICBsZXQgbnVtID0gIHBhcnNlSW50KE1hdGgucmFuZG9tKCkqOCAtIDQgKyBcIlwiKTtcclxuICAgIC8vICAgICBsZXQgamcgPSBudW0gKyBsYXN0TnVtYmVyO1xyXG4gICAgLy8gICAgIGlmKG51bSA+IDEgfHwgbnVtIDwtMSl7XHJcbiAgICAvLyAgICAgICAgIGlmKCBudW0gPT0gMCB8fCAoIGpnPDAgfHwgamcgPj0gdGhpcy5Qb3NfQXJyYXkubGVuZ3RoKSl7XHJcbiAgICAvLyAgICAgICAgICAgICBqZyA9IHRoaXMuZ2V0UmFuZG9tQXJyYXkobGFzdE51bWJlcik7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgZWxzZXtcclxuICAgIC8vICAgICAgICAgamcgPSB0aGlzLmdldFJhbmRvbUFycmF5KGxhc3ROdW1iZXIpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gamc7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy/liJvlu7rlpKrpmLPmiYDpnIDmlbDmja5cclxuICAgIGNyZWF0ZVN1bigpe1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIGxldCB0aWVtT3V0ID0gMDtcclxuICAgICAgICBmb3IobGV0IGw9MDsgbDxsZXZlbERhdGEubnVtYmVyO2wrKyl7XHJcbiAgICAgICAgICAgIHRpZW1PdXQgKz0gMTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3MgPSB0aGlzLmdldFBvcyhmYWxzZSxsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKHBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID09IGxldmVsRGF0YS5udW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3MoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aWVtT3V0KjEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liJvlu7rlpKrpmLPkvY3nva7vvIzpopzoibLkv6Hmga/nrYnmlbDmja5cclxuICAgIGNyZWF0ZVBvcygpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge3g6dGhpcy5iYWxsLngseTp0aGlzLmJhbGwueSx0aW1lOjAsdGltZUNvdW50OjAsY29sb3I6MCxzcGVlZDowLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgbGV0IGxldmVsRGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/popzoibLljLrliIZcclxuICAgICAgICBsZXQgY29sb3JBcnJheSA9IFswLDFdO1xyXG4gICAgICAgIGZvcihsZXQgaj0wOyBqPGxldmVsRGF0YS5udW1iZXItMjtqKyspe1xyXG4gICAgICAgICAgICBsZXQgY29sb3JUZW1wID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSozK1wiXCIpO1xyXG4gICAgICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyIDwgNiAmJiBjb2xvclRlbXAgPT0gMikgY29sb3JUZW1wID0gMDtcclxuICAgICAgICAgICAgY29sb3JBcnJheS5wdXNoKGNvbG9yVGVtcCk7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3JBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGlmKGxldmVsRGF0YS5udW1iZXIgPT0gNCkgY29sb3JBcnJheSA9IFswLDAsMCwwXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gY29sb3JBcnJheTtcclxuICAgICAgICAvL+WtmOWCqOWkqumYs+aVsOaNrlxyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGxldmVsRGF0YS5udW1iZXI7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuNi10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwxKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5HYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlu+8jE7kuKrlpKrpmLPkvY3nva7nmoTmlrnms5XvvIzlkoxQT1My5YiG5byA5Lik5Liq5pa55rOV77yM6Ziy5q2i6YCS5b2S5rqi5Ye6XHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuICAgIC8v6I635Y+W77yMTuS4quWkqumYs+WPr+enu+WKqOS9jee9rueahOaWueazle+8jOWSjFBPU+WIhuW8gOeul+mYsuatoumAkuW9kua6ouWHulxyXG4gICAgZ2V0UG9zMih0eXBlLG51bSl7XHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG4gICAgICAgIGxldCBwb2ludCA9IGNjLnYyKHBvc1gscG9zWSk7XHJcbiAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3RhbmNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gbnVtKSBwZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBkaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UyKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3MyKHR5cGUsbnVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IHRydWUgJiYgaSA9PSAodGhpcy5Qb3NfQXJyYXkubGVuZ3RoLTEpKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9pbnQ7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOi3neemu++8jOi/lOWbnuWIpOaWreaYr+WQpuWcqOS4gOWumuiMg+WbtOWGhSDlsIbmnaXmj5Dlh7rliLDlt6XlhbfnsbtcclxuICAgIGdldERpc3RhbmNlKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heE1vdmUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlIDwgR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuICAgIC8v5ZG95Lit5Yqo55S7XHJcbiAgICBoaXRBY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gdHJ1ZTsgdGhpcy5oaXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5oaXQuc2V0UG9zaXRpb25cclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvbih0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueCszNSx0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueSszNSk7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5oaXQpXHJcbiAgICAgICAgLnRvKDAse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4yLHtwb3NpdGlvbjpjYy52Myh0aGlzLmhpdC54LTM1LHRoaXMuaGl0LnktMzUsMCl9KVxyXG4gICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5Yib6YCg5aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBpZihjb2xvciA9PSAwKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTEpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMSliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUyKTtcclxuICAgICAgICBlbHNlIGlmKGNvbG9yID09IDIpYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1Myk7XHJcbiAgICAgICAgYmFsbC5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJTdW5cIik7XHJcbiAgICAgICAgYmFsbC56SW5kZXggPSB0aGlzLm5vd19BcnJheS5sZW5ndGggLSBudW1iZXI7XHJcbiAgICAgICAgYmFsbC5zZXRQb3NpdGlvbih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSk7XHJcbiAgICAgICAgYmFsbC5nZXRDb21wb25lbnQoXCJTdW5cIikuaW5pdChudW1iZXIsY29sb3Isc3BlZWQscmVwZWF0KTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkucHVzaChiYWxsKTtcclxuICAgIH1cclxuICAgIC8v6ZSA5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uui/nue6v1xyXG4gICAgY3JlYXRlTGluZShzdGFydCxlbmQsdGltZSl7XHJcbiAgICAgICAgbGV0IGxpbmUgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLmxpbmVQcmVmYWIpO1xyXG4gICAgICAgIGxpbmUucGFyZW50ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKTtcclxuICAgICAgICBsaW5lLnNldFBvc2l0aW9uKHN0YXJ0Lngsc3RhcnQueSk7XHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v6I635Y+W5Lik54K55LmL6Ze055qE6KeS5bqm77yM5bCG5p2l6YO95Y+v5pS+5bel5YW357G7XHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7TnmoTot53nprsg6L+U5Zue5a+55bqU5pe26Ze0XHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZSh4MSwgeTEsIHgyLCB5MiwgbnVtKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICBsZXQgdGltZSA9IDA7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvODAwICogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiAxMjAwKSBkaXN0YW5jZSA9IDEyMDA7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGlmKGRpc3RhbmNlID4gMTIwMCkgZGlzdGFuY2UgPSAxMjAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvMTIwMCAqIDEuNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aW1lO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Tot53nprsgIOi/lOWbnui3neemu+WIpOaWrVxyXG4gICAgZ2V0RGlzdGFuY2UyKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgICAgIGxldCB5MSA9IHRoaXMuYmcxLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgIC50byh0aW1lMSx7eDpwb3NYfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJnMSlcclxuICAgICAgICAuZGVsYXkoMC4zKVxyXG4gICAgICAgIC50byh0aW1lMSx7eTp5MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSkgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9LCB0aW1lMSoxNTAwKTtcclxuICAgIH1cclxuICAgIC8v5pe26Ze05qC85byP6L2s5o2iXHJcbiAgICBnZXRUaW1lTWFyZ2luKHNlY29uZDpudW1iZXIpIHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH1cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSB0aGlzLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aW1lLm5vZGUpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yNSx7c2NhbGU6MS41LGNvbG9yOmNjLmNvbG9yKDI1NSwwLDApfSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLGNvbG9yOmNjLmNvbG9yKDI1NSwyNTUsMjU1KX0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tDb3VudCA+IDApIHRpbWUgPSBwYXJzZUludChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSBwYXJzZUludCh0aW1lLzEwMCArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayh0aW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5LiK5Lyg5q+P5qyh5pON5L2c5pWw5o2uXHJcbiAgICBzZXREYXRhKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEEucHVzaChHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSk7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX2luaXQoKTtcclxuICAgICAgICBsZXQgZGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhtYXRjaElkKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBIdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkICgpe1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hJZFwiKTtcclxuICAgICAgICBpZihtYXRjaElkID09IFwidW5kaWZlbmRcIiB8fCBtYXRjaElkPT1udWxsKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBjaGFyID0gcGFyc2VJbnQobWF0Y2hJZFsxMF0pO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yb3VuZCA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICBjaGFyICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkICA9IG1hdGNoSWQuc2xpY2UoMCwgMTApICsgY2hhciArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH1cclxuICAgIC8v5qOA5rWLbWF0Y2hJZCDlpoLmnpzmnInnvJPlrZjku6XliY3nmoRuYW5hbmHmlbDmja7muIXpmaRcclxuICAgIGNvbnRhaW5zTmFuYW5hKHN0cikge1xyXG4gICAgICAgIHJldHVybiAvbmEvaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIHNldFJhbmsodGltZSl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiB0aW1lLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICB9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/Shake.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '61affD5SO9Ipo0fGmIeTFTZ', 'Shake'); +// Script/tool/Shake.js + +"use strict"; + +/** + * 自定义抖动效果 + */ +var Shake = cc.Class({ + "extends": cc.Component, + properties: { + //抖动时间 + duration: 0, + //X轴抖动范围 + shakeX: 0, + shakeY: 0 + }, + shake: function shake(callback) { + if (this.shaking) { + return; + } + + this.callback = callback; + this.shaking = true; + this.dtCost = 0; + this.nodeInitialPos = this.node.getPosition(); + this.unschedule(this.doSchedule); + this.schedule(this.doSchedule, 0, cc.macro.REPEAT_FOREVER, 0); + }, + doSchedule: function doSchedule(dt) { + var dt2 = dt * 50; + var randX = this.getRandomStrength(-this.shakeX, this.shakeX) * dt2; + var randY = this.getRandomStrength(-this.shakeY, this.shakeY) * dt2; + this.node.setPosition(cc.pAdd(this.nodeInitialPos, cc.v2(randX, randY))); + this.dtCost += dt; + + if (this.dtCost >= this.duration) { + this.unschedule(this.doSchedule); + this.node.setPosition(this.nodeInitialPos); + this.shaking = false; + + if (this.callback) { + this.callback(); + } + } + }, + //获取两个数间的随机值 + getRandomStrength: function getRandomStrength(min, max) { + return Math.random() * (max - min + 1) + min; + } +}); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxTaGFrZS5qcyJdLCJuYW1lcyI6WyJTaGFrZSIsImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiZHVyYXRpb24iLCJzaGFrZVgiLCJzaGFrZVkiLCJzaGFrZSIsImNhbGxiYWNrIiwic2hha2luZyIsImR0Q29zdCIsIm5vZGVJbml0aWFsUG9zIiwibm9kZSIsImdldFBvc2l0aW9uIiwidW5zY2hlZHVsZSIsImRvU2NoZWR1bGUiLCJzY2hlZHVsZSIsIm1hY3JvIiwiUkVQRUFUX0ZPUkVWRVIiLCJkdCIsImR0MiIsInJhbmRYIiwiZ2V0UmFuZG9tU3RyZW5ndGgiLCJyYW5kWSIsInNldFBvc2l0aW9uIiwicEFkZCIsInYyIiwibWluIiwibWF4IiwiTWF0aCIsInJhbmRvbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxLQUFLLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ2pCLGFBQVNELEVBQUUsQ0FBQ0UsU0FESztBQUdqQkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1I7QUFDQUMsSUFBQUEsUUFBUSxFQUFFLENBRkY7QUFHUjtBQUNBQyxJQUFBQSxNQUFNLEVBQUUsQ0FKQTtBQUtSQyxJQUFBQSxNQUFNLEVBQUU7QUFMQSxHQUhLO0FBV2pCQyxFQUFBQSxLQUFLLEVBQUUsZUFBVUMsUUFBVixFQUFvQjtBQUN2QixRQUFHLEtBQUtDLE9BQVIsRUFBZ0I7QUFDWjtBQUNIOztBQUNELFNBQUtELFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLElBQWY7QUFDQSxTQUFLQyxNQUFMLEdBQWMsQ0FBZDtBQUNBLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsSUFBTCxDQUFVQyxXQUFWLEVBQXRCO0FBQ0EsU0FBS0MsVUFBTCxDQUFnQixLQUFLQyxVQUFyQjtBQUNBLFNBQUtDLFFBQUwsQ0FBYyxLQUFLRCxVQUFuQixFQUErQixDQUEvQixFQUFrQ2YsRUFBRSxDQUFDaUIsS0FBSCxDQUFTQyxjQUEzQyxFQUEyRCxDQUEzRDtBQUNILEdBckJnQjtBQXNCakJILEVBQUFBLFVBQVUsRUFBRSxvQkFBVUksRUFBVixFQUFjO0FBQ3RCLFFBQUlDLEdBQUcsR0FBR0QsRUFBRSxHQUFHLEVBQWY7QUFDQSxRQUFJRSxLQUFLLEdBQUcsS0FBS0MsaUJBQUwsQ0FBdUIsQ0FBQyxLQUFLakIsTUFBN0IsRUFBcUMsS0FBS0EsTUFBMUMsSUFBb0RlLEdBQWhFO0FBQ0EsUUFBSUcsS0FBSyxHQUFHLEtBQUtELGlCQUFMLENBQXVCLENBQUMsS0FBS2hCLE1BQTdCLEVBQXFDLEtBQUtBLE1BQTFDLElBQW9EYyxHQUFoRTtBQUNBLFNBQUtSLElBQUwsQ0FBVVksV0FBVixDQUFzQnhCLEVBQUUsQ0FBQ3lCLElBQUgsQ0FBUSxLQUFLZCxjQUFiLEVBQTZCWCxFQUFFLENBQUMwQixFQUFILENBQU1MLEtBQU4sRUFBYUUsS0FBYixDQUE3QixDQUF0QjtBQUNBLFNBQUtiLE1BQUwsSUFBZVMsRUFBZjs7QUFDQSxRQUFJLEtBQUtULE1BQUwsSUFBZSxLQUFLTixRQUF4QixFQUFrQztBQUM5QixXQUFLVSxVQUFMLENBQWdCLEtBQUtDLFVBQXJCO0FBQ0EsV0FBS0gsSUFBTCxDQUFVWSxXQUFWLENBQXNCLEtBQUtiLGNBQTNCO0FBQ0EsV0FBS0YsT0FBTCxHQUFlLEtBQWY7O0FBQ0EsVUFBRyxLQUFLRCxRQUFSLEVBQWlCO0FBQ2IsYUFBS0EsUUFBTDtBQUNIO0FBQ0o7QUFDSixHQXBDZ0I7QUFxQ2pCO0FBQ0FjLEVBQUFBLGlCQUFpQixFQUFFLDJCQUFVSyxHQUFWLEVBQWVDLEdBQWYsRUFBb0I7QUFDbkMsV0FBT0MsSUFBSSxDQUFDQyxNQUFMLE1BQWlCRixHQUFHLEdBQUdELEdBQU4sR0FBWSxDQUE3QixJQUFrQ0EsR0FBekM7QUFDSDtBQXhDZ0IsQ0FBVCxDQUFaIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog6Ieq5a6a5LmJ5oqW5Yqo5pWI5p6cXHJcbiAqL1xyXG52YXIgU2hha2UgPSBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIC8v5oqW5Yqo5pe26Ze0XHJcbiAgICAgICAgZHVyYXRpb246IDAsXHJcbiAgICAgICAgLy9Y6L205oqW5Yqo6IyD5Zu0XHJcbiAgICAgICAgc2hha2VYOiAwLFxyXG4gICAgICAgIHNoYWtlWTogMCxcclxuICAgIH0sXHJcblxyXG4gICAgc2hha2U6IGZ1bmN0aW9uIChjYWxsYmFjaykge1xyXG4gICAgICAgIGlmKHRoaXMuc2hha2luZyl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc2hha2luZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgPSAwO1xyXG4gICAgICAgIHRoaXMubm9kZUluaXRpYWxQb3MgPSB0aGlzLm5vZGUuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy5kb1NjaGVkdWxlKTtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSwgMCwgY2MubWFjcm8uUkVQRUFUX0ZPUkVWRVIsIDApO1xyXG4gICAgfSxcclxuICAgIGRvU2NoZWR1bGU6IGZ1bmN0aW9uIChkdCkge1xyXG4gICAgICAgIHZhciBkdDIgPSBkdCAqIDUwO1xyXG4gICAgICAgIHZhciByYW5kWCA9IHRoaXMuZ2V0UmFuZG9tU3RyZW5ndGgoLXRoaXMuc2hha2VYLCB0aGlzLnNoYWtlWCkgKiBkdDI7XHJcbiAgICAgICAgdmFyIHJhbmRZID0gdGhpcy5nZXRSYW5kb21TdHJlbmd0aCgtdGhpcy5zaGFrZVksIHRoaXMuc2hha2VZKSAqIGR0MjtcclxuICAgICAgICB0aGlzLm5vZGUuc2V0UG9zaXRpb24oY2MucEFkZCh0aGlzLm5vZGVJbml0aWFsUG9zLCBjYy52MihyYW5kWCwgcmFuZFkpKSk7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgKz0gZHQ7XHJcbiAgICAgICAgaWYgKHRoaXMuZHRDb3N0ID49IHRoaXMuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSk7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5zZXRQb3NpdGlvbih0aGlzLm5vZGVJbml0aWFsUG9zKTtcclxuICAgICAgICAgICAgdGhpcy5zaGFraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY2FsbGJhY2spe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5Lik5Liq5pWw6Ze055qE6ZqP5py65YC8XHJcbiAgICBnZXRSYW5kb21TdHJlbmd0aDogZnVuY3Rpb24gKG1pbiwgbWF4KSB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW47XHJcbiAgICB9LFxyXG59KTtcclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Sun.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '4be67sdkexCyqLl0NHd9N1f', 'Sun'); +// Script/Sun.ts + +"use strict"; +// Learn TypeScript: +// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var Notification_1 = require("./Notification"); +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + // onLoad () {} + NewClass.prototype.start = function () { + }; + //初始化数据 + NewClass.prototype.init = function (_id, color, speed, repeat) { + this.touch = true; + this.move = false; + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) + .repeatForever(cc.tween() + .to(1, { opacity: 0, scale: 0.5, }) + .delay(0.2) + .to(1, { opacity: 255, scale: 1.2 }) + .delay(0.5)) + .start(); + }; + //用于作弊 测试 + NewClass.prototype.showNumber = function (type) { + this.node.getChildByName("number").active = type; + if (type == true) + this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; + }; + //点击事件 + NewClass.prototype.clickBtn = function (event, data) { + if (data === "1") { + if (this.move == false && this.touch == true) { + if (this.node.parent.parent.name == "GameNode") { + if (this.node.parent.parent.getComponent("GameManager").begin == true) { + cc.tween(this.node.getChildByName("action")) + .to(0.5, { opacity: 0, scale: 1.8 }) + .start(); + cc.tween(this.node) + .to(0.3, { scale: 1.3 }) + .to(0.3, { scale: 1 }) + .start(); + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + else { + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + } + else { + if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + }; + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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dCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVNYW5hZ2VyIGZyb20gJy4vR2FtZU1hbmFnZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBpZF9OdW1iZXI6bnVtYmVyXHJcbiAgICBfc3BlZWQ6bnVtYmVyXHJcbiAgICBfY29sb3I6bnVtYmVyXHJcbiAgICB0b3VjaDpib29sZWFuXHJcbiAgICBfcmVwZWF0OmJvb2xlYW5cclxuICAgIG1vdmU6Ym9vbGVhblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdChfaWQsY29sb3Isc3BlZWQscmVwZWF0KXtcclxuICAgICAgICB0aGlzLnRvdWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlkX051bWJlciAgPSBfaWQ7XHJcbiAgICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcclxuICAgICAgICB0aGlzLl9zcGVlZCA9IHNwZWVkO1xyXG4gICAgICAgIHRoaXMuX3JlcGVhdCA9IHJlcGVhdDtcclxuICAgICAgICAvL+WkqumYs+WKqOeUu1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNoYW5cIikpXHJcbiAgICAgICAgLnJlcGVhdEZvcmV2ZXIoXHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKClcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MCxzY2FsZTowLjUsfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MjU1LHNjYWxlOjEuMn0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjUpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/nlKjkuo7kvZzlvIog5rWL6K+VXHJcbiAgICBzaG93TnVtYmVyKHR5cGUpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5hY3RpdmUgPSB0eXBlO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSlcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5pZF9OdW1iZXIgKyBcIlwiO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuovku7ZcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEgPT09IFwiMVwiKXtcclxuICAgICAgICAgICAgaWYoIHRoaXMubW92ZSA9PSBmYWxzZSAmJiB0aGlzLnRvdWNoID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLnBhcmVudC5wYXJlbnQubmFtZSA9PSBcIkdhbWVOb2RlXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJhY3Rpb25cIikpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MCxzY2FsZToxLjh9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG91Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Storage.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); +// Script/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVM7QUFDVCxJQUFJLGNBQWMsR0FBRztJQUNqQixVQUFVLEVBQUcsVUFBUyxHQUFHO1FBQ3JCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNsQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFHLE1BQU0sRUFBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRyxVQUFTLEdBQUcsRUFBQyxLQUFLO1FBQzNCLFVBQVU7UUFDVixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUNELGFBQWEsRUFBRyxVQUFTLEdBQUc7UUFDMUIsVUFBVTtRQUNWLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7Q0FDSixDQUFDO0FBRU8sd0NBQWMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+e8k+WtmOa1j+iniOWZqOaVsOaNrlxudmFyIFN0b3JhZ2VNZXNzYWdlID0ge1xuICAgIGdldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICAgIHZhciByZXN1bHQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYocmVzdWx0KXtcbiAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXksdmFsdWUpe1xuICAgICAgICAvL+S4u+WKqOaLiei1t+WIhuS6q+aOpeWPo1xuICAgICAgICB2YXIgdGVtcCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdGVtcClcbiAgICB9LFxuICAgIHJlbW92ZVN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgLy/kuLvliqjliKDpmaTmtojmga/mjqXlj6NcbiAgICAgIGlmKGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKXtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfTsiXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/GameTool.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'a1dd7qMiCpOLL3FDXJd9DGy', 'GameTool'); +// Script/tool/GameTool.js + +"use strict"; + +var _window$GameTool; + +var StorageMessage = require("Storage").StorageMessage; + +window.GameTool = (_window$GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + getSeedRandom: function getSeedRandom(min, max) { + //包含min 不包含max + max = max || 1; + min = min || 0; + GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return parseInt(tmp); + }, + getSetScreenResolutionFlag: function getSetScreenResolutionFlag() { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if (height / width > 16.2 / 9) return false; + return true; + }, + //判断全面屏适配 + setFit: function setFit(canvas) { + var flag = GameTool.getSetScreenResolutionFlag(); + + if (flag) {// console.log("不是全面屏"); + // canvas.fitWidth = false; + // canvas.fitHeight = true; + } else {// console.log("是全面屏"); + // canvas.fitWidth = true; + // canvas.fitHeight = false; + } + + return flag; + }, + // submitScoreButtonFunc: function(score1,fen1){ + // console.log("上传分数:",score1,fen1) + // // var score = score1; + // // var fen = fen1; + // // if (CC_WECHATGAME) { + // // window.wx.postMessage({ + // // messageType: 3, + // // MAIN_MENU_NUM: "guan", + // // score: score, + // // MAIN_MENU_FEN: "score", + // // fen: fen, + // // }); + // // } else { + // // cc.log("提交得分: x1 : " + score) + // // } + // // return true; + // }, + submitScoreButtonFunc: function submitScoreButtonFunc(fen2, number) { + console.log("number=", number); + + if (number == 0) { + console.log("上传分数:", fen2); + var fen = fen2; + + if (CC_WECHATGAME) { + window.wx.postMessage({ + messageType: 3, + MAIN_MENU_FEN: "score", + MAIN_MENU_NUM: "fen", + score: fen, + fen: 0 + }); + } else { + cc.log("提交得分: x1 : " + fen); + } + } else { + console.log("上传特殊分数:", fen2); + var fen = fen2; + + if (CC_WECHATGAME) { + window.wx.postMessage({ + messageType: 7, + MAIN_MENU_FEN: "score", + MAIN_MENU_NUM: "fen", + score: 0, + fen: fen + }); + } else { + cc.log("提交得分: x1 : " + fen); + } + } + + return true; + }, + getTip: function getTip() { + var index = Math.floor(Math.random() * 4) + 1; + + switch (index) { + case 1: + { + return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; + } + + case 2: + { + return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; + } + + case 3: + { + return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; + } + + case 4: + { + return "尝试着顶开掉落的障碍,是个很酷的玩法。"; + } + } + }, + beginTiming: function beginTiming() { + this._startTime = new Date().getTime(); + }, + endTiming: function endTiming() { + this._endTime = new Date().getTime(); // this._totalTime = endTime - this._startTime; + }, + //如果是判断时常的游戏 调用此方法 + updateScoreTime: function updateScoreTime() { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + + this._endTime += tempTime / 1000; + this._totalTime = this._endTime.toFixed(2); + GM_INFO.currScore = this._totalTime; + this._startTime = endTime; + }, + //倒计时调用此方法 + countDown: function countDown() { + this._endTime = new Date().getTime(); + this._totalTime = parseInt((this._endTime - this._startTime) / 1000); + GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; + }, + httpRequest: function httpRequest(url, data, _success, _fail) { + console.log("进入网络请求:"); + wx.getNetworkType({ + success: function success(res) { + var networkType = res.networkType; // console.log(networkType); + //有网络状态下 + + if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { + wx.request({ + url: window.globalData.requestAPI + url, + data: data, + header: { + 'content-type': 'application/json', + // 默认值 + 'Authorization': window.globalData.BASE64_JWT_TOKEN ? 'Bearer ' + window.globalData.BASE64_JWT_TOKEN : '' + }, + method: 'POST', + success: function success(res) { + console.log('httpRequest:::::success', res); + + _success(res); + }, + fail: function fail(res) { + console.log('httpRequest:::::fail', res, "失败url为", url); + + _fail(res); + } + }); + } else { + _fail(res); + } + }, + fail: function fail(res) { + _fail(res); + } + }); // console.log('httpRequest:::::', url, data, success, fail) + }, + httpRequest_Notoken: function httpRequest_Notoken(url, data, _success2, _fail2) { + // console.log('httpRequest:::::', url, data, success, fail) + wx.getNetworkType({ + success: function success(res) { + var networkType = res.networkType; // console.log(networkType); + //有网络状态下 + + if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { + wx.request({ + url: window.globalData.requestAPI + url, + data: data, + header: { + 'content-type': 'application/json' // 默认值 + + }, + method: 'POST', + success: function success(res) { + console.log('httpRequest:::::success', res); + + _success2(res); + }, + fail: function fail(res) { + console.log('httpRequest:::::fail', res, "失败url为", url); + + _fail2(res); + } + }); + } else { + _fail2(res); + } + }, + fail: function fail(res) { + _fail2(res); + } + }); + }, + getGameInfo: function getGameInfo(node) { + var jg = false; + var nodes = node; + var data = { + 'appid': window.globalData.appid + }; + window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { + window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 + + console.log("拿到服务器的信息", res.data); + + if (window.globalData.gameUserInfo) { + console.log("获得服务器游戏信息成功:", window.globalData.gameUserInfo); + if (window.globalData.gameUserInfo.unlock_1) window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; + if (window.globalData.gameUserInfo.unlock_2) window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; //如果服务器有金币信息 + + if (window.globalData.gameUserInfo.coin) { + //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 + if (StorageMessage.getStorage("Coin")) { + if (window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")) { + window.GM_INFO.coin = StorageMessage.getStorage("Coin"); + StorageMessage.setStorage("Coin", window.GM_INFO.coin); + } + } //如果本地没有金币信息 , 以服务器金币信息为主 + else { + window.GM_INFO.coin = window.globalData.gameUserInfo.coin; + StorageMessage.setStorage("Coin", window.GM_INFO.coin); + } + } else { + //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 + if (StorageMessage.getStorage("Coin")) { + window.GM_INFO.coin = StorageMessage.getStorage("Coin"); + StorageMessage.setStorage("Coin", window.GM_INFO.coin); + } //如果本地没有金币信息 , 以服务器金币信息为主 + else { + window.GM_INFO.coin = 200; + StorageMessage.setStorage("Coin", window.GM_INFO.coin); + } + } + + cc.director.loadScene('GameBegin'); // console.log("即将进入这里"); + // if(StorageMessage.getStorage("level")){ + // // console.log("本地有等级信息;"); + // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); + // window.GM_INFO.level = StorageMessage.getStorage("level"); + // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); + // // console.log("本地等级信息为:",window.GM_INFO.level); + // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 + // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ + // // nodes.active = true; + // window.GM_INFO.level = window.globalData.gameUserInfo.level; + // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); + // window.GameTool.reset(); + // } + // //正常进入游戏,以本地数据为主,服务器数据为辅 + // else{ + // console.log("本地数据大以本地主数据为主"); + // // window.GameTool.setGameInfo(true); + // } + // } + // else{ + // console.log("笨地没等级数据"); + // // nodes.active = true; + // window.GM_INFO.level = window.globalData.gameUserInfo.level; + // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); + // window.GameTool.reset(); + // } + + if (CC_WECHATGAME) { + wx.onShow(function (res) { + if (res) { + if (res.query) { + console.log("分享中带的信息", res.query); + + if (res.query.key1) { + window.GameTool.setFrindHelp(res.query.key1); + } + + if (res.query.key2) { + window.GameTool.setFrindBlock(res.query.key2); + } + + if (res.query.key3) { + window.GameTool.setFrindBlockMax(res.query.key3); + } + } + } + }); + wx.onHide(function (res) { + console.log("检测退出游戏"); // window.arm = []; + // for(var i=0; i<12; i++){ + // window.arm[i] = null; + // window.arm[i] = {error:"error"}; + // } + // window.arm = StorageMessage.setStorage("arm",window.arm); + + var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level, window.GM_INFO.coin); + window.GameTool.setGameInfo(); + }); + } + + jg = true; + } else { + console.log("拿到服务器信息失败"); + cc.director.loadScene("LoadScene"); + } + }, function () { + jg = false; + console.log("get用户信息失败", res); + }); + return jg; + }, + //根据服务器数据重置所需要所有数据 + reset: function reset() { + // if(window.globalData.gameUserInfo.arm) + // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); + // if(window.globalData.gameUserInfo.richest_coin) + // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); + // if(window.globalData.gameUserInfo.dimond) + // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); + // if(window.globalData.gameUserInfo.buy_time) + // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); + // if(window.globalData.gameUserInfo.dimond_time) + // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); + // if(window.globalData.gameUserInfo.level) + // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); + // if(window.globalData.gameUserInfo.total_Speed) + // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); + // if(window.globalData.gameUserInfo.leave_time) + // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); + // if(window.globalData.gameUserInfo.reward1) + // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); + // if(window.globalData.gameUserInfo.reward2) + // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); + // StorageMessage.setStorage("GM_INFO",window.GM_INFO); + console.log("本地数据丢失,重新启动游戏"); + cc.director.loadScene('LoadScene'); + }, + setGameInfo: function setGameInfo(pd) { + var data = {// "richest_coin":window.coin+"", + // "arm":window.arm, + // "buy_time":window.buy_Time, + // "dimond":parseInt(window.dimond), + // "dimond_time":window.dimond_Time, + // "level":window.GM_INFO.level, + // "total_speed":window.total_Speed+"", + // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 + // "reward_2":window.share_100 //用于存储100个红包的领取信息 + }; // console.log("存储之前检测:",window.arm,arms); + + window.GameTool.httpRequest(window.globalData.richest, data, function (res) { + console.log('存储userInfo成功', res); + + if (!pd) { + window.GM_INFO.leave_time = res.data.leave_time; + StorageMessage.setStorage("leave_time", window.GM_INFO.leave_time); + } + }, function (res) { + console.log('存储userInfo失败', res); + + if (!pd) { + window.GM_INFO.leave_time = parseInt(new Date().valueOf() / 1000); + StorageMessage.setStorage("leave_time", data); + } + }); + }, + //输入秒,返回需要展示时间格式 + getTimeMargin: function getTimeMargin(second) { + var total = second; + var hour = parseInt(total / (60 * 60)); //计算整数小时数 + + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + + var min = parseInt(afterHour / 60); //计算整数分 + + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + + return '剩余:' + hour + ':' + min + ':' + afterMin; + }, + getTimeMargin2: function getTimeMargin2(second) { + var total = second; + var hour = parseInt(total / (60 * 60)); //计算整数小时数 + + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + + var min = parseInt(afterHour / 60); //计算整数分 + + if (min < 10) min = "0" + min; + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + + if (afterMin < 10) afterMin = "0" + afterMin; + return '剩余:' + min + ':' + afterMin; + }, + setFrindBlock: function setFrindBlock(userid) { + // console.log("添加时候的userid"); + var data = { + user_id: userid + }; // if(userid != window.globalData.gameUserInfo.user_id){ + // console.log("进分享的不是自己"); + // { + + window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { + console.log('添加红包助力信息成功', res); + }, function (res) { + console.log('添加红包助力信息失败', res); + }); // } + // } + // else{ + // console.log("进入分享的是自己"); + // } + } +}, _window$GameTool["getSeedRandom"] = function getSeedRandom(min, max) { + //包含min 不包含max + max = max || 1; + min = min || 0; + GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return parseInt(tmp); +}, _window$GameTool.getTime = function getTime(time) { + var label = ""; + var number_1 = parseInt(time / 60); + var number_2 = time - number_1 * 60; + + if (number_1 < 10) { + number_1 = "0" + number_1; + } + + if (number_2 < 10) { + number_2 = "0" + number_2; + } + + label = number_1 + ":" + number_2; + return label; +}, _window$GameTool.getNumber = function getNumber(number, type) { + // console.log(type,"需要转换的数字为:",number); + var count = 1000; + var place = type - 3; + + if (number > Math.pow(count, 8) * Math.pow(10, place)) { + if (number / Math.pow(count, 8) < 100) number = parseInt(number / Math.pow(count, 8) * 10) / 10 + "S";else number = parseInt(number / Math.pow(count, 8)) + "S"; + } else if (number > Math.pow(count, 7) * Math.pow(10, place)) { + if (number / Math.pow(count, 7) < 100) number = parseInt(number / Math.pow(count, 7) * 10) / 10 + "s";else number = parseInt(number / Math.pow(count, 7)) + "s"; + } else if (number > Math.pow(count, 6) * Math.pow(10, place)) { + if (number / Math.pow(count, 6) < 100) number = parseInt(number / Math.pow(count, 6) * 10) / 10 + "Q";else number = parseInt(number / Math.pow(count, 6)) + "Q"; + } else if (number > Math.pow(count, 5) * Math.pow(10, place)) { + if (number / Math.pow(count, 5) < 100) number = parseInt(number / Math.pow(count, 5) * 10) / 10 + "q";else number = parseInt(number / Math.pow(count, 5)) + "q"; + } else if (number > Math.pow(count, 4) * Math.pow(10, place)) { + if (number / Math.pow(count, 4) < 100) number = parseInt(number / Math.pow(count, 4) * 10) / 10 + "t";else number = parseInt(number / Math.pow(count, 4)) + "t"; + } else if (number > Math.pow(count, 3) * Math.pow(10, place)) { + if (number / Math.pow(count, 3) < 100) number = parseInt(number / Math.pow(count, 3) * 10) / 10 + "b";else number = parseInt(number / Math.pow(count, 3)) + "b"; + } else if (number > Math.pow(count, 2) * Math.pow(10, place)) { + if (number / Math.pow(count, 2) < 100) number = parseInt(number / Math.pow(count, 2) * 10) / 10 + "m";else number = parseInt(number / Math.pow(count, 2)) + "m"; + } else if (number > Math.pow(count, 1) * Math.pow(10, place)) { + if (number / Math.pow(count, 1) < 100) { + number = parseInt(number / Math.pow(count, 1) * 10) / 10 + "k"; + } else number = parseInt(number / Math.pow(count, 1)) + "k"; + } else { + number = parseInt(number / Math.pow(count, 0)) + ""; + } // console.log("结果为"+type+"位数",number); + + + return number; +}, _window$GameTool.begainTiming = function begainTiming() { + this._startTime = new Date().getTime(); +}, _window$GameTool["endTiming"] = function endTiming() { + var endTime = new Date().getTime(); + this._endTime = endTime; + this._totalTime = endTime - this._startTime; +}, _window$GameTool.getScoreTime = function getScoreTime() { + var endTime = new Date().getTime(); + var tempTime = endTime - this._startTime; + + if (tempTime < 0 || tempTime > 500) { + tempTime = Math.round(cc.director.getAnimationInterval() * 1000); + } + + GM_INFO.currScore += tempTime; + this._startTime = endTime; +}, _window$GameTool.getFormatTime = function getFormatTime(time) { + var date = new Date(); + date.setTime(time); + var ms = date.getMilliseconds(); // let msString = date.getMilliseconds(); + + var msString = parseInt(ms / 10) % 100; + var secondString = date.getSeconds(); + var minString = date.getMinutes(); + + if (msString < 10) { + msString = "0" + msString; + } + + if (secondString < 10) { + secondString = "0" + secondString; + } + + secondString = secondString + ":"; + + if (minString < 10) { + minString = "0" + minString; + } + + minString = minString + ":"; + return minString + secondString + msString; +}, _window$GameTool.pushLister = function pushLister() {}, _window$GameTool.removeAllLister = function removeAllLister() {}, _window$GameTool); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxHYW1lVG9vbC5qcyJdLCJuYW1lcyI6WyJTdG9yYWdlTWVzc2FnZSIsInJlcXVpcmUiLCJ3aW5kb3ciLCJHYW1lVG9vbCIsIl9zdGFydFRpbWUiLCJfZW5kVGltZSIsIl90b3RhbFRpbWUiLCJnZXRTZWVkUmFuZG9tIiwibWluIiwibWF4IiwiR01fSU5GTyIsImN1cnJTZWVkIiwicm5kIiwidG1wIiwicGFyc2VJbnQiLCJnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyIsInNpemUiLCJjYyIsIndpblNpemUiLCJ3aWR0aCIsImhlaWdodCIsInNldEZpdCIsImNhbnZhcyIsImZsYWciLCJzdWJtaXRTY29yZUJ1dHRvbkZ1bmMiLCJmZW4yIiwibnVtYmVyIiwiY29uc29sZSIsImxvZyIsImZlbiIsIkNDX1dFQ0hBVEdBTUUiLCJ3eCIsInBvc3RNZXNzYWdlIiwibWVzc2FnZVR5cGUiLCJNQUlOX01FTlVfRkVOIiwiTUFJTl9NRU5VX05VTSIsInNjb3JlIiwiZ2V0VGlwIiwiaW5kZXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJiZWdpblRpbWluZyIsIkRhdGUiLCJnZXRUaW1lIiwiZW5kVGltaW5nIiwidXBkYXRlU2NvcmVUaW1lIiwiZW5kVGltZSIsInRlbXBUaW1lIiwicm91bmQiLCJkaXJlY3RvciIsImdldEFuaW1hdGlvbkludGVydmFsIiwidG9GaXhlZCIsImN1cnJTY29yZSIsImNvdW50RG93biIsInJlbWFpbmluZ1RpbWUiLCJ0b3RhbFRpbWUiLCJodHRwUmVxdWVzdCIsInVybCIsImRhdGEiLCJzdWNjZXNzIiwiZmFpbCIsImdldE5ldHdvcmtUeXBlIiwicmVzIiwibmV0d29ya1R5cGUiLCJyZXF1ZXN0IiwiZ2xvYmFsRGF0YSIsInJlcXVlc3RBUEkiLCJoZWFkZXIiLCJCQVNFNjRfSldUX1RPS0VOIiwibWV0aG9kIiwiaHR0cFJlcXVlc3RfTm90b2tlbiIsImdldEdhbWVJbmZvIiwibm9kZSIsImpnIiwibm9kZXMiLCJhcHBpZCIsImdldFVzZXJJbmZvVXJsIiwiZ2FtZVVzZXJJbmZvIiwia2luZ191c2VyIiwidW5sb2NrXzEiLCJ1bmxvY2tfMiIsImNvaW4iLCJnZXRTdG9yYWdlIiwic2V0U3RvcmFnZSIsImxvYWRTY2VuZSIsIm9uU2hvdyIsInF1ZXJ5Iiwia2V5MSIsInNldEZyaW5kSGVscCIsImtleTIiLCJzZXRGcmluZEJsb2NrIiwia2V5MyIsInNldEZyaW5kQmxvY2tNYXgiLCJvbkhpZGUiLCJ0ZW1wIiwibGV2ZWwiLCJzZXRHYW1lSW5mbyIsInJlc2V0IiwicGQiLCJyaWNoZXN0IiwibGVhdmVfdGltZSIsInZhbHVlT2YiLCJnZXRUaW1lTWFyZ2luIiwic2Vjb25kIiwidG90YWwiLCJob3VyIiwiYWZ0ZXJIb3VyIiwiYWZ0ZXJNaW4iLCJnZXRUaW1lTWFyZ2luMiIsInVzZXJpZCIsInVzZXJfaWQiLCJlbnRyeUJsb2NrIiwidGltZSIsImxhYmVsIiwibnVtYmVyXzEiLCJudW1iZXJfMiIsImdldE51bWJlciIsInR5cGUiLCJjb3VudCIsInBsYWNlIiwicG93IiwiYmVnYWluVGltaW5nIiwiZ2V0U2NvcmVUaW1lIiwiZ2V0Rm9ybWF0VGltZSIsImRhdGUiLCJzZXRUaW1lIiwibXMiLCJnZXRNaWxsaXNlY29uZHMiLCJtc1N0cmluZyIsInNlY29uZFN0cmluZyIsImdldFNlY29uZHMiLCJtaW5TdHJpbmciLCJnZXRNaW51dGVzIiwicHVzaExpc3RlciIsInJlbW92ZUFsbExpc3RlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUlBLGNBQWMsR0FBR0MsT0FBTyxDQUFDLFNBQUQsQ0FBUCxDQUFtQkQsY0FBeEM7O0FBQ0FFLE1BQU0sQ0FBQ0MsUUFBUDtBQUNJQyxFQUFBQSxVQUFVLEVBQUUsQ0FEaEI7QUFFSUMsRUFBQUEsUUFBUSxFQUFFLENBRmQ7QUFHSUMsRUFBQUEsVUFBVSxFQUFFLENBSGhCO0FBSUlDLEVBQUFBLGFBQWEsRUFBRSx1QkFBVUMsR0FBVixFQUFl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O0FBQ0FrRixFQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYWIsSUFBYjtBQUVBLE1BQUljLEVBQUUsR0FBR0YsSUFBSSxDQUFDRyxlQUFMLEVBQVQsQ0FMMkIsQ0FNM0I7O0FBQ0EsTUFBSUMsUUFBUSxHQUFHbkgsUUFBUSxDQUFDaUgsRUFBRSxHQUFHLEVBQU4sQ0FBUixHQUFvQixHQUFuQztBQUVBLE1BQUlHLFlBQVksR0FBR0wsSUFBSSxDQUFDTSxVQUFMLEVBQW5CO0FBRUEsTUFBSUMsU0FBUyxHQUFHUCxJQUFJLENBQUNRLFVBQUwsRUFBaEI7O0FBRUEsTUFBSUosUUFBUSxHQUFHLEVBQWYsRUFBbUI7QUFDZkEsSUFBQUEsUUFBUSxHQUFHLE1BQU1BLFFBQWpCO0FBQ0g7O0FBQ0QsTUFBSUMsWUFBWSxHQUFHLEVBQW5CLEVBQXVCO0FBQ25CQSxJQUFBQSxZQUFZLEdBQUcsTUFBTUEsWUFBckI7QUFDSDs7QUFDREEsRUFBQUEsWUFBWSxHQUFHQSxZQUFZLEdBQUcsR0FBOUI7O0FBRUEsTUFBSUUsU0FBUyxHQUFHLEVBQWhCLEVBQW9CO0FBQ2hCQSxJQUFBQSxTQUFTLEdBQUcsTUFBTUEsU0FBbEI7QUFDSDs7QUFDREEsRUFBQUEsU0FBUyxHQUFHQSxTQUFTLEdBQUcsR0FBeEI7QUFFQSxTQUFPQSxTQUFTLEdBQUdGLFlBQVosR0FBMkJELFFBQWxDO0FBRUgsQ0Fsa0JMLG1CQW1rQklLLFVBbmtCSixHQW1rQmUsc0JBQVksQ0FFdEIsQ0Fya0JMLG1CQXNrQklDLGVBdGtCSixHQXNrQm9CLDJCQUFZLENBRTNCLENBeGtCTCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsidmFyIFN0b3JhZ2VNZXNzYWdlID0gcmVxdWlyZShcIlN0b3JhZ2VcIikuU3RvcmFnZU1lc3NhZ2U7XHJcbndpbmRvdy5HYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIFxyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdDogZnVuY3Rpb24gKGNhbnZhcykge1xyXG4gICAgICAgIGxldCBmbGFnID0gR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyBjYW52YXMuZml0SGVpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRIZWlnaHQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIHN1Ym1pdFNjb3JlQnV0dG9uRnVuYzogZnVuY3Rpb24oc2NvcmUxLGZlbjEpe1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5YiG5pWwOlwiLHNjb3JlMSxmZW4xKVxyXG4gICAgLy8gICAgIC8vIHZhciBzY29yZSA9IHNjb3JlMTtcclxuICAgIC8vICAgICAvLyB2YXIgZmVuID0gZmVuMTtcclxuICAgIC8vICAgICAvLyBpZiAoQ0NfV0VDSEFUR0FNRSkge1xyXG4gICAgLy8gICAgIC8vICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgLy8gICAgIC8vICAgICAgICAgbWVzc2FnZVR5cGU6IDMsXHJcbiAgICAvLyAgICAgLy8gICAgICAgICBNQUlOX01FTlVfTlVNOiBcImd1YW5cIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIHNjb3JlOiBzY29yZSxcclxuICAgIC8vICAgICAvLyAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgLy8gICAgIC8vICAgICB9KTtcclxuICAgIC8vICAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICAgIC8vICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBzY29yZSlcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyAgICAgLy8gcmV0dXJuIHRydWU7XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBzdWJtaXRTY29yZUJ1dHRvbkZ1bmM6IGZ1bmN0aW9uKGZlbjIsbnVtYmVyKXtcclxuICAgIFx0Y29uc29sZS5sb2coXCJudW1iZXI9XCIsbnVtYmVyKVxyXG4gICAgICAgIGlmKG51bWJlciA9PSAwKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiBmZW4sXHJcbiAgICAgICAgICAgICAgICAgICAgZmVuOiAwLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDnibnmrorliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiA3LFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFRpcDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBpbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQpICsgMTtcclxuICAgICAgICBzd2l0Y2ggKGluZGV4KSB7XHJcbiAgICAgICAgICAgIGNhc2UgMToge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5qC55o2u5bCP55CD55qE5L2N572u77yM5ZCI55CG5pmD5Yqo5omL5py677yM56Gu5L+d5bCP55CD5LiN5o6J5Ye65pyo5p2/44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDI6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIuagueaNruWwj+eQg+S9jee9ruaOp+WItuaZg+WKqOW5heW6pu+8jOi/h+Wkp+aIlui/h+Wwj+mDveS4jeaYr+S4quWlvemAieaLqeOAglwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAzOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLkuI3opoHooqvlpKnkuIrmjonokL3nmoTpmpznoo3lkJPliLDvvIzmnInml7blgJnlroPlj43ogIzkvJrluK7kvaDkv53mjIHlubPooaHjgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgNDoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5bCd6K+V552A6aG25byA5o6J6JC955qE6Zqc56KN77yM5piv5Liq5b6I6YW355qE546p5rOV44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgYmVnaW5UaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgZW5kVGltaW5nOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG4gICAgLy/lpoLmnpzmmK/liKTmlq3ml7bluLjnmoTmuLjmiI8g6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVTY29yZVRpbWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGxldCB0ZW1wVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHRlbXBUaW1lIDwgMCB8fCB0ZW1wVGltZSA+IDUwMCkge1xyXG4gICAgICAgICAgICB0ZW1wVGltZSA9IE1hdGgucm91bmQoY2MuZGlyZWN0b3IuZ2V0QW5pbWF0aW9uSW50ZXJ2YWwoKSAqIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbmRUaW1lICs9IHRlbXBUaW1lIC8gMTAwMDtcclxuICAgICAgICB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl9lbmRUaW1lLnRvRml4ZWQoMik7XHJcbiAgICAgICAgR01fSU5GTy5jdXJyU2NvcmUgPSB0aGlzLl90b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WAkuiuoeaXtuiwg+eUqOatpOaWueazlVxyXG4gICAgY291bnREb3duOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IHBhcnNlSW50KCh0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lKSAvIDEwMDApO1xyXG4gICAgICAgIEdNX0lORk8ucmVtYWluaW5nVGltZSA9IEdNX0lORk8udG90YWxUaW1lIC0gdGhpcy5fdG90YWxUaW1lO1xyXG4gICAgfSxcclxuXHJcbiAgICBodHRwUmVxdWVzdCh1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIui/m+WFpee9kee7nOivt+axgjpcIik7XHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzp3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOPydCZWFyZXIgJyt3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOOicnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpzdWNjZXNzJyxyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpmYWlsJywgcmVzLFwi5aSx6LSldXJs5Li6XCIsdXJsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmYWlsKHJlcyl7XHJcbiAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OicsIHVybCwgZGF0YSwgc3VjY2VzcywgZmFpbClcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIGh0dHBSZXF1ZXN0X05vdG9rZW4odXJsLCBkYXRhLCBzdWNjZXNzLCBmYWlsKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjonLCB1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpXHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OnN1Y2Nlc3MnLHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OmZhaWwnLCByZXMsXCLlpLHotKV1cmzkuLpcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZmFpbChyZXMpe1xyXG4gICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgdmFyIG5vZGVzID0gbm9kZTtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgJ2FwcGlkJzogd2luZG93Lmdsb2JhbERhdGEuYXBwaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmdldFVzZXJJbmZvVXJsLCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyA9IHJlcy5kYXRhLmtpbmdfdXNlcjsgIC8vdXNlcl9pZOWcqOi/memHjFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIuaLv+WIsOacjeWKoeWZqOeahOS/oeaBr1wiLHJlcy5kYXRhKTtcclxuXHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIuiOt+W+l+acjeWKoeWZqOa4uOaIj+S/oeaBr+aIkOWKnzpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8pO1xyXG4gICAgICAgICAgICAgICAgaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18xKVxyXG4gICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8udW5sb2NrXzEgPSB3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udW5sb2NrXzE7XHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51bmxvY2tfMilcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLnVubG9ja18yID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18yO1xyXG4gICAgICAgICAgICAvL+WmguaenOacjeWKoeWZqOaciemHkeW4geS/oeaBr1xyXG4gICAgICAgICAgICBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uY29pbil7XHJcbiAgICAgICAgICAgICAgICAvL+acrOWcsOS5n+aciemHkeW4geS/oeaBrywg5Lul5pys5Zyw5Li65Li7LOaKiuacrOWcsOmHkeW4geS/oeaBr+WQjOatpeWIsOacjeWKoeWZqFxyXG4gICAgICAgICAgICAgICAgaWYoU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcIkNvaW5cIikpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5jb2luICE9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAvL+WmguaenOacrOWcsOayoeaciemHkeW4geS/oeaBryAsIOS7peacjeWKoeWZqOmHkeW4geS/oeaBr+S4uuS4u1xyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5jb2luID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmNvaW47XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy/mnKzlnLDkuZ/mnInph5HluIHkv6Hmga8sIOS7peacrOWcsOS4uuS4uyzmiormnKzlnLDph5HluIHkv6Hmga/lkIzmraXliLDmnI3liqHlmahcclxuICAgICAgICAgICAgICAgIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgfSAgIC8v5aaC5p6c5pys5Zyw5rKh5pyJ6YeR5biB5L+h5oGvICwg5Lul5pyN5Yqh5Zmo6YeR5biB5L+h5oGv5Li65Li7XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmNvaW4gPSAyMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKCdHYW1lQmVnaW4nKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLljbPlsIbov5vlhaXov5nph4xcIik7XHJcbiAgICAgICAgICAgIC8vIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJsZXZlbFwiKSl7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOacieetiee6p+S/oeaBrztcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacjeWKoeWZqOS/oeaBr+etiee6p+S4ujpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ubGV2ZWwpO1xyXG4gICAgICAgICAgICAvLyAgICAgd2luZG93LkdNX0lORk8ubGV2ZWwgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwibGV2ZWxcIik7XHJcbiAgICAgICAgICAgIC8vICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOetiee6p+S/oeaBr+S4ujpcIix3aW5kb3cuR01fSU5GTy5sZXZlbCk7XHJcbiAgICAgICAgICAgIC8vICAgICAvL+acrOWcsOWtmOWCqOetiee6pyDlsI/kuo7mnI3liqHlmajnrYnnuqcsIOetieS6juacrOWcsOaVsOaNruS4ouWksSzov5nml7bku6XmnI3liqHlmajmlbDmja7kuLrkuLvph43mlrDmnoTlu7rmuLjmiI9cclxuICAgICAgICAgICAgLy8gICAgIGlmKHdpbmRvdy5HTV9JTkZPLmxldmVsIDwgd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKXtcclxuICAgICAgICAgICAgLy8gICAgICAgICAvLyBub2Rlcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxldmVsID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICB3aW5kb3cuR2FtZVRvb2wucmVzZXQoKTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIC8v5q2j5bi46L+b5YWl5ri45oiPLOS7peacrOWcsOaVsOaNruS4uuS4uyzmnI3liqHlmajmlbDmja7kuLrovoVcclxuICAgICAgICAgICAgLy8gICAgIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgY29uc29sZS5sb2coXCLmnKzlnLDmlbDmja7lpKfku6XmnKzlnLDkuLvmlbDmja7kuLrkuLtcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLy8gd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKHRydWUpO1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIuesqOWcsOayoeetiee6p+aVsOaNrlwiKTtcclxuICAgICAgICAgICAgLy8gICAgIC8vIG5vZGVzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICB3aW5kb3cuR01fSU5GTy5sZXZlbCA9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbDtcclxuICAgICAgICAgICAgLy8gICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5HYW1lVG9vbC5yZXNldCgpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3eC5vblNob3coZnVuY3Rpb24ocmVzKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMucXVlcnkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvkuK3luKbnmoTkv6Hmga9cIixyZXMucXVlcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEhlbHAocmVzLnF1ZXJ5LmtleTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEJsb2NrKHJlcy5xdWVyeS5rZXkyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlcy5xdWVyeS5rZXkzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR2FtZVRvb2wuc2V0RnJpbmRCbG9ja01heChyZXMucXVlcnkua2V5Myk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHd4Lm9uSGlkZShmdW5jdGlvbihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5qOA5rWL6YCA5Ye65ri45oiPXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbmRvdy5hcm0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmb3IodmFyIGk9MDsgaTwxMjsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgd2luZG93LmFybVtpXSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5hcm1baV0gPSB7ZXJyb3I6XCJlcnJvclwifTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2luZG93LmFybSA9IFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJhcm1cIix3aW5kb3cuYXJtKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ou/5Yiw5pyN5Yqh5Zmo5L+h5oGv5aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0sZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJnZXTnlKjmiLfkv6Hmga/lpLHotKVcIixyZXMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v5qC55o2u5pyN5Yqh5Zmo5pWw5o2u6YeN572u5omA6ZyA6KaB5omA5pyJ5pWw5o2uXHJcbiAgICByZXNldDogZnVuY3Rpb24oKXtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYXJtKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiYXJtXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmFybSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikgXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJjb2luXCIscGFyc2VJbnQod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5kaW1vbmQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJkaW1vbmRcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYnV5X3RpbWUpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJidXlfVGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5idXlfdGltZSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmRpbW9uZF90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiZGltb25kX1RpbWVcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kX3RpbWUpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbClcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxldmVsXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udG90YWxfU3BlZWQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJ0b3RhbF9TcGVlZFwiLHBhcnNlSW50KHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby50b3RhbF9TcGVlZCkpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ucmV3YXJkMSlcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcInNoYXJlX0FycmF5XCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDEpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5yZXdhcmQyKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwic2hhcmVfMTAwXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDIpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJHTV9JTkZPXCIsd2luZG93LkdNX0lORk8pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5pys5Zyw5pWw5o2u5Lii5aSxLOmHjeaWsOWQr+WKqOa4uOaIj1wiKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoJ0xvYWRTY2VuZScpO1xyXG4gICAgfSxcclxuXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAvLyBcInJpY2hlc3RfY29pblwiOndpbmRvdy5jb2luK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwiYXJtXCI6d2luZG93LmFybSxcclxuICAgICAgICAgICAgLy8gXCJidXlfdGltZVwiOndpbmRvdy5idXlfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRcIjpwYXJzZUludCh3aW5kb3cuZGltb25kKSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRfdGltZVwiOndpbmRvdy5kaW1vbmRfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJsZXZlbFwiOndpbmRvdy5HTV9JTkZPLmxldmVsLFxyXG4gICAgICAgICAgICAvLyBcInRvdGFsX3NwZWVkXCI6d2luZG93LnRvdGFsX1NwZWVkK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwicmV3YXJkXzFcIjp3aW5kb3cuR01fSU5GTy5zaGFyZV9BcnJheSwgICAgICAvL+eUqOS6juWtmOWCqDbkuKrnuqLljIXnmoTpooblj5bkv6Hmga9cclxuICAgICAgICAgICAgLy8gXCJyZXdhcmRfMlwiOndpbmRvdy5zaGFyZV8xMDAgICAgICAgICAgICAgICAgIC8v55So5LqO5a2Y5YKoMTAw5Liq57qi5YyF55qE6aKG5Y+W5L+h5oGvXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5a2Y5YKo5LmL5YmN5qOA5rWLOlwiLHdpbmRvdy5hcm0sYXJtcyk7XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLnJpY2hlc3QsIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ+WtmOWCqHVzZXJJbmZv5oiQ5YqfJywgcmVzKTtcclxuICAgICAgICAgICAgaWYoIXBkKXtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxlYXZlX3RpbWUgPSByZXMuZGF0YS5sZWF2ZV90aW1lO1xyXG4gICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxlYXZlX3RpbWVcIix3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LGZ1bmN0aW9uKHJlcyl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCflrZjlgqh1c2VySW5mb+Wksei0pScsIHJlcyk7XHJcbiAgICAgICAgICAgIGlmKCFwZCl7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lID0gcGFyc2VJbnQobmV3IERhdGUoKS52YWx1ZU9mKCkvMTAwMCk7XHJcbiAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyArIGhvdXIgKyAnOicgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRUaW1lTWFyZ2luMjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgaWYobWluIDwgMTApIG1pbiA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBhZnRlck1pbiA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyAgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBzZXRGcmluZEJsb2NrOiBmdW5jdGlvbih1c2VyaWQpe1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5re75Yqg5pe25YCZ55qEdXNlcmlkXCIpO1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICB1c2VyX2lkOnVzZXJpZFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZih1c2VyaWQgIT0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVzZXJfaWQpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIui/m+WIhuS6q+eahOS4jeaYr+iHquW3sVwiKTtcclxuICAgICAgICAgICAgLy8ge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmVudHJ5QmxvY2ssIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg57qi5YyF5Yqp5Yqb5L+h5oGv5oiQ5YqfJywgcmVzKVxyXG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmt7vliqDnuqLljIXliqnlipvkv6Hmga/lpLHotKUnLCByZXMpXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKFwi6L+b5YWl5YiG5Lqr55qE5piv6Ieq5bexXCIpO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy8gc2V0RnJpbmRCbG9ja01heDogZnVuY3Rpb24odXNlcmlkKXtcclxuICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIua3u+WKoOaXtuWAmeeahHVzZXJpZFwiKTtcclxuICAgIC8vICAgICBsZXQgZGF0YSA9IHtcclxuICAgIC8vICAgICAgICAgdXNlcl9pZDp1c2VyaWRcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLy8gaWYodXNlcmlkICE9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51c2VyX2lkKXtcclxuICAgIC8vICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vliIbkuqvnmoTkuI3mmK/oh6rlt7FcIik7XHJcbiAgICAvLyAgICAgICAgIC8vIHtcclxuICAgIC8vICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5odHRwUmVxdWVzdCh3aW5kb3cuZ2xvYmFsRGF0YS5lbnRyeUJsb2NrTWF4LCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+a3u+WKoOacgOWQjueahOWlveWPi+S/oeaBr+aIkOWKnycsIHJlcylcclxuICAgIC8vICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg5pyA5ZCO55qE5aW95Y+L5L+h5oGv5L+h5oGv5aSx6LSlJywgcmVzKVxyXG4gICAgLy8gICAgICAgICAgICAgfSlcclxuICAgIC8vICAgICAgICAgLy8gfVxyXG4gICAgLy8gICAgIC8vIH1cclxuICAgIC8vICAgICAvLyBlbHNle1xyXG4gICAgLy8gICAgIC8vICAgICBjb25zb2xlLmxvZyhcIui/m+WFpeWIhuS6q+eahOaYr+iHquW3sVwiKTtcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+WwhuaXtumXtOi9rOaNouS4ujU5OjIzXHJcbiAgICBnZXRUaW1lOiBmdW5jdGlvbih0aW1lKXtcclxuICAgICAgICB2YXIgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIHZhciBudW1iZXJfMSA9IHBhcnNlSW50KHRpbWUvNjApO1xyXG4gICAgICAgIHZhciBudW1iZXJfMiA9IHRpbWUtbnVtYmVyXzEqNjA7XHJcbiAgICAgICAgaWYobnVtYmVyXzEgPCAxMCl7XHJcbiAgICAgICAgICAgIG51bWJlcl8xID0gXCIwXCIrbnVtYmVyXzE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG51bWJlcl8yIDwgMTApe1xyXG4gICAgICAgICAgICBudW1iZXJfMiA9IFwiMFwiK251bWJlcl8yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCA9IG51bWJlcl8xICsgXCI6XCIgKyBudW1iZXJfMjtcclxuXHJcbiAgICAgICAgcmV0dXJuIGxhYmVsO1xyXG4gICAgfSxcclxuICAgIC8vbnVtYmVyIOS4uuS8oOi/m+adpeeahOaVsOWAvCx0eXBl5Li65pyA5aSa5pi+56S65Yeg5L2N5pWwXHJcbiAgICBnZXROdW1iZXI6IGZ1bmN0aW9uKG51bWJlcix0eXBlKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0eXBlLFwi6ZyA6KaB6L2s5o2i55qE5pWw5a2X5Li6OlwiLG51bWJlcik7XHJcbiAgICAgICAgdmFyIGNvdW50ID0gMTAwMDtcclxuICAgICAgICB2YXIgcGxhY2UgPSB0eXBlIC0gMztcclxuICAgICAgICBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw4KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsOCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkqMTApLzEwK1wiU1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkpK1wiU1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDcpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSoxMCkvMTArXCJzXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSkrXCJzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDYpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKjEwKS8xMCtcIlFcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKStcIlFcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw1KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNSkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkqMTApLzEwK1wicVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkpK1wicVwiO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw0KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkqMTApLzEwK1widFwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkpK1widFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDMpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSoxMCkvMTArXCJiXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSkrXCJiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsMikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDIpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKjEwKS8xMCtcIm1cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKStcIm1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCwxKSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsMSkgPCAxMDApe1xyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDEpKjEwKS8xMCtcImtcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMSkpK1wia1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMCkpK1wiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi57uT5p6c5Li6XCIrdHlwZStcIuS9jeaVsFwiLG51bWJlcik7XHJcbiAgICAgICAgcmV0dXJuIG51bWJlcjtcclxuICAgIH0sXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIGJlZ2FpblRpbWluZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBlbmRUaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX2VuZFRpbWUgPSBlbmRUaW1lO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNjb3JlVGltZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgbGV0IHRlbXBUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgICAgICBpZiAodGVtcFRpbWUgPCAwIHx8IHRlbXBUaW1lID4gNTAwKSB7XHJcbiAgICAgICAgICAgIHRlbXBUaW1lID0gTWF0aC5yb3VuZChjYy5kaXJlY3Rvci5nZXRBbmltYXRpb25JbnRlcnZhbCgpICogMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEdNX0lORk8uY3VyclNjb3JlICs9IHRlbXBUaW1lO1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IGVuZFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldEZvcm1hdFRpbWU6IGZ1bmN0aW9uICh0aW1lKSB7XHJcblxyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBkYXRlLnNldFRpbWUodGltZSk7XHJcblxyXG4gICAgICAgIGxldCBtcyA9IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgICAgLy8gbGV0IG1zU3RyaW5nID0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgICAgICBsZXQgbXNTdHJpbmcgPSBwYXJzZUludChtcyAvIDEwKSAlIDEwMDtcclxuXHJcbiAgICAgICAgbGV0IHNlY29uZFN0cmluZyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG5cclxuICAgICAgICBsZXQgbWluU3RyaW5nID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcblxyXG4gICAgICAgIGlmIChtc1N0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1zU3RyaW5nID0gXCIwXCIgKyBtc1N0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNlY29uZFN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHNlY29uZFN0cmluZyA9IFwiMFwiICsgc2Vjb25kU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWNvbmRTdHJpbmcgPSBzZWNvbmRTdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgaWYgKG1pblN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1pblN0cmluZyA9IFwiMFwiICsgbWluU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtaW5TdHJpbmcgPSBtaW5TdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1pblN0cmluZyArIHNlY29uZFN0cmluZyArIG1zU3RyaW5nO1xyXG5cclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07Il19 //------QC-SOURCE-SPLIT------ (function() { @@ -3131,2148 +4294,6 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMaXN0Vmlld1xcTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEYsMkNBQXFDO0FBRS9CLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRTVDLFlBQVk7QUFDWixJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDaEIsVUFBVTtJQUNWLG1EQUFjLENBQUE7SUFDZCxVQUFVO0lBQ1YsK0NBQVksQ0FBQTtJQUNaLFVBQVU7SUFDVix1Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQVBXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBT25CO0FBRUQsY0FBYztBQUNkLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUNyQixVQUFVO0lBQ1YsNkRBQWMsQ0FBQTtJQUNkLFVBQVU7SUFDVix5REFBWSxDQUFBO0FBQ2hCLENBQUMsRUFMVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQUt4QjtBQUVEOzs7Ozs7O0dBT0c7QUFFSDtJQUFrQyx3QkFBWTtJQUE5QztRQUFBLHFFQXlpQkM7UUF2aUJHLHFEQUFxRDtRQUNyRCxVQUFVO1FBRUgsZ0JBQVUsR0FBWSxJQUFJLENBQUM7UUFFbEMsVUFBVTtRQUVILFVBQUksR0FBYSxRQUFRLENBQUMsUUFBUSxDQUFDO1FBRTFDLGNBQWM7UUFFUCxlQUFTLEdBQWtCLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFFM0QsY0FBYztRQUVQLFlBQU0sR0FBVyxDQUFDLENBQUM7UUFFMUIsY0FBYztRQUVQLFlBQU0sR0FBVyxDQUFDLENBQUM7UUFFMUIsU0FBUztRQUVGLGlCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBRS9C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QUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3Q0FDL0c7SUFJMUI7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sZ0JBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7d0NBQzNHO0lBSTFCO1FBREMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLGdCQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs2Q0FDckc7SUFJL0I7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sZ0JBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDO2dEQUNsRztJQUlsQztRQURDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxnQkFBSyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7OENBQ3RHO0lBS2hDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7MENBQ087SUFJNUI7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sZ0JBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDOytDQUNyRztJQTFDaEIsSUFBSTtRQUR4QixPQUFPO09BQ2EsSUFBSSxDQXlpQnhCO0lBQUQsV0FBQztDQXppQkQsQUF5aUJDLENBemlCaUMsRUFBRSxDQUFDLFNBQVMsR0F5aUI3QztrQkF6aUJvQixJQUFJIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuaW1wb3J0IEl0ZW1SZW5kZXIgZnJvbSBcIi4vSXRlbVJlbmRlclwiXHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuLyoq5YiX6KGo5o6S5YiX5pa55byPICovXHJcbmV4cG9ydCBlbnVtIExpc3RUeXBlIHtcclxuICAgIC8qKuawtOW5s+aOkuWIlyAqL1xyXG4gICAgSG9yaXpvbnRhbCA9IDEsXHJcbiAgICAvKirlnoLnm7TmjpLliJcgKi9cclxuICAgIFZlcnRpY2FsID0gMixcclxuICAgIC8qKue9keagvOaOkuWIlyAqL1xyXG4gICAgR3JpZCA9IDNcclxufVxyXG5cclxuLyoq572R5qC85biD5bGA5Lit55qE5pa55ZCRICovXHJcbmV4cG9ydCBlbnVtIFN0YXJ0QXhpc1R5cGUge1xyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBIb3Jpem9udGFsID0gMSxcclxuICAgIC8qKuWeguebtOaOkuWIlyAqL1xyXG4gICAgVmVydGljYWwgPSAyLFxyXG59XHJcblxyXG4vKipcclxuICog5YiX6KGoXHJcbiAqIOagueaNrmNvY29zX2V4YW1wbGXnmoRsaXN0Vmlld+aUueWKqOiAjOadpVxyXG4gKiBAYXV0aG9yIGNoZW5rYWkgMjAyMC43LjhcclxuICogQGV4YW1wbGVcclxuICogIDEu5Yib5bu6Y29jb3PnmoRTY3JvbGxWaWV357uE5Lu277yM5re75YqgTGlzdO+8jOiuvue9rkxpc3TlsZ7mgKfljbPlj69cclxuICogIFxyXG4gKi9cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTGlzdCBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgLy89PT09PT09PT09PT09PT09PT09PSDlsZ7mgKfpnaLmnb8gPT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgLyoq5YiX6KGo6YCJ6aG5ICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5Ob2RlLCB0b29sdGlwOiBcIuWIl+ihqOmhuVwiIH0pXHJcbiAgICBwdWJsaWMgaXRlbVJlbmRlcjogY2MuTm9kZSA9IG51bGw7XHJcblxyXG4gICAgLyoq5o6S5YiX5pa55byPICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5FbnVtKExpc3RUeXBlKSwgdG9vbHRpcDogXCLmjpLliJfmlrnlvI9cIiB9KVxyXG4gICAgcHVibGljIHR5cGU6IExpc3RUeXBlID0gTGlzdFR5cGUuVmVydGljYWw7XHJcblxyXG4gICAgLyoq572R5qC85biD5bGA5Lit55qE5pa55ZCRICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5FbnVtKFN0YXJ0QXhpc1R5cGUpLCB0b29sdGlwOiBcIue9keagvOW4g+WxgOS4reeahOaWueWQkVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQgfSB9KVxyXG4gICAgcHVibGljIHN0YXJ0QXhpczogU3RhcnRBeGlzVHlwZSA9IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbDtcclxuXHJcbiAgICAvKirliJfooajpobnkuYvpl7RY6Ze06ZqUICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuWIl+ihqOmhuVjpl7TpmpRcIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuSG9yaXpvbnRhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCkgfSB9KVxyXG4gICAgcHVibGljIHNwYWNlWDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirliJfooajpobnkuYvpl7RZ6Ze06ZqUICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuWIl+ihqOmhuVnpl7TpmpRcIiwgdmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCB8fCB0aGlzLnR5cGUgPT0gTGlzdFR5cGUuR3JpZCB9IH0pXHJcbiAgICBwdWJsaWMgc3BhY2VZOiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8qKuS4iumXtOi3nSAqL1xyXG4gICAgQHByb3BlcnR5KHsgdHlwZTogY2MuSW50ZWdlciwgdG9vbHRpcDogXCLkuIrpl7Tot51cIiwgdmlzaWJsZSgpIHsgcmV0dXJuICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwgfHwgdGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIH0gfSlcclxuICAgIHB1YmxpYyBwYWRkaW5nX3RvcDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvKirkuIvpl7Tot50gKi9cclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IGNjLkludGVnZXIsIHRvb2x0aXA6IFwi5LiL6Ze06LedXCIsIHZpc2libGUoKSB7IHJldHVybiAodGhpcy50eXBlID09IExpc3RUeXBlLlZlcnRpY2FsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgcGFkZGluZ19idXR0b206IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5bem6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuW3pumXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgcGFkZGluZ19sZWZ0OiBudW1iZXIgPSAwO1xyXG5cclxuXHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkludGVnZXIpXHJcbiAgICBwdWJsaWMgX3BhZGRpbmc6IG51bWJlciA9IDA7XHJcblxyXG4gICAgLyoq5Y+z6Ze06LedICovXHJcbiAgICBAcHJvcGVydHkoeyB0eXBlOiBjYy5JbnRlZ2VyLCB0b29sdGlwOiBcIuWPs+mXtOi3nVwiLCB2aXNpYmxlKCkgeyByZXR1cm4gKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsIHx8IHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB9IH0pXHJcbiAgICBwdWJsaWMgcGFkZGluZ19yaWdodDogbnVtYmVyID0gMDtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09PT0g5rua5Yqo5a655ZmoID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgIC8qKuWIl+ihqOa7muWKqOWuueWZqCAqL1xyXG4gICAgcHVibGljIHNjcm9sbFZpZXc6IGNjLlNjcm9sbFZpZXcgPSBudWxsO1xyXG4gICAgLyoqc2Nyb2xsVmlld+eahOWGheWuueWuueWZqCAqL1xyXG4gICAgcHJpdmF0ZSBjb250ZW50OiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PSDliJfooajpobkgPT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirliJfooajpobnmlbDmja4gKi9cclxuICAgIHByaXZhdGUgaXRlbURhdGFMaXN0OiBBcnJheTxhbnk+ID0gW107XHJcbiAgICAvKirlupTliJvlu7rnmoTlrp7kvovmlbDph48gKi9cclxuICAgIHByaXZhdGUgc3Bhd25Db3VudDogbnVtYmVyID0gMDtcclxuICAgIC8qKuWtmOaUvuWIl+ihqOmhueWunuS+i+eahOaVsOe7hCAqL1xyXG4gICAgcHJpdmF0ZSBpdGVtTGlzdDogQXJyYXk8Y2MuTm9kZT4gPSBbXTtcclxuICAgIC8qKml0ZW3nmoTpq5jluqYgKi9cclxuICAgIHByaXZhdGUgaXRlbUhlaWdodDogbnVtYmVyID0gMDtcclxuICAgIC8qKml0ZW3nmoTlrr3luqYgKi9cclxuICAgIHByaXZhdGUgaXRlbVdpZHRoOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5a2Y5pS+5LiN5YaN5L2/55So5Lit55qE5YiX6KGo6aG5ICovXHJcbiAgICBwcml2YXRlIGl0ZW1Qb29sOiBBcnJheTxjYy5Ob2RlPiA9IFtdO1xyXG5cclxuICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT0g6K6h566X5Y+C5pWwID09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvKirot53nprtzY3JvbGxWaWV35Lit5b+D54K555qE6Led56a777yM6LaF6L+H6L+Z5Liq6Led56a755qEaXRlbeS8muiiq+mHjee9ru+8jOS4gOiIrOiuvue9ruS4uiBzY3JvbGxWSWV3LmhlaWdodC8yICsgaXRlbS5oZWlndC8yICsgc3BhY2XvvIzlm6DkuLrov5nkuKrot53nprtpdGVt5q2j5aW96LaF5Ye6c2Nyb2xsVmlld+aYvuekuuiMg+WbtCAqL1xyXG4gICAgcHJpdmF0ZSBoYWxmU2Nyb2xsVmlldzogbnVtYmVyID0gMDtcclxuICAgIC8qKuS4iuS4gOasoWNvbnRlbnTnmoRY5YC877yM55So5LqO5ZKM546w5ZyoY29udGVudOeahFjlgLzmr5TovoPvvIzlvpflh7rmmK/lkJHlt6bov5jmmK/lkJHlj7Pmu5rliqggKi9cclxuICAgIHByaXZhdGUgbGFzdENvbnRlbnRQb3NYOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5LiK5LiA5qyhY29udGVudOeahFnlgLzvvIznlKjkuo7lkoznjrDlnKhjb250ZW5055qEWeWAvOavlOi+g++8jOW+l+WHuuaYr+WQkeS4iui/mOaYr+WQkeS4i+a7muWKqCAqL1xyXG4gICAgcHJpdmF0ZSBsYXN0Q29udGVudFBvc1k6IG51bWJlciA9IDA7XHJcbiAgICAvKirnvZHmoLzooYzmlbAgKi9cclxuICAgIHByaXZhdGUgZ3JpZFJvdzogbnVtYmVyID0gMDtcclxuICAgIC8qKue9keagvOWIl+aVsCAqL1xyXG4gICAgcHJpdmF0ZSBncmlkQ29sOiBudW1iZXIgPSAwO1xyXG4gICAgLyoq5Yi35paw5pe26Ze077yM5Y2V5L2NcyAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVUaW1lcjogbnVtYmVyID0gMDtcclxuICAgIC8qKuWIt+aWsOmXtOmalO+8jOWNleS9jXMgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlSW50ZXJ2YWw6IG51bWJlciA9IDAuMTtcclxuICAgIC8qKuaYr+WQpua7muWKqOWuueWZqCAqL1xyXG4gICAgcHJpdmF0ZSBiU2Nyb2xsaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAvKirliLfmlrDnmoTlh73mlbAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlRnVuOiBGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTtcclxuXHJcbiAgICBvbkxvYWQoKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtSGVpZ2h0ID0gdGhpcy5pdGVtUmVuZGVyLmhlaWdodDtcclxuICAgICAgICB0aGlzLml0ZW1XaWR0aCA9IHRoaXMuaXRlbVJlbmRlci53aWR0aDtcclxuICAgICAgICB0aGlzLnNjcm9sbFZpZXcgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNjcm9sbFZpZXcpO1xyXG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50O1xyXG4gICAgICAgIHRoaXMuY29udGVudC5hbmNob3JYID0gMDtcclxuICAgICAgICB0aGlzLmNvbnRlbnQuYW5jaG9yWSA9IDE7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lm5vZGUub24oXCJzY3JvbGxpbmdcIiwgdGhpcy5vblNjcm9sbGluZywgdGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDliJfooajmlbDmja4gKOWIl+ihqOaVsOaNruWkjeWItuS9v+eUqO+8jOWmguaenOWIl+ihqOaVsOaNruaUueWPmO+8jOWImemcgOimgemHjeaWsOiuvue9ruS4gOmBjeaVsOaNrilcclxuICAgICAqIEBwYXJhbSBpdGVtRGF0YUxpc3QgaXRlbeaVsOaNruWIl+ihqFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0RGF0YShpdGVtRGF0YUxpc3Q6IEFycmF5PGFueT4pIHtcclxuICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdCA9IGl0ZW1EYXRhTGlzdC5zbGljZSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLyoq6K6h566X5YiX6KGo55qE5ZCE6aG55Y+C5pWwICovXHJcbiAgICBwcml2YXRlIGNvdW50TGlzdFBhcmFtKCkge1xyXG4gICAgICAgIGxldCBkYXRhTGVuID0gdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoO1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3Lmhvcml6b250YWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnZlcnRpY2FsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LndpZHRoID0gdGhpcy5jb250ZW50LnBhcmVudC53aWR0aDtcclxuICAgICAgICAgICAgdGhpcy5jb250ZW50LmhlaWdodCA9IGRhdGFMZW4gKiB0aGlzLml0ZW1IZWlnaHQgKyAoZGF0YUxlbiAtIDEpICogdGhpcy5zcGFjZVkgKyB0aGlzLnBhZGRpbmdfdG9wICsgdGhpcy5wYWRkaW5nX2J1dHRvbTtcclxuICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKSArIDI7IC8v6K6h566X5Yib5bu655qEaXRlbeWunuS+i+aVsOmHj++8jOavlOW9k+WJjXNjcm9sbFZpZXflrrnlmajog73mlL7kuIvnmoRpdGVt5pWw6YeP5YaN5Yqg5LiKMuS4qlxyXG4gICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuaGVpZ2h0IC8gMiArIHRoaXMuaXRlbUhlaWdodCAvIDIgKyB0aGlzLnNwYWNlWTsgLy/orqHnrpdidWZmZXJab25l77yMaXRlbeeahOaYvuekuuiMg+WbtFxyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZ1biA9IHRoaXMudXBkYXRlVjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlldy5ob3Jpem9udGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnZlcnRpY2FsID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IGRhdGFMZW4gKiB0aGlzLml0ZW1XaWR0aCArIChkYXRhTGVuIC0gMSkgKiB0aGlzLnNwYWNlWCArIHRoaXMucGFkZGluZ19sZWZ0ICsgdGhpcy5wYWRkaW5nX3JpZ2h0O1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gdGhpcy5jb250ZW50LnBhcmVudC5oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMuc3Bhd25Db3VudCA9IE1hdGgucm91bmQodGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkpICsgMjtcclxuICAgICAgICAgICAgdGhpcy5oYWxmU2Nyb2xsVmlldyA9IHRoaXMuc2Nyb2xsVmlldy5ub2RlLndpZHRoIC8gMiArIHRoaXMuaXRlbVdpZHRoIC8gMiArIHRoaXMuc3BhY2VYO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZ1biA9IHRoaXMudWRwYXRlSDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxWaWV3LnZlcnRpY2FsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC53aWR0aCA9IHRoaXMuY29udGVudC5wYXJlbnQud2lkdGg7XHJcbiAgICAgICAgICAgICAgICAvL+WmguaenGxlZnTlkoxyaWdodOmXtOmalOi/h+Wkp++8jOWvvOiHtOaUvuS4jeS4i+S4gOS4qml0ZW3vvIzliJlsZWZ05ZKMcmlnaHTpg73orr7nva7kuLow77yM55u45b2T5LqO5LiN55Sf5pWIXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQgKyB0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYID4gdGhpcy5jb250ZW50LndpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWRkaW5nX2xlZnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFkZGluZ19yaWdodCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcInBhZGRpbmdfbGVmdOaIlnBhZGRpbmdfcmlnaHTov4flpKdcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkQ29sID0gTWF0aC5mbG9vcigodGhpcy5jb250ZW50LndpZHRoIC0gdGhpcy5wYWRkaW5nX2xlZnQgLSB0aGlzLnBhZGRpbmdfcmlnaHQpIC8gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFJvdyA9IE1hdGguY2VpbChkYXRhTGVuIC8gdGhpcy5ncmlkQ29sKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5oZWlnaHQgPSB0aGlzLmdyaWRSb3cgKiB0aGlzLml0ZW1IZWlnaHQgKyAodGhpcy5ncmlkUm93IC0gMSkgKiB0aGlzLnNwYWNlWSArIHRoaXMucGFkZGluZ190b3AgKyB0aGlzLnBhZGRpbmdfYnV0dG9tO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zcGF3bkNvdW50ID0gTWF0aC5yb3VuZCh0aGlzLnNjcm9sbFZpZXcubm9kZS5oZWlnaHQgLyAodGhpcy5pdGVtSGVpZ2h0ICsgdGhpcy5zcGFjZVkpKSAqIHRoaXMuZ3JpZENvbCArIHRoaXMuZ3JpZENvbCAqIDI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUuaGVpZ2h0IC8gMiArIHRoaXMuaXRlbUhlaWdodCAvIDIgKyB0aGlzLnNwYWNlWTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRnVuID0gdGhpcy51cGRhdGVHcmlkX1Y7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcuaG9yaXpvbnRhbCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFZpZXcudmVydGljYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIC8v6K6h566X6auY6Ze06ZqUXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQuaGVpZ2h0ID0gdGhpcy5jb250ZW50LnBhcmVudC5oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAvL+WmguaenGxlZnTlkoxyaWdodOmXtOmalOi/h+Wkp++8jOWvvOiHtOaUvuS4jeS4i+S4gOS4qml0ZW3vvIzliJlsZWZ05ZKMcmlnaHTpg73orr7nva7kuLow77yM55u45b2T5LqO5LiN55Sf5pWIXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWRkaW5nX3RvcCArIHRoaXMucGFkZGluZ19idXR0b20gKyB0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSA+IHRoaXMuY29udGVudC5oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfdG9wID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZGRpbmdfYnV0dG9tID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGFkZGluZ190b3DmiJZwYWRkaW5nX2J1dHRvbei/h+Wkp1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRSb3cgPSBNYXRoLmZsb29yKCh0aGlzLmNvbnRlbnQuaGVpZ2h0IC0gdGhpcy5wYWRkaW5nX3RvcCAtIHRoaXMucGFkZGluZ19idXR0b20pIC8gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRDb2wgPSBNYXRoLmNlaWwoZGF0YUxlbiAvIHRoaXMuZ3JpZFJvdyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQud2lkdGggPSB0aGlzLmdyaWRDb2wgKiB0aGlzLml0ZW1XaWR0aCArICh0aGlzLmdyaWRDb2wgLSAxKSAqIHRoaXMuc3BhY2VYICsgdGhpcy5wYWRkaW5nX2xlZnQgKyB0aGlzLnBhZGRpbmdfcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNwYXduQ291bnQgPSBNYXRoLnJvdW5kKHRoaXMuc2Nyb2xsVmlldy5ub2RlLndpZHRoIC8gKHRoaXMuaXRlbVdpZHRoICsgdGhpcy5zcGFjZVgpKSAqIHRoaXMuZ3JpZFJvdyArIHRoaXMuZ3JpZFJvdyAqIDI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbGZTY3JvbGxWaWV3ID0gdGhpcy5zY3JvbGxWaWV3Lm5vZGUud2lkdGggLyAyICsgdGhpcy5pdGVtV2lkdGggLyAyICsgdGhpcy5zcGFjZVg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUZ1biA9IHRoaXMudXBkYXRlR3JpZF9IO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yib5bu65YiX6KGoIFxyXG4gICAgICogQHBhcmFtIHN0YXJ0SW5kZXgg6LW35aeL5pi+56S655qE5pWw5o2u57Si5byVIDDooajnpLrnrKzkuIDpoblcclxuICAgICAqIEBwYXJhbSBvZmZzZXQgICAgIHNjcm9sbFZpZXflgY/np7vph49cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjcmVhdGVMaXN0KHN0YXJ0SW5kZXg6IG51bWJlciwgb2Zmc2V0OiBjYy5WZWMyKSB7XHJcbiAgICAgICAgLy/lvZPpnIDopoHmmL7npLrnmoTmlbDmja7plb/luqYgPiDomZrmi5/liJfooajplb/luqbvvIwg5Yig6Zmk5pyA5pyr5bC+5Yeg5Liq5pWw5o2u5pe277yM5YiX6KGo6ZyA6KaB6YeN572u5L2N572u5Yiwc2Nyb2xsVmlld+acgOW6leerr1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGggPiB0aGlzLnNwYXduQ291bnQgJiYgKHN0YXJ0SW5kZXggKyB0aGlzLnNwYXduQ291bnQgLSAxKSA+PSB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgc3RhcnRJbmRleCA9IHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCAtIHRoaXMuc3Bhd25Db3VudDtcclxuICAgICAgICAgICAgb2Zmc2V0ID0gdGhpcy5zY3JvbGxWaWV3LmdldE1heFNjcm9sbE9mZnNldCgpO1xyXG5cclxuICAgICAgICAgICAgLy/lvZPpnIDopoHmmL7npLrnmoTmlbDmja7plb/luqYgPD0g6Jma5ouf5YiX6KGo6ZW/5bqm77yMIOmakOiXj+WkmuS9meeahOiZmuaLn+WIl+ihqOmhuSBcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA8PSB0aGlzLnNwYXduQ291bnQpIHtcclxuICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Bhd25Db3VudDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtOiBjYy5Ob2RlO1xyXG4gICAgICAgICAgICAvL+mcgOimgeaYvuekuueahOaVsOaNrue0ouW8leWcqOaVsOaNruiMg+WbtOWGhe+8jOWImWl0ZW3lrp7kvovmmL7npLrlh7rmnaVcclxuICAgICAgICAgICAgaWYgKGkgKyBzdGFydEluZGV4IDwgdGhpcy5pdGVtRGF0YUxpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtTGlzdFtpXSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuZ2V0SXRlbSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3QucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnBhcmVudCA9IHRoaXMuY29udGVudDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuaXRlbUxpc3RbaV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL+mcgOimgeaYvuekuueahOaVsOaNrue0ouW8lei2hei/h+S6huaVsOaNruiMg+WbtO+8jOWImWl0ZW3lrp7kvovpmpDol4/otbfmnaVcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeWunuS+i+aVsOmHjyA+IOmcgOimgeaYvuekuueahOaVsOaNrumHj1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbUxpc3QubGVuZ3RoID4gKHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCAtIHN0YXJ0SW5kZXgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuaXRlbUxpc3QucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtUG9vbC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaSArIHN0YXJ0SW5kZXg7XHJcbiAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2kgKyBzdGFydEluZGV4XTtcclxuICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5WZXJ0aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgLy/lm6DkuLpjb250ZW5055qE6ZSa54K5WOaYrzDvvIzmiYDku6VpdGVt55qEeOWAvOaYr2NvbnRlbnQud2l0aC8y6KGo56S65bGF5Lit77yM6ZSa54K5WeaYrzHvvIzmiYDku6VpdGVt55qEeeWAvOS7jmNvbnRlbnTpobbpg6jlkJHkuIvmmK8w5Yiw6LSf5peg56m344CC5omA5LulaXRlbS55PSAtaXRlbS5oZWlnaHQvMuaXtu+8jOaYr+WcqGNvbnRlbnTnmoTpobbpg6jjgIJcclxuICAgICAgICAgICAgICAgIGl0ZW0uc2V0UG9zaXRpb24odGhpcy5jb250ZW50LndpZHRoIC8gMiwgLWl0ZW0uaGVpZ2h0ICogKDAuNSArIGkgKyBzdGFydEluZGV4KSAtIHRoaXMuc3BhY2VZICogKGkgKyBzdGFydEluZGV4KSAtIHRoaXMucGFkZGluZ190b3ApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgaSArIHN0YXJ0SW5kZXgpICsgdGhpcy5zcGFjZVggKiAoaSArIHN0YXJ0SW5kZXgpICsgdGhpcy5wYWRkaW5nX2xlZnQsIC10aGlzLmNvbnRlbnQuaGVpZ2h0IC8gMik7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHJvdyA9IE1hdGguZmxvb3IoKGkgKyBzdGFydEluZGV4KSAvIHRoaXMuZ3JpZENvbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbCA9IChpICsgc3RhcnRJbmRleCkgJSB0aGlzLmdyaWRDb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbihpdGVtLndpZHRoICogKDAuNSArIGNvbCkgKyB0aGlzLnNwYWNlWCAqIGNvbCArIHRoaXMucGFkZGluZ19sZWZ0LCAtaXRlbS5oZWlnaHQgKiAoMC41ICsgcm93KSAtIHRoaXMuc3BhY2VZICogcm93IC0gdGhpcy5wYWRkaW5nX3RvcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gKGkgKyBzdGFydEluZGV4KSAlIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY29sID0gTWF0aC5mbG9vcigoaSArIHN0YXJ0SW5kZXgpIC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFBvc2l0aW9uKGl0ZW0ud2lkdGggKiAoMC41ICsgY29sKSArIHRoaXMuc3BhY2VYICogY29sICsgdGhpcy5wYWRkaW5nX2xlZnQsIC1pdGVtLmhlaWdodCAqICgwLjUgKyByb3cpIC0gdGhpcy5zcGFjZVkgKiByb3cgLSB0aGlzLnBhZGRpbmdfdG9wKTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsVmlldy5zY3JvbGxUb09mZnNldChvZmZzZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKuiOt+WPluS4gOS4quWIl+ihqOmhuSAqL1xyXG4gICAgcHJpdmF0ZSBnZXRJdGVtKCkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1Qb29sLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjYy5pbnN0YW50aWF0ZSh0aGlzLml0ZW1SZW5kZXIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1Qb29sLnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUoZHQpIHtcclxuICAgICAgICBpZiAodGhpcy5iU2Nyb2xsaW5nID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lciArPSBkdDtcclxuICAgICAgICBpZiAodGhpcy51cGRhdGVUaW1lciA8IHRoaXMudXBkYXRlSW50ZXJ2YWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVyID0gMDtcclxuICAgICAgICB0aGlzLmJTY3JvbGxpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUZ1bigpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2Nyb2xsaW5nKCkge1xyXG4gICAgICAgIHRoaXMuYlNjcm9sbGluZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq5Z6C55u05o6S5YiXICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZVYoKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzVXAgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC55ID4gdGhpcy5sYXN0Q29udGVudFBvc1k7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1IZWlnaHQgKyB0aGlzLnNwYWNlWSkgKiBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpdGVtID0gaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGxldCB2aWV3UG9zID0gdGhpcy5nZXRQb3NpdGlvbkluVmlldyhpdGVtKTtcclxuICAgICAgICAgICAgaWYgKGlzVXApIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4iua7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIrovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiL5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4i+aWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIvovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPiBidWZmZXJab25lICYmIGl0ZW0ueSAtIG9mZnNldCAtIHRoaXMucGFkZGluZ19idXR0b20gPiAtdGhpcy5jb250ZW50LmhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSAtIG9mZnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vaXRlbeS4i+a7keaXtu+8jOi2heWHuuS6hnNjcm9sbFZpZXfkuIvovrnnlYzvvIzlsIZpdGVt56e75Yqo5Yiw5LiK5pa55aSN55So77yMaXRlbeenu+WKqOWIsOS4iuaWueeahOS9jee9ruW/hemhu+S4jei2hei/h2NvbnRlbnTnmoTkuIrovrnnlYxcclxuICAgICAgICAgICAgICAgIGlmICh2aWV3UG9zLnkgPCAtYnVmZmVyWm9uZSAmJiBpdGVtLnkgKyBvZmZzZXQgKyB0aGlzLnBhZGRpbmdfdG9wIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4IC0gaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RDb250ZW50UG9zWSA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50Lnk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq5rC05bmz5o6S5YiXICovXHJcbiAgICBwcml2YXRlIHVkcGF0ZUgoKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5pdGVtTGlzdDtcclxuICAgICAgICBsZXQgaXRlbTtcclxuICAgICAgICBsZXQgYnVmZmVyWm9uZSA9IHRoaXMuaGFsZlNjcm9sbFZpZXc7XHJcbiAgICAgICAgbGV0IGlzUmlnaHQgPSB0aGlzLnNjcm9sbFZpZXcuY29udGVudC54ID4gdGhpcy5sYXN0Q29udGVudFBvc1g7XHJcbiAgICAgICAgbGV0IG9mZnNldCA9ICh0aGlzLml0ZW1XaWR0aCArIHRoaXMuc3BhY2VYKSAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNSaWdodCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5Y+z5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+WPs+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlt6bmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5bem5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOW3pui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA+IGJ1ZmZlclpvbmUgJiYgaXRlbS54IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2xlZnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSBpdGVtcy5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbS54ID0gaXRlbS54IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5bem5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+W3pui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlj7PmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5Y+z5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOWPs+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA8IC1idWZmZXJab25lICYmIGl0ZW0ueCArIG9mZnNldCArIHRoaXMucGFkZGluZ19yaWdodCA8IHRoaXMuY29udGVudC53aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RDb250ZW50UG9zWCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50Lng7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq572R5qC85Z6C55u05o6S5YiXICovXHJcbiAgICBwcml2YXRlIHVwZGF0ZUdyaWRfVigpIHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1MaXN0O1xyXG4gICAgICAgIGxldCBpdGVtOiBjYy5Ob2RlO1xyXG4gICAgICAgIGxldCBidWZmZXJab25lID0gdGhpcy5oYWxmU2Nyb2xsVmlldztcclxuICAgICAgICBsZXQgaXNVcCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50LnkgPiB0aGlzLmxhc3RDb250ZW50UG9zWTtcclxuICAgICAgICBsZXQgb2Zmc2V0ID0gKHRoaXMuaXRlbUhlaWdodCArIHRoaXMuc3BhY2VZKSAqICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldO1xyXG4gICAgICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuZ2V0UG9zaXRpb25JblZpZXcoaXRlbSk7XHJcbiAgICAgICAgICAgIGlmIChpc1VwKSB7XHJcbiAgICAgICAgICAgICAgICAvL2l0ZW3kuIrmu5Hml7bvvIzotoXlh7rkuoZzY3JvbGxWaWV35LiK6L6555WM77yM5bCGaXRlbeenu+WKqOWIsOS4i+aWueWkjeeUqO+8jGl0ZW3np7vliqjliLDkuIvmlrnnmoTkvY3nva7lv4XpobvkuI3otoXov4djb250ZW5055qE5LiL6L6555WMXHJcbiAgICAgICAgICAgICAgICBpZiAodmlld1Bvcy55ID4gYnVmZmVyWm9uZSAmJiBpdGVtLnkgLSBvZmZzZXQgLSB0aGlzLnBhZGRpbmdfYnV0dG9tID4gLXRoaXMuY29udGVudC5oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbVJlbmRlcjogSXRlbVJlbmRlciA9IGl0ZW0uZ2V0Q29tcG9uZW50KEl0ZW1SZW5kZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtSW5kZXggPSBpdGVtUmVuZGVyLml0ZW1JbmRleCArICh0aGlzLnNwYXduQ291bnQgLyB0aGlzLmdyaWRDb2wpICogdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhID0gdGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5kYXRhQ2hhbmdlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS55ID0gaXRlbS55IC0gb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLml0ZW1JbmRleCA9IGl0ZW1JbmRleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7Ly9pdGVt5LiL5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+S4i+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDkuIrmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5LiK5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOS4iui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueSA8IC1idWZmZXJab25lICYmIGl0ZW0ueSArIG9mZnNldCArIHRoaXMucGFkZGluZ190b3AgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkQ29sKSAqIHRoaXMuZ3JpZENvbDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueSA9IGl0ZW0ueSArIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGFzdENvbnRlbnRQb3NZID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueTtcclxuICAgIH1cclxuXHJcbiAgICAvKirnvZHmoLzmsLTlubPmjpLliJcgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlR3JpZF9IKCkge1xyXG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbUxpc3Q7XHJcbiAgICAgICAgbGV0IGl0ZW07XHJcbiAgICAgICAgbGV0IGJ1ZmZlclpvbmUgPSB0aGlzLmhhbGZTY3JvbGxWaWV3O1xyXG4gICAgICAgIGxldCBpc1JpZ2h0ID0gdGhpcy5zY3JvbGxWaWV3LmNvbnRlbnQueCA+IHRoaXMubGFzdENvbnRlbnRQb3NYO1xyXG4gICAgICAgIGxldCBvZmZzZXQgPSAodGhpcy5pdGVtV2lkdGggKyB0aGlzLnNwYWNlWCkgKiAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTtcclxuICAgICAgICAgICAgbGV0IHZpZXdQb3MgPSB0aGlzLmdldFBvc2l0aW9uSW5WaWV3KGl0ZW0pO1xyXG4gICAgICAgICAgICBpZiAoaXNSaWdodCkge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5Y+z5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+WPs+i+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlt6bmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5bem5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOW3pui+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA+IGJ1ZmZlclpvbmUgJiYgaXRlbS54IC0gb2Zmc2V0IC0gdGhpcy5wYWRkaW5nX2xlZnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1SZW5kZXI6IEl0ZW1SZW5kZXIgPSBpdGVtLmdldENvbXBvbmVudChJdGVtUmVuZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUluZGV4ID0gaXRlbVJlbmRlci5pdGVtSW5kZXggLSAodGhpcy5zcGF3bkNvdW50IC8gdGhpcy5ncmlkUm93KSAqIHRoaXMuZ3JpZFJvdztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtRGF0YUxpc3RbaXRlbUluZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCAtIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YSA9IHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuZGF0YUNoYW5nZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ueCA9IGl0ZW0ueCAtIG9mZnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVJlbmRlci5pdGVtSW5kZXggPSBpdGVtSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy9pdGVt5bem5ruR5pe277yM6LaF5Ye65LqGc2Nyb2xsVmlld+W3pui+ueeVjO+8jOWwhml0ZW3np7vliqjliLDlj7PmlrnlpI3nlKjvvIxpdGVt56e75Yqo5Yiw5Y+z5pa555qE5L2N572u5b+F6aG75LiN6LaF6L+HY29udGVudOeahOWPs+i+ueeVjFxyXG4gICAgICAgICAgICAgICAgaWYgKHZpZXdQb3MueCA8IC1idWZmZXJab25lICYmIGl0ZW0ueCArIG9mZnNldCArIHRoaXMucGFkZGluZ19yaWdodCA8IHRoaXMuY29udGVudC53aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBpdGVtUmVuZGVyOiBJdGVtUmVuZGVyID0gaXRlbS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IGl0ZW1SZW5kZXIuaXRlbUluZGV4ICsgKHRoaXMuc3Bhd25Db3VudCAvIHRoaXMuZ3JpZFJvdykgKiB0aGlzLmdyaWRSb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2l0ZW1JbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggKyBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGEgPSB0aGlzLml0ZW1EYXRhTGlzdFtpdGVtSW5kZXhdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtUmVuZGVyLmRhdGFDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnggPSBpdGVtLnggKyBvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1SZW5kZXIuaXRlbUluZGV4ID0gaXRlbUluZGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxhc3RDb250ZW50UG9zWCA9IHRoaXMuc2Nyb2xsVmlldy5jb250ZW50Lng7XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+WaXRlbeWcqHNjcm9sbFZpZXfnmoTlsYDpg6jlnZDmoIcgKi9cclxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25JblZpZXcoaXRlbSkge1xyXG4gICAgICAgIGxldCB3b3JsZFBvcyA9IGl0ZW0ucGFyZW50LmNvbnZlcnRUb1dvcmxkU3BhY2VBUihpdGVtLnBvc2l0aW9uKTtcclxuICAgICAgICBsZXQgdmlld1BvcyA9IHRoaXMuc2Nyb2xsVmlldy5ub2RlLmNvbnZlcnRUb05vZGVTcGFjZUFSKHdvcmxkUG9zKTtcclxuICAgICAgICByZXR1cm4gdmlld1BvcztcclxuICAgIH1cclxuXHJcbiAgICAvKirojrflj5bliJfooajmlbDmja4gKi9cclxuICAgIHB1YmxpYyBnZXRMaXN0RGF0YSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pdGVtRGF0YUxpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDlop7liqDkuIDpobnmlbDmja7liLDliJfooajnmoTmnKvlsL5cclxuICAgICAqIEBwYXJhbSBkYXRhIOaVsOaNrlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkSXRlbShkYXRhOiBhbnkpIHtcclxuICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdC5wdXNoKGRhdGEpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5aKe5Yqg5LiA6aG55pWw5o2u5Yiw5YiX6KGo5oyH5a6a5L2N572uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggICDkvY3nva7vvIww6KGo56S656ysMemhuVxyXG4gICAgICogQHBhcmFtIGRhdGEgIOaVsOaNrlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkSXRlbUF0KGluZGV4OiBudW1iZXIsIGRhdGE6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpbmRleF0gIT0gbnVsbCB8fCB0aGlzLml0ZW1EYXRhTGlzdC5sZW5ndGggPT0gaW5kZXgpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtRGF0YUxpc3Quc3BsaWNlKGluZGV4LCAxLCBkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5Yig6Zmk5LiA6aG55pWw5o2uXHJcbiAgICAgKiBAcGFyYW0gaW5kZXgg5Yig6Zmk6aG555qE5L2N572uICww6KGo56S656ysMemhuVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVsZXRlSXRlbShpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbURhdGFMaXN0W2luZGV4XSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbURhdGFMaXN0LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaUueWPmOS4gOmhueaVsOaNrlxyXG4gICAgICogQHBhcmFtIGluZGV4ICAg5L2N572uLDDooajnpLrnrKwx6aG5XHJcbiAgICAgKiBAcGFyYW0gZGF0YSAg5pu/5o2i55qE5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGFuZ2VJdGVtKGluZGV4OiBudW1iZXIsIGRhdGE6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1EYXRhTGlzdFtpbmRleF0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLml0ZW1EYXRhTGlzdFtpbmRleF0gPSBkYXRhO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbnRlbnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6I635Y+W56ys5LiA5LiqSXRlbeeahOS9jee9riAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVDb250ZW50KCkge1xyXG4gICAgICAgIC8v5pi+56S65YiX6KGo5a6e5L6L5Li6MOS4qlxyXG4gICAgICAgIGlmICh0aGlzLml0ZW1MaXN0Lmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRMaXN0UGFyYW0oKTtcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVMaXN0KDAsIG5ldyBjYy5WZWMyKDAsIDApKTtcclxuICAgICAgICAgICAgLy/mmL7npLrliJfooajnmoTlrp7kvovkuI3kuLow5Liq77yM5YiZ6ZyA6KaB6YeN5paw5o6S5YiXaXRlbeWunuS+i+aVsOe7hFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT0gTGlzdFR5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkhvcml6b250YWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09IExpc3RUeXBlLkdyaWQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0QXhpcyA9PSBTdGFydEF4aXNUeXBlLlZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS54IC0gYi54O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGIueSAtIGEueTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydEF4aXMgPT0gU3RhcnRBeGlzVHlwZS5Ib3Jpem9udGFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtTGlzdC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYi55IC0gYS55O1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3Quc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEueCAtIGIueDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jb3VudExpc3RQYXJhbSgpO1xyXG5cclxuICAgICAgICAgICAgLy/ojrflj5bnrKzkuIDkuKppdGVt5a6e5L6L6ZyA6KaB5pi+56S655qE5pWw5o2u57Si5byVXHJcbiAgICAgICAgICAgIHZhciBzdGFydEluZGV4ID0gdGhpcy5pdGVtTGlzdFswXS5nZXRDb21wb25lbnQoSXRlbVJlbmRlcikuaXRlbUluZGV4O1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkICYmIHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuVmVydGljYWwpIHtcclxuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggKz0gKHN0YXJ0SW5kZXggKyB0aGlzLnNwYXduQ291bnQpICUgdGhpcy5ncmlkQ29sO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBMaXN0VHlwZS5HcmlkICYmIHRoaXMuc3RhcnRBeGlzID09IFN0YXJ0QXhpc1R5cGUuSG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleCArPSAoc3RhcnRJbmRleCArIHRoaXMuc3Bhd25Db3VudCkgJSB0aGlzLmdyaWRSb3c7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vZ2V0U2Nyb2xsT2Zmc2V0KCnlkoxzY3JvbGxUb09mZnNldCgp55qEeOWAvOaYr+ebuOWPjeeahFxyXG4gICAgICAgICAgICB2YXIgb2Zmc2V0OiBjYy5WZWMyID0gdGhpcy5zY3JvbGxWaWV3LmdldFNjcm9sbE9mZnNldCgpO1xyXG4gICAgICAgICAgICBvZmZzZXQueCA9IC0gb2Zmc2V0Lng7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpc3Qoc3RhcnRJbmRleCwgb2Zmc2V0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoq6ZSA5q+BICovXHJcbiAgICBwdWJsaWMgb25EZXN0cm95KCkge1xyXG4gICAgICAgIC8v5riF55CG5YiX6KGo6aG5XHJcbiAgICAgICAgbGV0IGxlbiA9IHRoaXMuaXRlbUxpc3QubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGNjLmlzVmFsaWQodGhpcy5pdGVtTGlzdFtpXSwgdHJ1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUxpc3RbaV0uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbUxpc3QubGVuZ3RoID0gMDtcclxuICAgICAgICAvL+a4heeQhuWvueixoeaxoFxyXG4gICAgICAgIGxlbiA9IHRoaXMuaXRlbVBvb2wubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGNjLmlzVmFsaWQodGhpcy5pdGVtUG9vbFtpXSwgdHJ1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbVBvb2xbaV0uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbVBvb2wubGVuZ3RoID0gMDtcclxuICAgICAgICAvL+a4heeQhuWIl+ihqOaVsOaNrlxyXG4gICAgICAgIHRoaXMuaXRlbURhdGFMaXN0Lmxlbmd0aCA9IDA7XHJcbiAgICB9XHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/tool/Shake.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '61affD5SO9Ipo0fGmIeTFTZ', 'Shake'); -// Script/tool/Shake.js - -"use strict"; - -/** - * 自定义抖动效果 - */ -var Shake = cc.Class({ - "extends": cc.Component, - properties: { - //抖动时间 - duration: 0, - //X轴抖动范围 - shakeX: 0, - shakeY: 0 - }, - shake: function shake(callback) { - if (this.shaking) { - return; - } - - this.callback = callback; - this.shaking = true; - this.dtCost = 0; - this.nodeInitialPos = this.node.getPosition(); - this.unschedule(this.doSchedule); - this.schedule(this.doSchedule, 0, cc.macro.REPEAT_FOREVER, 0); - }, - doSchedule: function doSchedule(dt) { - var dt2 = dt * 50; - var randX = this.getRandomStrength(-this.shakeX, this.shakeX) * dt2; - var randY = this.getRandomStrength(-this.shakeY, this.shakeY) * dt2; - this.node.setPosition(cc.pAdd(this.nodeInitialPos, cc.v2(randX, randY))); - this.dtCost += dt; - - if (this.dtCost >= this.duration) { - this.unschedule(this.doSchedule); - this.node.setPosition(this.nodeInitialPos); - this.shaking = false; - - if (this.callback) { - this.callback(); - } - } - }, - //获取两个数间的随机值 - getRandomStrength: function getRandomStrength(min, max) { - return Math.random() * (max - min + 1) + min; - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxTaGFrZS5qcyJdLCJuYW1lcyI6WyJTaGFrZSIsImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiZHVyYXRpb24iLCJzaGFrZVgiLCJzaGFrZVkiLCJzaGFrZSIsImNhbGxiYWNrIiwic2hha2luZyIsImR0Q29zdCIsIm5vZGVJbml0aWFsUG9zIiwibm9kZSIsImdldFBvc2l0aW9uIiwidW5zY2hlZHVsZSIsImRvU2NoZWR1bGUiLCJzY2hlZHVsZSIsIm1hY3JvIiwiUkVQRUFUX0ZPUkVWRVIiLCJkdCIsImR0MiIsInJhbmRYIiwiZ2V0UmFuZG9tU3RyZW5ndGgiLCJyYW5kWSIsInNldFBvc2l0aW9uIiwicEFkZCIsInYyIiwibWluIiwibWF4IiwiTWF0aCIsInJhbmRvbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxLQUFLLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ2pCLGFBQVNELEVBQUUsQ0FBQ0UsU0FESztBQUdqQkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1I7QUFDQUMsSUFBQUEsUUFBUSxFQUFFLENBRkY7QUFHUjtBQUNBQyxJQUFBQSxNQUFNLEVBQUUsQ0FKQTtBQUtSQyxJQUFBQSxNQUFNLEVBQUU7QUFMQSxHQUhLO0FBV2pCQyxFQUFBQSxLQUFLLEVBQUUsZUFBVUMsUUFBVixFQUFvQjtBQUN2QixRQUFHLEtBQUtDLE9BQVIsRUFBZ0I7QUFDWjtBQUNIOztBQUNELFNBQUtELFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLElBQWY7QUFDQSxTQUFLQyxNQUFMLEdBQWMsQ0FBZDtBQUNBLFNBQUtDLGNBQUwsR0FBc0IsS0FBS0MsSUFBTCxDQUFVQyxXQUFWLEVBQXRCO0FBQ0EsU0FBS0MsVUFBTCxDQUFnQixLQUFLQyxVQUFyQjtBQUNBLFNBQUtDLFFBQUwsQ0FBYyxLQUFLRCxVQUFuQixFQUErQixDQUEvQixFQUFrQ2YsRUFBRSxDQUFDaUIsS0FBSCxDQUFTQyxjQUEzQyxFQUEyRCxDQUEzRDtBQUNILEdBckJnQjtBQXNCakJILEVBQUFBLFVBQVUsRUFBRSxvQkFBVUksRUFBVixFQUFjO0FBQ3RCLFFBQUlDLEdBQUcsR0FBR0QsRUFBRSxHQUFHLEVBQWY7QUFDQSxRQUFJRSxLQUFLLEdBQUcsS0FBS0MsaUJBQUwsQ0FBdUIsQ0FBQyxLQUFLakIsTUFBN0IsRUFBcUMsS0FBS0EsTUFBMUMsSUFBb0RlLEdBQWhFO0FBQ0EsUUFBSUcsS0FBSyxHQUFHLEtBQUtELGlCQUFMLENBQXVCLENBQUMsS0FBS2hCLE1BQTdCLEVBQXFDLEtBQUtBLE1BQTFDLElBQW9EYyxHQUFoRTtBQUNBLFNBQUtSLElBQUwsQ0FBVVksV0FBVixDQUFzQnhCLEVBQUUsQ0FBQ3lCLElBQUgsQ0FBUSxLQUFLZCxjQUFiLEVBQTZCWCxFQUFFLENBQUMwQixFQUFILENBQU1MLEtBQU4sRUFBYUUsS0FBYixDQUE3QixDQUF0QjtBQUNBLFNBQUtiLE1BQUwsSUFBZVMsRUFBZjs7QUFDQSxRQUFJLEtBQUtULE1BQUwsSUFBZSxLQUFLTixRQUF4QixFQUFrQztBQUM5QixXQUFLVSxVQUFMLENBQWdCLEtBQUtDLFVBQXJCO0FBQ0EsV0FBS0gsSUFBTCxDQUFVWSxXQUFWLENBQXNCLEtBQUtiLGNBQTNCO0FBQ0EsV0FBS0YsT0FBTCxHQUFlLEtBQWY7O0FBQ0EsVUFBRyxLQUFLRCxRQUFSLEVBQWlCO0FBQ2IsYUFBS0EsUUFBTDtBQUNIO0FBQ0o7QUFDSixHQXBDZ0I7QUFxQ2pCO0FBQ0FjLEVBQUFBLGlCQUFpQixFQUFFLDJCQUFVSyxHQUFWLEVBQWVDLEdBQWYsRUFBb0I7QUFDbkMsV0FBT0MsSUFBSSxDQUFDQyxNQUFMLE1BQWlCRixHQUFHLEdBQUdELEdBQU4sR0FBWSxDQUE3QixJQUFrQ0EsR0FBekM7QUFDSDtBQXhDZ0IsQ0FBVCxDQUFaIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICog6Ieq5a6a5LmJ5oqW5Yqo5pWI5p6cXHJcbiAqL1xyXG52YXIgU2hha2UgPSBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIC8v5oqW5Yqo5pe26Ze0XHJcbiAgICAgICAgZHVyYXRpb246IDAsXHJcbiAgICAgICAgLy9Y6L205oqW5Yqo6IyD5Zu0XHJcbiAgICAgICAgc2hha2VYOiAwLFxyXG4gICAgICAgIHNoYWtlWTogMCxcclxuICAgIH0sXHJcblxyXG4gICAgc2hha2U6IGZ1bmN0aW9uIChjYWxsYmFjaykge1xyXG4gICAgICAgIGlmKHRoaXMuc2hha2luZyl7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc2hha2luZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgPSAwO1xyXG4gICAgICAgIHRoaXMubm9kZUluaXRpYWxQb3MgPSB0aGlzLm5vZGUuZ2V0UG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy5kb1NjaGVkdWxlKTtcclxuICAgICAgICB0aGlzLnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSwgMCwgY2MubWFjcm8uUkVQRUFUX0ZPUkVWRVIsIDApO1xyXG4gICAgfSxcclxuICAgIGRvU2NoZWR1bGU6IGZ1bmN0aW9uIChkdCkge1xyXG4gICAgICAgIHZhciBkdDIgPSBkdCAqIDUwO1xyXG4gICAgICAgIHZhciByYW5kWCA9IHRoaXMuZ2V0UmFuZG9tU3RyZW5ndGgoLXRoaXMuc2hha2VYLCB0aGlzLnNoYWtlWCkgKiBkdDI7XHJcbiAgICAgICAgdmFyIHJhbmRZID0gdGhpcy5nZXRSYW5kb21TdHJlbmd0aCgtdGhpcy5zaGFrZVksIHRoaXMuc2hha2VZKSAqIGR0MjtcclxuICAgICAgICB0aGlzLm5vZGUuc2V0UG9zaXRpb24oY2MucEFkZCh0aGlzLm5vZGVJbml0aWFsUG9zLCBjYy52MihyYW5kWCwgcmFuZFkpKSk7XHJcbiAgICAgICAgdGhpcy5kdENvc3QgKz0gZHQ7XHJcbiAgICAgICAgaWYgKHRoaXMuZHRDb3N0ID49IHRoaXMuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMuZG9TY2hlZHVsZSk7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5zZXRQb3NpdGlvbih0aGlzLm5vZGVJbml0aWFsUG9zKTtcclxuICAgICAgICAgICAgdGhpcy5zaGFraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY2FsbGJhY2spe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5Lik5Liq5pWw6Ze055qE6ZqP5py65YC8XHJcbiAgICBnZXRSYW5kb21TdHJlbmd0aDogZnVuY3Rpb24gKG1pbiwgbWF4KSB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW47XHJcbiAgICB9LFxyXG59KTtcclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GameManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); -// Script/GameManager.ts - -"use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var GameData_1 = require("./GameData"); -var Notification_1 = require("./Notification"); -var serverAPI_1 = require("./crypto/serverAPI"); -var GameManager = /** @class */ (function (_super) { - __extends(GameManager, _super); - function GameManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.ball = null; - _this.qiu1 = null; - _this.qiu2 = null; - _this.qiu3 = null; - _this.linePrefab = null; - _this.hit = null; - _this.bg1 = null; - _this.bg2 = null; - _this.time = null; - // LIFE-CYCLE CALLBACKS: - _this.begin = false; - _this.fuhuo = false; - _this.over = false; - _this.show = false; - _this.levelLabel = null; - return _this; - } - GameManager.prototype.onLoad = function () { - }; - GameManager.prototype.start = function () { - this.fit(); - this.init(); - }; - GameManager.prototype.fit = function () { - this.fitTop = 450; //600 - this.fitBot = -600; //-700 - var jg = this.setFit(); - if (!jg) { - this.fitTop = 600; - this.fitBot = -700; - } - }; - GameManager.prototype.getSetScreenResolutionFlag = function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }; - //判断全面屏适配 - GameManager.prototype.setFit = function () { - var flag = this.getSetScreenResolutionFlag(); - if (flag) { - } - else { - } - return flag; - }; - //初始化数据 - GameManager.prototype.init = function () { - this.node.getChildByName("GameOver").zIndex = 100; - this.node.getChildByName("GameOver").active = false; - this.ball.zIndex = 100; - this.bg1 = this.node.getChildByName("bg1"); - this.bg2 = this.node.getChildByName("bg2"); - this.time = this.node.getChildByName("Top").getChildByName("time").getComponent(cc.Label); - this.node.getChildByName("showBtn").active = false; - this.begin = false; - this.over = false; - this.fuhuo = true; - this.pause = true; - this.show = false; - this.round = 0; - this.level = 2; - this.countTime = 60; - if (GameData_1.default._instance.GM_INFO.custom != 0) { - this.level = GameData_1.default._instance.GM_INFO.custom; - // this.levelLabel.string = this.level + ""; - GameData_1.default._instance.GM_INFO.custom += 1; - this.countTime = 12000000; - } - // this.levelLabel.string = this.level + ""; - this.timeCount = 0.1; - this.clickNow = 0; - this.clickCount = 0; - this.timeStart = 0; - this.repeat = -1; - this.numberRepeat = -1; - this.route_Array = []; - this.moveArray = []; - this.now_Array = []; - this.ball_Array = []; - this.Pos_Array = []; - this.time_Array = []; - this.color_Array = []; - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GM_INFO.success = false; - this.startTime = 0; - this.overTime = 0; - this.winTime = 0; - GameData_1.default._instance.GM_INFO.total = 0; - GameData_1.default._instance.GM_INFO.mean_Time = 0; - this.schedule(this.updateCountDownTime, 1); - this.startGame(); - }; - GameManager.prototype.backScene = function () { - cc.director.loadScene("LoadScene"); - }; - //下一关,或者重新开始,或者返回上一关,根据level决定 - GameManager.prototype.reStart = function (type) { - // if(GameData._instance.GM_INFO.custom != 0){ - // cc.director.loadScene("LoadScene"); - // return; - // } - this.node.getChildByName("showBtn").active = false; - this.destroyLine(); - this.timeCount = 0.1; - this.clickNow = 0; - this.timeStart = 0; - this.repeat = -1; - this.numberRepeat = -1; - this.begin = false; - this.route_Array = []; - this.now_Array = []; - this.ball_Array = []; - this.Pos_Array = []; - this.moveArray = []; - this.time_Array = []; - this.color_Array = []; - if (type == 0) { - this.bgMove(1); - } - else if (type == 1) { - this.startGame(); - } - else if (type == 2) { - this.bgMove(-1); - } - }; - GameManager.prototype.begin_Guide = function () { - }; - //获取时间戳 - GameManager.prototype.getTime = function () { - var timestamp = new Date().getTime(); - return timestamp; - }; - //获胜 - GameManager.prototype.passLevel = function () { - var _this = this; - this.destroyLine(); - if (this.over == false && this.countTime >= 0) { - var timeArray_1 = []; - var timeCount = 0; - var ball_1 = this.ball_Array[0]; - for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance2(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); - timeArray_1.push(time); - } - var _loop_1 = function (k) { - setTimeout(function () { - cc.tween(ball_1) - .to(timeArray_1[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball_1.x, ball_1.y, 0); - ball_1.active = false; - _this.clearSun(); - _this.reStart(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray_1[k - 1] + 0.1); - }; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_1(k); - } - } - }; - //失败 - GameManager.prototype.loseLevel = function (type) { - var _this = this; - this.destroyLine(); - if (this.over == false && this.countTime >= 0) { - var ball_2 = this.ball_Array[0]; - var _loop_2 = function (k) { - cc.tween(this_1.ball_Array[k]) - .to(2, { x: ball_2.x, y: ball_2.y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball_2.x, ball_2.y, 0); - _this.clearSun(); - _this.reStart(type); - } - }) - .start(); - }; - var this_1 = this; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_2(k); - } - } - }; - GameManager.prototype.clearSun = function () { - for (var k = 0; k < this.ball_Array.length; k++) { - this.ball_Array[k].removeFromParent(); - this.ball_Array[k] = null; - } - }; - //点击太阳执行方法 - GameManager.prototype.clickSun = function (data) { - var _this = this; - if (this.begin == true) { - this.clickCount += 1; - var clickTime = this.getTime(); - this.time_Array.push((clickTime - this.timeStart)); - this.timeStart = this.getTime(); - if (data == this.clickNow) { - GameData_1.default._instance.AudioManager.playAudioButton(); - if (this.clickNow > 0) { - this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); - } - this.clickNow += 1; - // GameData._instance.GM_INFO.total += 1; - if (this.ball_Array[this.clickNow - 1]) - this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; - // setTimeout(() => { - // }, 200); - if (this.clickNow == this.now_Array.length) { - this.pause = true; - GameData_1.default._instance.GM_INFO.total += this.clickNow; - this.overTime = this.getTime(); - if (this.startTime > 0 && this.overTime > 0) { - GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); - } - // console.log("成功",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime); - // console.log(GameData._instance.GM_INFO.mean_Time); - var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); - this.startTime = 0; - this.overTime = 0; - // console.log("33333333"); - var color = "y"; - if (this.level < 4 && this.level > 1) - color = "yr"; - else if (this.level >= 4) - color = "yrb"; - var win_1 = this.node.getChildByName("Win"); - win_1.active = true; - win_1.setScale(0); - GameData_1.default._instance.AudioManager.playWin(); - this.round += 1; - var sunArray = []; - if (this.moveArray.length > 0) { - for (var m = 0; m < this.moveArray.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - this.moveArray[m] = 2; - } - sunArray.push(this.moveArray[m]); - } - } - else { - for (var m = 0; m < this.ball_Array.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - sunArray.push(2); - } - else - sunArray.push(0); - } - } - GameData_1.default._instance.CLICK_DATA = - { - type: 1, - success: true, - round: this.round, - totalSunCount: this.now_Array.length, - movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, - sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, - overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, - colorList: this.color_Array, - duration: finish_time / 10, - difficultyLevel: this.level, - sunList: sunArray, - stepTimeList: this.time_Array, - remainder: this.countTime - }; - this.outPut(); - this.setData(); - cc.tween(win_1) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.4) - .call(function () { - win_1.active = false; - _this.destroyLine(); - if (_this.over == false && _this.countTime >= 0) { - if (_this.level >= 15) { - GameData_1.default._instance.GM_INFO.success = true; - _this.level += 0; - // this.levelLabel.string = this.level + ""; - _this.fuhuo = true; - _this.passLevel(); - } - else { - _this.level += 1; - // this.levelLabel.string = this.level + ""; - _this.fuhuo = true; - _this.passLevel(); - } - } - }) - .start(); - } - } - else { - this.setLoss(); - } - // this.hitAction(data) - } - }; - GameManager.prototype.setLoss = function () { - GameData_1.default._instance.AudioManager.playWarning(); - this.begin = false; - this.overTime = this.getTime(); - if (this.startTime > 0 && this.overTime > 0) { - GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); - } - var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); - this.startTime = 0; - this.overTime = 0; - var color = "y"; - if (this.level < 4 && this.level > 1) - color = "yr"; - else if (this.level >= 4) - color = "yrb"; - this.round += 1; - var sunArray = []; - if (this.moveArray.length > 0) { - for (var m = 0; m < this.moveArray.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - this.moveArray[m] = 2; - } - sunArray.push(this.moveArray[m]); - } - } - else { - for (var m = 0; m < this.ball_Array.length; m++) { - if (m == this.repeat || m == this.numberRepeat) { - sunArray.push(2); - } - else - sunArray.push(0); - } - } - GameData_1.default._instance.CLICK_DATA = - { - type: 1, - success: false, - round: this.round, - totalSunCount: this.now_Array.length, - movedSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveNumber, - sunSpeed: GameData_1.default._instance.LEVEL_INFO[this.level - 1].moveSpeed, - overlapSunCount: GameData_1.default._instance.LEVEL_INFO[this.level - 1].repeat, - colorList: this.color_Array, - duration: finish_time / 10, - difficultyLevel: this.level, - sunList: sunArray, - stepTimeList: this.time_Array, - remainder: this.countTime - }; - this.outPut(); - this.setData(); - if (this.fuhuo == true) { - this.fuhuo = false; - this.loseLevel(1); - } - else { - if (this.level > 2) { - this.level -= 1; - // this.levelLabel.string = this.level + ""; - this.fuhuo = true; - // this.fuhuo = false; - this.loseLevel(2); - } - else { - this.loseLevel(1); - } - } - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); - }; - GameManager.prototype.hitAction = function (data) { - var _this = this; - this.hit.active = true; - this.hit.opacity = 0; - this.hit.setPosition; - this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); - cc.tween(this.hit) - .to(0, { opacity: 255 }) - .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) - .delay(0.2) - .to(0.1, { opacity: 0 }) - .call(function () { - _this.hit.active = false; - }) - .start(); - }; - //开始游戏 - GameManager.prototype.startGame = function () { - if (this.over == false && this.countTime > 0) { - this.pause = true; - this.createSun(); - this.begin = false; - cc.tween(this.ball) - .to(0.5, { opacity: 255, scale: 1.3 }) - .start(); - // this.runGame() - } - }; - GameManager.prototype.runGame = function () { - var _this = this; - var time = -650; - var _loop_3 = function (i) { - time = this_2.now_Array[i].time * 1000 + time; - setTimeout(function () { - if (_this.over == false) { - var temp = _this.now_Array[i].timeCount; - if (temp > 0.5) - temp = 0.5; - if (i != 0) { - if (_this.ball && _this.now_Array[i]) { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.now_Array[i].x, _this.now_Array[i].y), _this.now_Array[i].time - temp); - } - } - cc.tween(_this.ball) - .to(_this.now_Array[i].time - temp, { x: _this.now_Array[i].x, y: _this.now_Array[i].y }) - .to(0.1, { scale: 1 }) - .call(function () { - _this.createBall(i, _this.now_Array[i].color, _this.now_Array[i].speed, _this.now_Array[i].repeat); - if (i == _this.now_Array.length - 1) { - _this.ball.opacity = 0; - setTimeout(function () { - _this.destroyLine(); - _this.beginGame(); - if (GameData_1.default._instance.LEVEL_INFO[_this.level - 1].moveNumber < 1) { - _this.pause = false; - } - else { - _this.moveAction(); - } - }, 150); - } - }) - .start(); - } - }, time); - }; - var this_2 = this; - for (var i = 0; i < this.now_Array.length; i++) { - _loop_3(i); - } - }; - GameManager.prototype.createMove = function () { - var _this = this; - if (this.over == false) { - var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - //改变移动速度 - var speed = 7; - if (info.moveSpeed >= 2) { - speed = 7 - info.moveSpeed / 2; - } - if (info.repeat == 1) { - this.repeat = parseInt((Math.random() * (info.number - 1) + 1) + ""); - var tempNumber = 0; - // this.repeat = 4; - if (this.repeat > 4) { - this.numberRepeat = parseInt(Math.random() * 4 + ""); - if (this.repeat == (info.number - 1)) //如果是最后一个 不能跟第一个重叠 - this.numberRepeat = this.repeat - parseInt((Math.random() * 3 + 2) + ""); - tempNumber = this.Pos_Array[this.numberRepeat]; - this.Pos_Array[this.repeat] = tempNumber; - } - else { // 0 1 2 3 4 5 - // 6 - 3 - 1 = 2 4 01 4 - if (this.repeat == 0) - this.repeat = 1; - if ((info.number - 1 - this.repeat) == 2) { - this.numberRepeat = info.number - 1; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else if ((info.number - 1 - this.repeat) == 1) { - this.numberRepeat = this.repeat - 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else if ((info.number - 1 - this.repeat) == 0) { - this.numberRepeat = this.repeat - 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else if ((info.number - 1 - this.repeat) > 2) { - this.numberRepeat = parseInt(Math.random() * (info.number - this.repeat - 2) + "") + this.repeat + 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - else { - this.numberRepeat = this.repeat - 2; - tempNumber = this.Pos_Array[this.numberRepeat]; - } - this.Pos_Array[this.repeat] = tempNumber; - } - } - if (info.moveNumber > 0) { - //0 1 2 3 4 5 6 7 8 9 - //可移动区分 - var pos_1 = cc.v2(0, 0); - for (var z = 0; z < info.number; z++) { - this.moveArray[z] = 0; - } - for (var p = 0; p < info.moveNumber; p++) { - this.moveArray[info.number - 1 - p] = 1; - } - var timeOut = 0; - //打乱可移动顺序 - this.moveArray.sort(function () { return Math.random() - 0.5; }); - if (this.moveArray[0] == 1) { - for (var r = info.number - 1; r >= 0; r--) { - if (this.moveArray[r] == 0) { - this.moveArray[r] = 1; - this.moveArray[0] = 0; - r = -1; - } - } - } - // debugger; - //设置重叠 - // this.repeat = -1; - // this.numberRepeat = -1; - //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 - for (var k = 0; k < this.moveArray.length; k++) { - if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { - for (var m = this.moveArray.length - 1; m >= 0; m--) { - if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { - this.moveArray[m] = 1; - this.moveArray[k] = 0; - m = -1; - } - } - } - } - var _loop_4 = function (i) { - if (this_3.moveArray[i] == 1) { - timeOut += 1; - setTimeout(function () { - pos_1 = _this.getPos2(true, i); - _this.Pos_Array[i] = pos_1; - }, timeOut * 300); - } - }; - var this_3 = this; - for (var i = 0; i < this.Pos_Array.length; i++) { - _loop_4(i); - } - } - } - }; - //移动后数据 重新刷一遍赋值 - GameManager.prototype.updateArray = function () { - for (var i = 0; i < this.now_Array.length - 1; i++) { - this.now_Array[i].x = this.Pos_Array[i].x; - this.now_Array[i].y = this.Pos_Array[i].y; - } - }; - //太阳初始化后移动方法 - GameManager.prototype.moveAction = function () { - var _this = this; - this.updateArray(); - var moveArray = this.moveArray; - var info = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - //改变移动速度 - var speed = 7; - if (info.moveSpeed >= 2) { - speed = 7 - info.moveSpeed / 2; - } - if (info.moveNumber > 0) { - //0 1 2 3 4 5 6 7 8 9 - //可移动区分 - var pos = cc.v2(0, 0); - // this.repeat = -1; - // this.numberRepeat = -1; - //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 - for (var k = 0; k < this.moveArray.length; k++) { - if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { - for (var m = this.moveArray.length - 1; m >= 0; m--) { - if (m != k && this.moveArray[m] == 0 && m != this.repeat && m != this.numberRepeat) { - this.moveArray[m] = 1; - this.moveArray[k] = 0; - m = -1; - } - } - } - } - var lastNumber = 0; - //锁定最后一个可移动的 - for (var j = 0; j < moveArray.length; j++) { - if (moveArray[j] == 1) { - lastNumber = j; - } - } - var _loop_5 = function (i) { - if (moveArray[i] == 1) { - if (i != lastNumber) { //如果不是最后一个移动的 - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); - this_4.ball_Array[i].getComponent("Sun").move = true; - cc.tween(this_4.ball_Array[i]) - .to(time, { position: this_4.Pos_Array[i] }) - .call(function () { - _this.ball_Array[i].getComponent("Sun").move = false; - }) - .start(); - } - //如果是最后一个 - else { - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); - this_4.ball_Array[i].getComponent("Sun").move = true; - cc.tween(this_4.ball_Array[i]) - .to(time, { position: this_4.Pos_Array[i] }) - .call(function () { - _this.ball_Array[i].getComponent("Sun").move = false; - }) - .start(); - } - } - }; - var this_4 = this; - for (var i = 0; i < this.ball_Array.length; i++) { - _loop_5(i); - } - } - }; - GameManager.prototype.beginGame = function () { - this.begin = true; - this.startTime = this.getTime(); - this.timeStart = this.getTime(); - this.pause = false; - // this.node.getChildByName("showBtn").active = true; - }; - GameManager.prototype.getRandomArray = function (lastNumber) { - var num = parseInt(Math.random() * 8 - 4 + ""); - var jg = num + lastNumber; - if (num > 1 || num < -1) { - if (num == 0 || (jg < 0 || jg >= this.Pos_Array.length)) { - jg = this.getRandomArray(lastNumber); - } - } - else { - jg = this.getRandomArray(lastNumber); - } - return jg; - }; - //创建太阳所需数据 - GameManager.prototype.createSun = function () { - var _this = this; - var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - var tiemOut = 0; - var _loop_6 = function (l) { - tiemOut += 1; - setTimeout(function () { - if (_this.over == false) { - var pos = _this.getPos(false, l); - _this.Pos_Array.push(pos); - if (_this.Pos_Array.length == levelData.number) { - _this.createMove(); - _this.createPos(); - } - } - }, tiemOut * 100); - }; - for (var l = 0; l < levelData.number; l++) { - _loop_6(l); - } - // 0 0 0 0 0 0 0 0 0 0 0 - }; - GameManager.prototype.createPos = function () { - var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; - var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; - //颜色区分 - var colorArray = [0, 1]; - for (var j = 0; j < levelData.number - 2; j++) { - var colorTemp = parseInt(Math.random() * 3 + ""); - if (levelData.number < 6 && colorTemp == 2) - colorTemp = 0; - colorArray.push(colorTemp); - colorArray.sort(function () { return Math.random() - 0.5; }); - } - colorArray.sort(function () { return Math.random() - 0.5; }); - if (levelData.number == 4) - colorArray = [0, 0, 0, 0]; - this.color_Array = colorArray; - for (var i = 0; i < levelData.number; i++) { - var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y)); - var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y) + timeCount; - data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; - if (this.repeat == i) { - data.repeat = true; - } - else if (this.numberRepeat == i) { - data.repeat = true; - } - this.now_Array.push(data); - } - this.runGame(); - }; - GameManager.prototype.getPos = function (type, num) { - var posX = Math.random() * 620 - 310; - var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; - var point = cc.v2(posX, posY); - if (this.Pos_Array.length > 0) { - for (var i = 0; i < this.Pos_Array.length; i++) { - var distance = false; - var pd = false; - if (i == num) - pd = true; - distance = this.getDistance(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); - if (distance == false) { - i = 10000; - point = this.getPos(type, num); - } - if (distance == true && i == (this.Pos_Array.length - 1)) { - i = 10000; - } - } - } - return point; - }; - GameManager.prototype.getPos2 = function (type, num) { - var posX = Math.random() * 620 - 310; - var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; - var point = cc.v2(posX, posY); - if (this.Pos_Array.length > 0) { - for (var i = 0; i < this.Pos_Array.length; i++) { - var distance = false; - var pd = false; - if (i == num) - pd = true; - distance = this.getDistance2(posX, posY, this.Pos_Array[i].x, this.Pos_Array[i].y, pd); - if (distance == false) { - i = 10000; - point = this.getPos2(type, num); - } - if (distance == true && i == (this.Pos_Array.length - 1)) { - i = 10000; - } - } - } - return point; - }; - GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { - var jg = false; - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 160) { - if (num == true) { - if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { - jg = true; - } - else - jg = false; - } - else { - if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxMove) { - jg = true; - } - else - jg = false; - } - } - return jg; - }; - GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { - var jg = false; - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 160) { - if (num == true) { - if (distance < GameData_1.default._instance.LEVEL_INFO[this.level - 1].maxDistance) - jg = true; - else - jg = false; - } - else { - jg = true; - } - } - return jg; - }; - GameManager.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - if (color == 0) - ball = cc.instantiate(this.qiu1); - else if (color == 1) - ball = cc.instantiate(this.qiu2); - else if (color == 2) - ball = cc.instantiate(this.qiu3); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.now_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - this.ball_Array.push(ball); - }; - GameManager.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - GameManager.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - GameManager.prototype.calculateDistance = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 800) - distance = 800; - var time = distance / 800 * 0.6; - return time; - }; - GameManager.prototype.calculateDistance2 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1; - return time; - }; - GameManager.prototype.calculateDistance3 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1.5; - return time; - }; - //背景移动 - GameManager.prototype.bgMove = function (type) { - var _this = this; - var random = Math.random() * 300 + 300; - var posX = Math.random() * 600 - 300; - var y1 = this.bg1.y - random * type; - // let y2 = this.bg2.y - random*type; - var time1 = 0.7 * (random / 400); - cc.tween(this.ball) - .to(0.3, { scale: 1.3 }) - .to(time1, { x: posX }) - .start(); - cc.tween(this.bg1) - .delay(0.3) - .to(time1, { y: y1 }) - .start(); - // cc.tween(this.bg2) - // .delay(0.3) - // .to(time1,{y:y2}) - // .start(); - setTimeout(function () { - // if(this.over == false && GameData._instance.GM_INFO.custom == 0){ - // this.startGame(); - // } - if (_this.over == false) { - _this.startGame(); - } - }, time1 * 1500); - }; - //时间格式转换 - GameManager.prototype.getTimeMargin = function (second) { - var total = 0; - total = second; - var hour = 0; - hour = parseInt((total / 3600) + ""); //计算整数小时数 - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - var min = parseInt((afterHour / 60) + ""); //计算整数分 - var m = "" + min; - if (min < 10) - m = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - var miao = afterMin + ""; - if (afterMin < 10) - miao = "0" + afterMin; - return m + ':' + miao; - }; - //如果是倒计时 调用此方法 - GameManager.prototype.updateCountDownTime = function () { - if (this.countTime > 0 && this.pause == false) { - this.countTime -= 1; - this.time.string = this.getTimeMargin(this.countTime); - if (this.countTime < 5) { - cc.tween(this.time.node) - .to(0.25, { scale: 1.5, color: cc.color(255, 0, 0) }) - .to(0.25, { scale: 1, color: cc.color(255, 255, 255) }) - .start(); - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.2, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .start(); - } - if (this.countTime <= 0) { - this.begin = false; - this.over = true; - this.unschedule(this.updateCountDownTime); - this.setLoss(); - var time = 0; - // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount); - if (this.clickCount > 0) - time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); - GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); - GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; - // console.log( GameData._instance.GM_INFO.mean_Time,time); - // debugger; - if (time > 10000) - time = (Math.random() * 10 + 5) * 100; - this.setRank(time); - } - } - }; - GameManager.prototype.setData = function () { - var data = GameData_1.default._instance.GAME_DATA; - var matchId = this.getMatchId(); - console.log(matchId); - var postData = { - "matchId": matchId, - "data": data - }; - console.log("上传数据:"); - serverAPI_1.default.uploadUserLogData(postData, function () { }); - }; - GameManager.prototype.getMatchId = function () { - var matchId = cc.sys.localStorage.getItem("matchId"); - if (matchId == "undifend" || matchId == null) { - matchId = this.setMatchId(); - } - else { - if (this.containsNanana(matchId) == true) { - matchId = this.setMatchId(); - } - else { - var char = parseInt(matchId[10]); - if (this.round == 1) { - char += 1; - } - matchId = matchId.slice(0, 10) + char + ""; - GameData_1.default._instance.GM_INFO.matchId = matchId; - cc.sys.localStorage.setItem("matchId", matchId); - } - } - return matchId; - }; - GameManager.prototype.containsNanana = function (str) { - return /na/i.test(str); - }; - GameManager.prototype.setMatchId = function () { - // 定义包含可用字符的字符集 - var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; - // 创建一个数组以保存随机字符 - var uuidArray = []; - // 循环10次 生成10位的UUID - for (var i = 0; i < 10; i++) { - // 生成随机索引,范围是字符集的长度 - var randomIndex = Math.floor(Math.random() * characters.length); - // 从字符集中获取随机字符 - var randomChar = characters.charAt(randomIndex); - // 将字符添加到数组中 - uuidArray.push(randomChar); - } - var data = uuidArray.join('') + 1 + ""; - cc.sys.localStorage.setItem("matchNumber", 1); - cc.sys.localStorage.setItem("matchId", data); - GameData_1.default._instance.GM_INFO.matchId = data; - return data; - }; - GameManager.prototype.setRank = function (time) { - var postData = { - "type": 1, - "reactionTime": time, - "totalSunCount": GameData_1.default._instance.GM_INFO.total, - "success": GameData_1.default._instance.GM_INFO.success - }; - // console.log(postData); - serverAPI_1.default.rankData(1, function () { }, postData); - this.node.getChildByName("GameOver").active = true; - this.node.getChildByName("GameOver").opacity = 0; - cc.tween(this.node.getChildByName("GameOver")) - .to(0.4, { opacity: 255 }) - .delay(2) - .to(0.4, { opacity: 50 }) - .call(function () { - cc.director.loadScene("OverScene"); - }) - .start(); - }; - GameManager.prototype.outPut = function () { - var data = GameData_1.default._instance.CLICK_DATA; - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); - GameData_1.default._instance.CLICK_init(); - }; - GameManager.prototype.showNumber = function () { - if (this.show == false) - this.show = true; - else if (this.show == true) - this.show = false; - for (var i = 0; i < this.ball_Array.length; i++) { - this.ball_Array[i].getComponent("Sun").showNumber(this.show); - } - }; - GameManager.prototype.onEnable = function () { - Notification_1.Notification.on("clickSun", this.clickSun, this); - // Notification.on("HammerPlay", this.HammerPlay, this); - }; - GameManager.prototype.onDisable = function () { - // Notification.off("rightAnswers", this.rightAnswers); - Notification_1.Notification.off("clickSun", this.clickSun); - }; - GameManager.prototype.update = function (dt) { - }; - __decorate([ - property(cc.Node) - ], GameManager.prototype, "ball", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "qiu1", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "qiu2", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "qiu3", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "linePrefab", void 0); - __decorate([ - property(cc.Node) - ], GameManager.prototype, "hit", void 0); - __decorate([ - property(cc.Label) - ], GameManager.prototype, "levelLabel", void 0); - GameManager = __decorate([ - ccclass - ], GameManager); - return GameManager; -}(cc.Component)); -exports.default = GameManager; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUMxQyx1Q0FBa0M7QUFDbEMsK0NBQThDO0FBQzlDLGdEQUEwQztBQUUxQztJQUF5QywrQkFBWTtJQUFyRDtRQUFBLHFFQXFuQ0M7UUFsbkNHLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsZ0JBQVUsR0FBYyxJQUFJLENBQUM7UUFFN0IsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUV0Qix3QkFBd0I7UUFDeEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQXNCdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBd2tDaEMsQ0FBQztJQWhrQ0csNEJBQU0sR0FBTjtJQUVBLENBQUM7SUFFRCwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCx5QkFBRyxHQUFIO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMs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QyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFHOUIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDaEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9ILElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLFNBQVMsQ0FBQztZQUM3RyxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxTQUFTLENBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQztZQUM5SSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FB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USxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkNBQ0c7SUFFckI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs2Q0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUztJQUU3QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBZ0NwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO21EQUNTO0lBN0NYLFdBQVc7UUFEL0IsT0FBTztPQUNhLFdBQVcsQ0FxbkMvQjtJQUFELGtCQUFDO0NBcm5DRCxBQXFuQ0MsQ0FybkN3QyxFQUFFLENBQUMsU0FBUyxHQXFuQ3BEO2tCQXJuQ29CLFdBQVciLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gJy4vR2FtZURhdGEnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tICcuL2NyeXB0by9zZXJ2ZXJBUEknO1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBiYWxsOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUxOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTI6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MzogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBsaW5lUHJlZmFiOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBoaXQ6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcblxyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGxldmVsTGFiZWw6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIG1vdmVBcnJheTogbnVtYmVyW107XHJcbiAgICByZXBlYXQ6IG51bWJlcjtcclxuICAgIG51bWJlclJlcGVhdDogbnVtYmVyO1xyXG4gICAgcm91bmQ6IG51bWJlcjtcclxuICAgIHBhdXNlOiBib29sZWFuO1xyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdGhpcy5maXRUb3AgPSA0NTA7ICAvLzYwMFxyXG4gICAgICAgIHRoaXMuZml0Qm90ID0gLTYwMDsgLy8tNzAwXHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG4gICAgICAgICAgICB0aGlzLmZpdFRvcCA9IDYwMDtcclxuICAgICAgICAgICAgdGhpcy5maXRCb3QgPSAtNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdCAoKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSB0aGlzLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH1cclxuXHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gIT0gMCl7XHJcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuIFxyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMuY2xpY2tDb3VudCA9IDA7XHJcbiAgICAgICAgdGhpcy50aW1lU3RhcnQgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuICAgICAgICB0aGlzLnJvdXRlX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy50aW1lX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5jb2xvcl9BcnJheSA9IFtdO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEEgPSBbXTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMud2luVGltZSA9IDA7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgPSAwO1xyXG5cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG5cclxuXHJcbiAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrU2NlbmUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8v5LiL5LiA5YWz77yM5oiW6ICF6YeN5paw5byA5aeL77yM5oiW6ICF6L+U5Zue5LiK5LiA5YWz77yM5qC55o2ubGV2ZWzlhrPlrppcclxuICAgIHJlU3RhcnQodHlwZSl7XHJcbiAgICAgICAgLy8gaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICE9IDApe1xyXG4gICAgICAgIC8vICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hvd0J0blwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgdGhpcy50aW1lQ291bnQgPSAwLjE7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aW1lU3RhcnQgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubm93X0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1vdmVBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBcclxuICAgICAgICBpZih0eXBlID09IDApe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDEpe1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0R2FtZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gMil7XHJcbiAgICAgICAgICAgIHRoaXMuYmdNb3ZlKC0xKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuXHJcbiAgICBiZWdpbl9HdWlkZSgpe1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcblxyXG4gICAgLy/ojrfog5xcclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgIGxldCB0aW1lQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IDA7XHJcbiAgICAgICAgICAgIGxldCBiYWxsID0gdGhpcy5iYWxsX0FycmF5WzBdO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MTsgaTwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZTIodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ktMV0ueCx0aGlzLmJhbGxfQXJyYXlbaS0xXS55KTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvL+Wksei0pVxyXG4gICAgbG9zZUxldmVsKHR5cGUpe1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgIGxldCBiYWxsID0gdGhpcy5iYWxsX0FycmF5WzBdO1xyXG4gICAgICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtrXSlcclxuICAgICAgICAgICAgICAgIC50bygyLHt4OmJhbGwueCx5OmJhbGwueX0pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQodHlwZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVfQXJyYXkucHVzaCgoY2xpY2tUaW1lIC0gdGhpcy50aW1lU3RhcnQpKVxyXG4gICAgICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTsgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIC8vIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS5nZXRDaGlsZEJ5TmFtZShcImd1YW5nXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIH0sIDIwMCk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IHRoaXMubm93X0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVyVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuc3RhcnRUaW1lID4gMCAmJiB0aGlzLm92ZXJUaW1lID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSArPSAodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmiJDlip9cIixHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUsdGhpcy5vdmVyVGltZSx0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjMzMzMzMzMzXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpbiA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIldpblwiKTtcclxuICAgICAgICAgICAgICAgICAgICB3aW4uYWN0aXZlID0gdHJ1ZTsgd2luLnNldFNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdpbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91bmQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgc3VuQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMubW92ZUFycmF5Lmxlbmd0aDttKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSA9PSB0aGlzLnJlcGVhdCB8fCBtID09IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVttXSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKHRoaXMubW92ZUFycmF5W21dKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDttKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSA9PSB0aGlzLnJlcGVhdCB8fCBtID09IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzczp0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6dGhpcy5ub3dfQXJyYXkubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5TcGVlZDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLnJlcGVhdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6dGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluZGVyOnRoaXMuY291bnRUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3V0UHV0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sZXZlbCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB0aGlzLmhpdEFjdGlvbihkYXRhKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgc2V0TG9zcygpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vdmVyVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIGlmKHRoaXMuc3RhcnRUaW1lID4gMCAmJiB0aGlzLm92ZXJUaW1lID4gMCl7XHJcbiAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSArPSAodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGZpbmlzaF90aW1lID0gcGFyc2VJbnQoKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSkvMTAwK1wiXCIpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDsgdGhpcy5vdmVyVGltZSA9IDA7XHJcbiAgICAgICAgbGV0IGNvbG9yID0gXCJ5XCI7XHJcbiAgICAgICAgaWYodGhpcy5sZXZlbCA8IDQgJiYgdGhpcy5sZXZlbCA+IDEpY29sb3IgPSBcInlyXCI7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmxldmVsID49IDQpIGNvbG9yID0gXCJ5cmJcIjtcclxuICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gXHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDp0aGlzLm5vd19BcnJheS5sZW5ndGgsXHJcbiAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICBzdW5TcGVlZDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OkdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ucmVwZWF0LFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDp0aGlzLmxldmVsLFxyXG4gICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICByZW1haW5kZXI6dGhpcy5jb3VudFRpbWVcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vdXRQdXQoKTtcclxuICAgICAgICB0aGlzLnNldERhdGEoKTtcclxuICAgICAgICBpZih0aGlzLmZ1aHVvID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+IDIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZXZlbCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgLnRvKDAuMjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBoaXRBY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gdHJ1ZTsgdGhpcy5oaXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5oaXQuc2V0UG9zaXRpb25cclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvbih0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueCszNSx0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueSszNSk7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5oaXQpXHJcbiAgICAgICAgLnRvKDAse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4yLHtwb3NpdGlvbjpjYy52Myh0aGlzLmhpdC54LTM1LHRoaXMuaGl0LnktMzUsMCl9KVxyXG4gICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+W8gOWni+a4uOaIj1xyXG4gICAgc3RhcnRHYW1lKCl7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID4gMCl7XHJcbiAgICAgICAgICAgIHRoaXMucGF1c2UgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN1bigpO1xyXG4gICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTUsc2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMucnVuR2FtZSgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJ1bkdhbWUoKXtcclxuICAgICAgICBsZXQgdGltZSA9IC02NTA7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5ub3dfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICB0aW1lID0gdGhpcy5ub3dfQXJyYXlbaV0udGltZSoxMDAwICsgdGltZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0ZW1wID0gdGhpcy5ub3dfQXJyYXlbaV0udGltZUNvdW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRlbXAgPiAwLjUpIHRlbXAgPSAwLjU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSAhPSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5iYWxsICYmIHRoaXMubm93X0FycmF5W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5ub3dfQXJyYXlbaV0ueCx0aGlzLm5vd19BcnJheVtpXS55KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIC50byh0aGlzLm5vd19BcnJheVtpXS50aW1lLXRlbXAse3g6dGhpcy5ub3dfQXJyYXlbaV0ueCx5OnRoaXMubm93X0FycmF5W2ldLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjEse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQmFsbChpLHRoaXMubm93X0FycmF5W2ldLmNvbG9yLHRoaXMubm93X0FycmF5W2ldLnNwZWVkLHRoaXMubm93X0FycmF5W2ldLnJlcGVhdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gdGhpcy5ub3dfQXJyYXkubGVuZ3RoIC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZ2luR2FtZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZU51bWJlcjwxKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE1MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aW1lKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVNb3ZlKCl7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlKXtcclxuICAgICAgICAgICAgbGV0IGluZm8gPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgICAgICAvL+aUueWPmOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICB2YXIgc3BlZWQgPSA3O1xyXG4gICAgICAgICAgICBpZihpbmZvLm1vdmVTcGVlZCA+PSAyKXtcclxuICAgICAgICAgICAgICAgIHNwZWVkID0gNyAtIGluZm8ubW92ZVNwZWVkLzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5yZXBlYXQgPT0gMSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlcGVhdCAgPSBwYXJzZUludCgoTWF0aC5yYW5kb20oKSooaW5mby5udW1iZXItMSkrMSkgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIGxldCB0ZW1wTnVtYmVyID0gMDtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMucmVwZWF0ID0gNDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA+IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSo0ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID09IChpbmZvLm51bWJlci0xKSkgIC8v5aaC5p6c5piv5pyA5ZCO5LiA5LiqIOS4jeiDvei3n+esrOS4gOS4qumHjeWPoFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgIC0gcGFyc2VJbnQoIChNYXRoLnJhbmRvbSgpKjMgKyAyKSsgXCJcIilcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheVt0aGlzLnJlcGVhdCBdID0gdGVtcE51bWJlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7IC8vIDAgMSAyIDMgNCA1IFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIDYgLSAzIC0gMSAgPSAyIDQgIDAxIDRcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gMCkgdGhpcy5yZXBlYXQgID0gMTtcclxuICAgICAgICAgICAgICAgICAgICBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IGluZm8ubnVtYmVyIC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAtIDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPiAyKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci10aGlzLnJlcGVhdCAtMikgKyBcIlwiKSArIHRoaXMucmVwZWF0ICArIDIgO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAtIDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheVt0aGlzLnJlcGVhdF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZU51bWJlciA+IDApe1xyXG4gICAgICAgICAgICAgICAgLy8wIDEgMiAzIDQgNSA2IDcgOCA5XHJcbiAgICAgICAgICAgICAgICAvL+WPr+enu+WKqOWMuuWIhlxyXG4gICAgICAgICAgICAgICAgbGV0IHBvcyA9IGNjLnYyKDAsMCk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8v6K6+572u6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuXHJcbiAgICAgICAgICAgICAgICAvL+WwhumHjeWPoOeahOiuvue9ruS4uuS4jeWPr+enu+WKqCAgMSAxIDEgMSAwIDAgMSAwIDAgMCAgIC8gMiA3XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGsgPTA7IGs8dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO2srKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlba109PTEgJiYgKGsgPT0gdGhpcy5yZXBlYXQgfHwgayA9PSB0aGlzLm51bWJlclJlcGVhdCkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG0gPSB0aGlzLm1vdmVBcnJheS5sZW5ndGgtMTsgbSA+PSAwOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSAhPSBrICYmIHRoaXMubW92ZUFycmF5W21dID09IDAgJiYgbSE9IHRoaXMucmVwZWF0ICYmIG0hPSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W2tdID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtICA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBpID0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5IFtpXSA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZU91dCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IHRoaXMuZ2V0UG9zMih0cnVlLGkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Qb3NfQXJyYXlbaV0gPSBwb3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRpbWVPdXQqMzAwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgICBtb3ZlQWN0aW9uKCl7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBcnJheSgpO1xyXG4gICAgICAgIGxldCBtb3ZlQXJyYXkgPSB0aGlzLm1vdmVBcnJheTtcclxuICAgICAgICBsZXQgaW5mbyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/mlLnlj5jnp7vliqjpgJ/luqZcclxuICAgICAgICB2YXIgc3BlZWQgPSA3O1xyXG4gICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICBzcGVlZCA9IDcgLSBpbmZvLm1vdmVTcGVlZC8yO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICBpZihpbmZvLm1vdmVOdW1iZXIgPiAwKXtcclxuICAgICAgICAgICAgLy8wIDEgMiAzIDQgNSA2IDcgOCA5XHJcbiAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgIGxldCBwb3MgPSBjYy52MigwLDApO1xyXG5cclxuXHJcbiAgICAgICAgICAgIC8vIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgICAgIC8vIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcblxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICBmb3IobGV0IGsgPTA7IGs8dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO2srKyl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheVtrXT09MSAmJiAoayA9PSB0aGlzLnJlcGVhdCB8fCBrID09IHRoaXMubnVtYmVyUmVwZWF0KSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYobSAhPSBrICYmIHRoaXMubW92ZUFycmF5W21dID09IDAgJiYgbSE9IHRoaXMucmVwZWF0ICYmIG0hPSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVttXSA9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtICA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgbGFzdE51bWJlciA9IDA7XHJcbiAgICAgICAgICAgIC8v6ZSB5a6a5pyA5ZCO5LiA5Liq5Y+v56e75Yqo55qEXHJcbiAgICAgICAgICAgIGZvcihsZXQgaiA9MDsgajxtb3ZlQXJyYXkubGVuZ3RoO2orKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtb3ZlQXJyYXlbal09PTEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxhc3ROdW1iZXIgPSBqO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmb3IobGV0IGkgPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2ldID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgIT0gbGFzdE51bWJlcil7ICAgIC8v5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq56e75Yqo55qEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZTModGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksdGhpcy5Qb3NfQXJyYXlbaV0ueCx0aGlzLlBvc19BcnJheVtpXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2ldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8odGltZSx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbaV19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKpcclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHNwZWVkKnRoaXMuY2FsY3VsYXRlRGlzdGFuY2UzKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmVnaW5HYW1lKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSB0aGlzLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMucGF1c2UgPSBmYWxzZTtcclxuICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmFuZG9tQXJyYXkobGFzdE51bWJlcil7XHJcbiAgICAgICAgbGV0IG51bSA9ICBwYXJzZUludChNYXRoLnJhbmRvbSgpKjggLSA0ICsgXCJcIik7XHJcbiAgICAgICAgbGV0IGpnID0gbnVtICsgbGFzdE51bWJlcjtcclxuICAgICAgICBpZihudW0gPiAxIHx8IG51bSA8LTEpe1xyXG4gICAgICAgICAgICBpZiggbnVtID09IDAgfHwgKCBqZzwwIHx8IGpnID49IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCkpe1xyXG4gICAgICAgICAgICAgICAgamcgPSB0aGlzLmdldFJhbmRvbUFycmF5KGxhc3ROdW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGpnID0gdGhpcy5nZXRSYW5kb21BcnJheShsYXN0TnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgLy/liJvlu7rlpKrpmLPmiYDpnIDmlbDmja5cclxuICAgIGNyZWF0ZVN1bigpe1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIGxldCB0aWVtT3V0ID0gMDtcclxuICAgICAgICBmb3IobGV0IGw9MDsgbDxsZXZlbERhdGEubnVtYmVyO2wrKyl7XHJcbiAgICAgICAgICAgIHRpZW1PdXQgKz0gMTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3MgPSB0aGlzLmdldFBvcyhmYWxzZSxsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKHBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID09IGxldmVsRGF0YS5udW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3MoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aWVtT3V0KjEwMCk7XHJcbiBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gMCAwIDAgMCAwIDAgICAgIDAgICAgMCAwIDAgMFxyXG5cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVQb3MoKXtcclxuICAgICAgICBsZXQgZGF0YSA9IHt4OnRoaXMuYmFsbC54LHk6dGhpcy5iYWxsLnksdGltZTowLHRpbWVDb3VudDowLGNvbG9yOjAsc3BlZWQ6MCxyZXBlYXQ6ZmFsc2V9O1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIC8v6aKc6Imy5Yy65YiGXHJcbiAgICAgICAgbGV0IGNvbG9yQXJyYXkgPSBbMCwxXTtcclxuICAgICAgICBmb3IobGV0IGo9MDsgajxsZXZlbERhdGEubnVtYmVyLTI7aisrKXtcclxuICAgICAgICAgICAgbGV0IGNvbG9yVGVtcCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqMytcIlwiKTtcclxuICAgICAgICAgICAgaWYobGV2ZWxEYXRhLm51bWJlciA8IDYgJiYgY29sb3JUZW1wID09IDIpIGNvbG9yVGVtcCA9IDA7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkucHVzaChjb2xvclRlbXApO1xyXG4gICAgICAgICAgICBjb2xvckFycmF5LnNvcnQoKCkgPT4gTWF0aC5yYW5kb20oKSAtIDAuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyID09IDQpIGNvbG9yQXJyYXkgPSBbMCwwLDAsMF07XHJcbiAgICAgICAgdGhpcy5jb2xvcl9BcnJheSA9IGNvbG9yQXJyYXk7XHJcblxyXG5cclxuICAgICAgICBmb3IobGV0IGk9MDsgaTxsZXZlbERhdGEubnVtYmVyO2krKyl7XHJcbiAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSB0aGlzLnRpbWVDb3VudCArICgwLjYtdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkpKTtcclxuICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJ1bkdhbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuXHJcbiAgICAgICAgbGV0IHBvaW50ID0gY2MudjIocG9zWCxwb3NZKTtcclxuICAgICAgIFxyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQb3MyKHR5cGUsbnVtKXtcclxuXHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG5cclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgXHJcbiBcclxuICAgICAgICBpZih0aGlzLlBvc19BcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5Qb3NfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGlzdGFuY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGxldCBwZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBudW0pIHBkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGRpc3RhbmNlID0gdGhpcy5nZXREaXN0YW5jZTIocG9zWCxwb3NZLHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSxwZClcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnQgPSB0aGlzLmdldFBvczIodHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuXHJcbiAgICBnZXREaXN0YW5jZSh4MSwgeTEsIHgyLCB5MixudW0pIHtcclxuICAgICAgICB2YXIgamcgPSBmYWxzZTtcclxuICAgICAgICBjb25zdCBkeCA9IHgyIC0geDE7XHJcbiAgICAgICAgY29uc3QgZHkgPSB5MiAtIHkxO1xyXG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KTtcclxuICAgICAgICBpZihkaXN0YW5jZSA+IDE2MCl7XHJcbiAgICAgICAgICAgIGlmKG51bSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlIDwgR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA8IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubWF4TW92ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2UgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGlzdGFuY2UyKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNyZWF0ZUJhbGwobnVtYmVyLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgbGV0IGJhbGwgPSBudWxsO1xyXG4gICAgICAgIGlmKGNvbG9yID09IDApYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1MSk7XHJcbiAgICAgICAgZWxzZSBpZihjb2xvciA9PSAxKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTIpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMiliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUzKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMubm93X0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3lMaW5lKCkge1xyXG4gICAgICAgIGZvcihsZXQgaSA9MDsgaTwgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbi5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVMaW5lKHN0YXJ0LGVuZCx0aW1lKXtcclxuICAgICAgICBsZXQgbGluZSA9IGNjLmluc3RhbnRpYXRlKHRoaXMubGluZVByZWZhYik7XHJcbiAgICAgICAgbGluZS5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpO1xyXG4gICAgICAgIGxpbmUuc2V0UG9zaXRpb24oc3RhcnQueCxzdGFydC55KTtcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IGR4ID0gZW5kLnggLSBzdGFydC54O1xyXG4gICAgICAgIGNvbnN0IGR5ID0gZW5kLnkgLSBzdGFydC55O1xyXG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KTtcclxuICAgICAgICBsaW5lLmhlaWdodCA9IGRpc3RhbmNlO1xyXG4gICAgICAgIGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuZmlsbFJhbmdlID0gMDtcclxuICAgICAgICBsaW5lLmFuZ2xlID0gLXRoaXMuY2FsY3VsYXRlQW5nbGUoc3RhcnQueCxzdGFydC55LGVuZC54LGVuZC55KTtcclxuICAgICAgICBjYy50d2VlbihsaW5lLmdldENvbXBvbmVudChjYy5TcHJpdGUpKVxyXG4gICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlQW5nbGUoeDEsIHkxLCB4MiwgeTIpIHtcclxuICAgICAgICB2YXIgYW5nbGUgPSBNYXRoLmF0YW4yKHkyLXkxLHgyLXgxKSoxODAgLyBNYXRoLlBJIC0gOTA7XHJcbiAgICAgICAgcmV0dXJuIC1hbmdsZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gODAwKSBkaXN0YW5jZSA9IDgwMDtcclxuICAgICAgICBjb25zdCB0aW1lID0gZGlzdGFuY2UvODAwICogMC42O1xyXG4gICAgICAgIHJldHVybiB0aW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlMih4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTIwMCkgZGlzdGFuY2UgPSAxMjAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMTtcclxuICAgICAgICByZXR1cm4gdGltZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZTMoeDEsIHkxLCB4MiwgeTIpIHtcclxuICAgICAgICBjb25zdCBkeCA9IHgyIC0geDE7XHJcbiAgICAgICAgY29uc3QgZHkgPSB5MiAtIHkxO1xyXG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KTtcclxuICAgICAgICBpZihkaXN0YW5jZSA+IDEyMDApIGRpc3RhbmNlID0gMTIwMDtcclxuICAgICAgICBjb25zdCB0aW1lID0gZGlzdGFuY2UvMTIwMCAqIDEuNTtcclxuICAgICAgICByZXR1cm4gdGltZTtcclxuICAgIH1cclxuXHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgXHJcbiAgICAgICAgbGV0IHkxID0gdGhpcy5iZzEueSAtIHJhbmRvbSp0eXBlO1xyXG4gICAgICAgIC8vIGxldCB5MiA9IHRoaXMuYmcyLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG5cclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAudG8odGltZTEse3g6cG9zWH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcblxyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmcxKVxyXG4gICAgICAgIC5kZWxheSgwLjMpXHJcbiAgICAgICAgLnRvKHRpbWUxLHt5OnkxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuXHJcbiAgICAgICAgLy8gY2MudHdlZW4odGhpcy5iZzIpXHJcbiAgICAgICAgLy8gLmRlbGF5KDAuMylcclxuICAgICAgICAvLyAudG8odGltZTEse3k6eTJ9KVxyXG4gICAgICAgIC8vIC5zdGFydCgpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgLy8gaWYodGhpcy5vdmVyID09IGZhbHNlICYmIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9PSAwKXtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgXHJcbiAgICAgICAgfSwgdGltZTEqMTUwMCk7XHJcbiAgICB9XHJcbiAgICAvL+aXtumXtOagvOW8j+i9rOaNolxyXG4gICAgZ2V0VGltZU1hcmdpbihzZWNvbmQ6bnVtYmVyKSB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgaG91ciA9IDA7XHJcbiAgICAgICAgaG91ciA9IHBhcnNlSW50KCh0b3RhbCAvIDM2MDApICsgXCJcIik7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaW4gPSBwYXJzZUludCgoYWZ0ZXJIb3VyIC8gNjApK1wiXCIpOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IG0gPSBcIlwiICsgbWluOyAgXHJcbiAgICAgICAgaWYobWluIDwgMTApIG0gPSBcIjBcIittaW47XHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pYW8gPSBhZnRlck1pbiArIFwiXCI7XHJcbiAgICAgICAgaWYoYWZ0ZXJNaW4gPCAxMCkgbWlhbyA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuIG0gKyAnOicgKyBtaWFvXHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAvL+WmguaenOaYr+WAkuiuoeaXtiDosIPnlKjmraTmlrnms5VcclxuICAgIHVwZGF0ZUNvdW50RG93blRpbWUgKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvdW50VGltZSA+IDAgJiYgdGhpcy5wYXVzZSA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvdW50VGltZSAtPSAxO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gdGhpcy5nZXRUaW1lTWFyZ2luKHRoaXMuY291bnRUaW1lKTtcclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPCA1KXtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMudGltZS5ub2RlKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMjUse3NjYWxlOjEuNSxjb2xvcjpjYy5jb2xvcigyNTUsMCwwKX0pXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yNSx7c2NhbGU6MSxjb2xvcjpjYy5jb2xvcigyNTUsMjU1LDI1NSl9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgICAgIGxldCBvdmVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiT3ZlclwiKTtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDw9IDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb3NzKCk7XHJcbiAgICAgICAgICAgICAgICB2YXIgdGltZSA9IDA7XHJcbiAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSx0aGlzLmNsaWNrQ291bnQpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja0NvdW50ID4gMCkgdGltZSA9IHBhcnNlSW50KEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZS90aGlzLmNsaWNrQ291bnQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSA9IHBhcnNlSW50KHRpbWUvMTAwICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgLzEwO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSx0aW1lKTtcclxuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYodGltZSA+IDEwMDAwKSB0aW1lID0gKE1hdGgucmFuZG9tKCkqMTArNSkqMTAwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldERhdGEoKXtcclxuICAgICAgICBsZXQgZGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhtYXRjaElkKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBIdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoSWRcIik7XHJcblxyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludChtYXRjaElkWzEwXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnJvdW5kID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gbWF0Y2hJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLG1hdGNoSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH1cclxuXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgIFxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFJhbmsodGltZSl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiB0aW1lLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2cocG9zdERhdGEpO1xyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDEsZnVuY3Rpb24oKXt9LHBvc3REYXRhKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMilcclxuICAgICAgICAudG8oMC40LHtvcGFjaXR5OjUwfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiT3ZlclNjZW5lXCIpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KClcclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgb3V0UHV0KCl7XHJcblxyXG4gICAgICAgIGxldCBkYXRhID0gR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEE7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdBTUVfREFUQSA9IFtdO1xyXG5cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR0FNRV9EQVRBLnB1c2goR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5DTElDS19pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd051bWJlcigpe1xyXG4gICAgICAgIGlmKHRoaXMuc2hvdyA9PSBmYWxzZSkgdGhpcy5zaG93ID0gdHJ1ZTtcclxuICAgICAgICBlbHNlIGlmKHRoaXMuc2hvdyA9PSB0cnVlKSB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLnNob3dOdW1iZXIodGhpcy5zaG93KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgICAgICAvLyBOb3RpZmljYXRpb24ub24oXCJIYW1tZXJQbGF5XCIsIHRoaXMuSGFtbWVyUGxheSwgdGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICAvLyBOb3RpZmljYXRpb24ub2ZmKFwicmlnaHRBbnN3ZXJzXCIsIHRoaXMucmlnaHRBbnN3ZXJzKTtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuICBcclxuICAgIH1cclxufVxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Load.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '454adgphRpA6oq5lB6Cg1fK', 'Load'); -// Script/Load.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; -var GameData_1 = require("./GameData"); -var Storage_1 = require("./Storage"); -// import {StorageMessage} from "./StorageMessage"; -// import { apiSign } from "./crypto/sign"; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} - } - NewClass.prototype.start = function () { - var userId = Storage_1.StorageMessage.getStorage("user"); - if (userId == "undifend" || userId == null) { - this.setId(); - } - else { - var data = Storage_1.StorageMessage.getStorage("user"); - data = this.getId(data); - var timestamp = parseInt(new Date().getTime() / 1000 + ""); - if ((timestamp - data[2]) > 86400) { - this.setId(); - return; - } - GameData_1.default._instance.GM_INFO.userId = data[1]; - GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); - } - }; - NewClass.prototype.setId = function () { - GameData_1.default._instance.GM_INFO.userId = this.getUserId(); - if (GameData_1.default._instance.GM_INFO.userId == null) { - var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; - window.location.href = url; - } - else { - var timestamp = parseInt(new Date().getTime() / 1000 + ""); - var idTemp = "gameId=" + GameData_1.default._instance.GM_INFO.gameId + - "?userId= " + GameData_1.default._instance.GM_INFO.userId + "?time=" + timestamp; - Storage_1.StorageMessage.setStorage("user", idTemp); - GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); - } - }; - NewClass.prototype.createTexture = function () { - var _this = this; - var url = "http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg"; - cc.assetManager.loadRemote(url, function (err, texture) { - console.log(err, texture); - if (texture) { - var sprite = _this.node.getChildByName("icon").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - } - }); - }; - NewClass.prototype.getUserId = function () { - var pathStr = window.location.search; - var arr = pathStr.split("&"); - if (pathStr.length >= 0 && arr.length > 0) { - var arr2_1 = []; - arr.map(function (item) { - arr2_1.push(item.split("=")[1]); - }); - // GameData._instance.GM_INFO.userId = arr2[0] + ""; - return arr2_1[0]; - } - else { - return null; - } - }; - NewClass.prototype.getId = function (str) { - var pathStr = str; - var arr = pathStr.split("?"); - if (pathStr.length >= 0 && arr.length > 0) { - var arr2_2 = []; - arr.map(function (item) { - arr2_2.push(item.split("=")[1]); - }); - // GameData._instance.GM_INFO.userId = arr2[1] + ""; - return arr2_2; - } - else { - return null; - } - }; - NewClass.prototype.startGame = function () { - GameData_1.default._instance.GM_INFO.custom = 0; - cc.director.loadScene("GuideScene"); - }; - NewClass.prototype.clickBtn = function (event, data) { - GameData_1.default._instance.GM_INFO.custom = parseInt(data); - cc.director.loadScene("GameScene"); - }; - NewClass.prototype.openLevel = function () { - this.node.getChildByName("Level").active = true; - }; - NewClass.prototype.closeBtn = function () { - this.node.getChildByName("Level").active = false; - }; - NewClass.prototype.back = function (data) { - // debugger; - }; - NewClass.prototype.openBtn = function () { - GameData_1.default._instance.GM_INFO.custom = 0; - cc.director.loadScene("GuideScene"); - }; - NewClass.prototype.openRank = function () { - cc.director.loadScene("RankScene"); - }; - __decorate([ - property(cc.Label) - ], NewClass.prototype, "label", void 0); - __decorate([ - property - ], NewClass.prototype, "text", void 0); - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGO0FBQzVFLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBQzVELHVDQUFrQztBQUNsQyxxQ0FBMkM7QUFHM0MsbURBQW1EO0FBQ25ELDJDQUEyQztBQUczQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXNIQztRQW5IRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBR3ZCLFVBQUksR0FBVyxPQUFPLENBQUM7O1FBK0d2QixpQkFBaUI7SUFDckIsQ0FBQztJQTdHRyx3QkFBSyxHQUFMO1FBQ0ksSUFBSSxNQUFNLEdBQUcsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLEVBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO2FBQ0c7WUFDQSxJQUFJLElBQUksR0FBRyx3QkFBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekQsSUFBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUM7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FB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QUFDO0lBRUQsMEJBQU8sR0FBUDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCwyQkFBUSxHQUFSO1FBQ0ksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkMsQ0FBQztJQWhIRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzJDQUNJO0lBR3ZCO1FBREMsUUFBUTswQ0FDYztJQU5OLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FzSDVCO0lBQUQsZUFBQztDQXRIRCxBQXNIQyxDQXRIcUMsRUFBRSxDQUFDLFNBQVMsR0FzSGpEO2tCQXRIb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9IGZyb20gXCIuL1N0b3JhZ2VcIjtcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuaW1wb3J0IFJxIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuLy8gaW1wb3J0IHtTdG9yYWdlTWVzc2FnZX0gZnJvbSBcIi4vU3RvcmFnZU1lc3NhZ2VcIjtcclxuLy8gaW1wb3J0IHsgYXBpU2lnbiB9IGZyb20gXCIuL2NyeXB0by9zaWduXCI7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgbGFiZWw6IGNjLkxhYmVsID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHlcclxuICAgIHRleHQ6IHN0cmluZyA9ICdoZWxsbyc7XHJcblxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBsZXQgdXNlcklkID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgaWYodXNlcklkID09IFwidW5kaWZlbmRcIiB8fCB1c2VySWQ9PW51bGwpe1xyXG4gICAgICAgICAgICB0aGlzLnNldElkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLmdldElkKGRhdGEpO1xyXG4gICAgICAgICAgICBsZXQgdGltZXN0YW1wID0gcGFyc2VJbnQobmV3IERhdGUoKS5nZXRUaW1lKCkvMTAwMCArIFwiXCIpO1xyXG4gICAgICAgICAgICBpZigodGltZXN0YW1wIC0gZGF0YVsyXSkgPiA4NjQwMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldElkKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gZGF0YVsxXTtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0SWQoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSB0aGlzLmdldFVzZXJJZCgpO1xyXG4gICAgICAgIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9PSBudWxsKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuL2FwaS91c2VyL2F1dGgvbG9naW4/ZG9tYWluPWh1aTMyNTc5V2RZUHNnWXEmY2FsbGJhY2s9XCIrbG9jYXRpb24uaHJlZjtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCB0aW1lc3RhbXAgPSBwYXJzZUludChuZXcgRGF0ZSgpLmdldFRpbWUoKS8xMDAwICsgXCJcIik7XHJcbiAgICAgICAgICAgIGxldCBpZFRlbXAgPSBcImdhbWVJZD1cIiArIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmdhbWVJZCArIFxyXG4gICAgICAgICAgICBcIj91c2VySWQ9IFwiICsgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkICsgXCI/dGltZT1cIiArIHRpbWVzdGFtcDtcclxuICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcInVzZXJcIixpZFRlbXApO1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVUZXh0dXJlKCl7XHJcbiAgICAgICAgbGV0IHVybCA9IFwiaHR0cDovL3N0YXRpYy5zcGFya3VzLmNuL3Nob290LXN1bi9hc3NldHMvcmVzb3VyY2VzL25hdGl2ZS83YS83YThiNDFhZC05NDI1LTQ0ZTItOGY1NS03NzQwZjEyYjBlMGEuanBnXCI7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCAoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB2YXIgc3ByaXRlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRVc2VySWQoKSB7XHJcbiAgICAgICAgbGV0IHBhdGhTdHIgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoO1xyXG5cclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCImXCIpO1xyXG4gICAgICAgIGlmIChwYXRoU3RyLmxlbmd0aD49IDAmJmFyci5sZW5ndGg+MCkge1xyXG4gICAgICAgICAgICBsZXQgYXJyMj1bXTtcclxuICAgICAgICAgICAgYXJyLm1hcChpdGVtPT57XHJcbiAgICAgICAgICAgICAgICBhcnIyLnB1c2goaXRlbS5zcGxpdChcIj1cIilbMV0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC8vIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IGFycjJbMF0gKyBcIlwiO1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyMlswXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElkKHN0cikge1xyXG4gICAgICAgIGxldCBwYXRoU3RyID0gc3RyO1xyXG5cclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCI/XCIpO1xyXG4gICAgICAgIGlmIChwYXRoU3RyLmxlbmd0aD49IDAmJmFyci5sZW5ndGg+MCkge1xyXG4gICAgICAgICAgICBsZXQgYXJyMj1bXTtcclxuICAgICAgICAgICAgYXJyLm1hcChpdGVtPT57XHJcbiAgICAgICAgICAgICAgICBhcnIyLnB1c2goaXRlbS5zcGxpdChcIj1cIilbMV0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC8vIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IGFycjJbMV0gKyBcIlwiO1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyMjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gPSAwO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuXHJcbiAgICBvcGVuTGV2ZWwoKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMZXZlbFwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlQnRuKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGV2ZWxcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYmFjayhkYXRhKXtcclxuICAgICAgICAvLyBkZWJ1Z2dlcjtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuQnRuKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tID0gMDtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHdWlkZVNjZW5lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5SYW5rKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG5cclxuICAgIH1cclxuICAgXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Notification.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'f2518+0IHRGOY+ueIhGtEeA', 'Notification'); -// Script/Notification.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.Notification = void 0; -//全局通知 -var Notification = { - _eventMap: [], - on: function (masgId, callback, target) { - if (this._eventMap[masgId] === undefined) { - this._eventMap[masgId] = []; - } - this._eventMap[masgId].push({ callback: callback, target: target }); - }, - emit: function (masgId, parameter) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element) - element.callback.call(element.target, parameter); - } - }, - off: function (masgId, callback) { - var array = this._eventMap[masgId]; - if (array === undefined) - return; - for (var i = 0; i < array.length; i++) { - var element = array[i]; - if (element && element.callback === callback) { - array[i] = undefined; - break; - } - } - }, - offMasgId: function (masgId) { - this._eventMap[masgId] = undefined; - }, - removeAllMsg: function () { - for (var k in this._eventMap) { - if (this._eventMap[k]) { - this.offMasgId(k); - } - } - } -}; -exports.Notification = Notification; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxOb3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBTTtBQUNOLElBQUksWUFBWSxHQUFHO0lBQ2YsU0FBUyxFQUFFLEVBQUU7SUFDYixFQUFFLEVBQUUsVUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU07UUFDbEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxFQUFFLFVBQVUsTUFBTSxFQUFFLFNBQVM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQsR0FBRyxFQUFFLFVBQVUsTUFBTSxFQUFFLFFBQVE7UUFDM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3JCLE1BQU07YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVMsRUFBRSxVQUFVLE1BQU07UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVksRUFBRTtRQUNWLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckI7U0FDSjtJQUNMLENBQUM7Q0FDSixDQUFDO0FBRU8sb0NBQVkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+WFqOWxgOmAmuefpVxudmFyIE5vdGlmaWNhdGlvbiA9IHtcbiAgICBfZXZlbnRNYXA6IFtdLFxuICAgIG9uOiBmdW5jdGlvbiAobWFzZ0lkLCBjYWxsYmFjaywgdGFyZ2V0KSB7XG4gICAgICAgIGlmICh0aGlzLl9ldmVudE1hcFttYXNnSWRdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50TWFwW21hc2dJZF0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdLnB1c2goeyBjYWxsYmFjazogY2FsbGJhY2ssIHRhcmdldDogdGFyZ2V0IH0pO1xuICAgIH0sXG5cbiAgICBlbWl0OiBmdW5jdGlvbiAobWFzZ0lkLCBwYXJhbWV0ZXIpIHtcbiAgICAgICAgbGV0IGFycmF5ID0gdGhpcy5fZXZlbnRNYXBbbWFzZ0lkXTtcbiAgICAgICAgaWYgKGFycmF5ID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9IGFycmF5W2ldO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQuY2FsbGJhY2suY2FsbChlbGVtZW50LnRhcmdldCwgcGFyYW1ldGVyKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBvZmY6IGZ1bmN0aW9uIChtYXNnSWQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGxldCBhcnJheSA9IHRoaXMuX2V2ZW50TWFwW21hc2dJZF07XG4gICAgICAgIGlmIChhcnJheSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gYXJyYXlbaV07XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNhbGxiYWNrID09PSBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGFycmF5W2ldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIG9mZk1hc2dJZDogZnVuY3Rpb24gKG1hc2dJZCkge1xuICAgICAgICB0aGlzLl9ldmVudE1hcFttYXNnSWRdID0gdW5kZWZpbmVkO1xuICAgIH0sXG5cbiAgICByZW1vdmVBbGxNc2c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yIChsZXQgayBpbiB0aGlzLl9ldmVudE1hcCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2V2ZW50TWFwW2tdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vZmZNYXNnSWQoayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgeyBOb3RpZmljYXRpb24gfTsiXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/tool/GameTool.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'a1dd7qMiCpOLL3FDXJd9DGy', 'GameTool'); -// Script/tool/GameTool.js - -"use strict"; - -var _window$GameTool; - -var StorageMessage = require("Storage").StorageMessage; - -window.GameTool = (_window$GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - getSeedRandom: function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - getSetScreenResolutionFlag: function getSetScreenResolutionFlag() { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if (height / width > 16.2 / 9) return false; - return true; - }, - //判断全面屏适配 - setFit: function setFit(canvas) { - var flag = GameTool.getSetScreenResolutionFlag(); - - if (flag) {// console.log("不是全面屏"); - // canvas.fitWidth = false; - // canvas.fitHeight = true; - } else {// console.log("是全面屏"); - // canvas.fitWidth = true; - // canvas.fitHeight = false; - } - - return flag; - }, - // submitScoreButtonFunc: function(score1,fen1){ - // console.log("上传分数:",score1,fen1) - // // var score = score1; - // // var fen = fen1; - // // if (CC_WECHATGAME) { - // // window.wx.postMessage({ - // // messageType: 3, - // // MAIN_MENU_NUM: "guan", - // // score: score, - // // MAIN_MENU_FEN: "score", - // // fen: fen, - // // }); - // // } else { - // // cc.log("提交得分: x1 : " + score) - // // } - // // return true; - // }, - submitScoreButtonFunc: function submitScoreButtonFunc(fen2, number) { - console.log("number=", number); - - if (number == 0) { - console.log("上传分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 3, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: fen, - fen: 0 - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } else { - console.log("上传特殊分数:", fen2); - var fen = fen2; - - if (CC_WECHATGAME) { - window.wx.postMessage({ - messageType: 7, - MAIN_MENU_FEN: "score", - MAIN_MENU_NUM: "fen", - score: 0, - fen: fen - }); - } else { - cc.log("提交得分: x1 : " + fen); - } - } - - return true; - }, - getTip: function getTip() { - var index = Math.floor(Math.random() * 4) + 1; - - switch (index) { - case 1: - { - return "根据小球的位置,合理晃动手机,确保小球不掉出木板。"; - } - - case 2: - { - return "根据小球位置控制晃动幅度,过大或过小都不是个好选择。"; - } - - case 3: - { - return "不要被天上掉落的障碍吓到,有时候它反而会帮你保持平衡。"; - } - - case 4: - { - return "尝试着顶开掉落的障碍,是个很酷的玩法。"; - } - } - }, - beginTiming: function beginTiming() { - this._startTime = new Date().getTime(); - }, - endTiming: function endTiming() { - this._endTime = new Date().getTime(); // this._totalTime = endTime - this._startTime; - }, - //如果是判断时常的游戏 调用此方法 - updateScoreTime: function updateScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - this._endTime += tempTime / 1000; - this._totalTime = this._endTime.toFixed(2); - GM_INFO.currScore = this._totalTime; - this._startTime = endTime; - }, - //倒计时调用此方法 - countDown: function countDown() { - this._endTime = new Date().getTime(); - this._totalTime = parseInt((this._endTime - this._startTime) / 1000); - GM_INFO.remainingTime = GM_INFO.totalTime - this._totalTime; - }, - httpRequest: function httpRequest(url, data, _success, _fail) { - console.log("进入网络请求:"); - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json', - // 默认值 - 'Authorization': window.globalData.BASE64_JWT_TOKEN ? 'Bearer ' + window.globalData.BASE64_JWT_TOKEN : '' - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail(res); - } - }); - } else { - _fail(res); - } - }, - fail: function fail(res) { - _fail(res); - } - }); // console.log('httpRequest:::::', url, data, success, fail) - }, - httpRequest_Notoken: function httpRequest_Notoken(url, data, _success2, _fail2) { - // console.log('httpRequest:::::', url, data, success, fail) - wx.getNetworkType({ - success: function success(res) { - var networkType = res.networkType; // console.log(networkType); - //有网络状态下 - - if (networkType == "wifi" || networkType == "4g" || networkType == "3g" || networkType == "unknown") { - wx.request({ - url: window.globalData.requestAPI + url, - data: data, - header: { - 'content-type': 'application/json' // 默认值 - - }, - method: 'POST', - success: function success(res) { - console.log('httpRequest:::::success', res); - - _success2(res); - }, - fail: function fail(res) { - console.log('httpRequest:::::fail', res, "失败url为", url); - - _fail2(res); - } - }); - } else { - _fail2(res); - } - }, - fail: function fail(res) { - _fail2(res); - } - }); - }, - getGameInfo: function getGameInfo(node) { - var jg = false; - var nodes = node; - var data = { - 'appid': window.globalData.appid - }; - window.GameTool.httpRequest(window.globalData.getUserInfoUrl, data, function (res) { - window.globalData.gameUserInfo = res.data.king_user; //user_id在这里 - - console.log("拿到服务器的信息", res.data); - - if (window.globalData.gameUserInfo) { - console.log("获得服务器游戏信息成功:", window.globalData.gameUserInfo); - if (window.globalData.gameUserInfo.unlock_1) window.GM_INFO.unlock_1 = window.globalData.gameUserInfo.unlock_1; - if (window.globalData.gameUserInfo.unlock_2) window.GM_INFO.unlock_2 = window.globalData.gameUserInfo.unlock_2; //如果服务器有金币信息 - - if (window.globalData.gameUserInfo.coin) { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - if (window.globalData.gameUserInfo.coin != StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = window.globalData.gameUserInfo.coin; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } else { - //本地也有金币信息, 以本地为主,把本地金币信息同步到服务器 - if (StorageMessage.getStorage("Coin")) { - window.GM_INFO.coin = StorageMessage.getStorage("Coin"); - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } //如果本地没有金币信息 , 以服务器金币信息为主 - else { - window.GM_INFO.coin = 200; - StorageMessage.setStorage("Coin", window.GM_INFO.coin); - } - } - - cc.director.loadScene('GameBegin'); // console.log("即将进入这里"); - // if(StorageMessage.getStorage("level")){ - // // console.log("本地有等级信息;"); - // // console.log("服务器信息等级为:",window.globalData.gameUserInfo.level); - // window.GM_INFO.level = StorageMessage.getStorage("level"); - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // // console.log("本地等级信息为:",window.GM_INFO.level); - // //本地存储等级 小于服务器等级, 等于本地数据丢失,这时以服务器数据为主重新构建游戏 - // if(window.GM_INFO.level < window.globalData.gameUserInfo.level){ - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - // //正常进入游戏,以本地数据为主,服务器数据为辅 - // else{ - // console.log("本地数据大以本地主数据为主"); - // // window.GameTool.setGameInfo(true); - // } - // } - // else{ - // console.log("笨地没等级数据"); - // // nodes.active = true; - // window.GM_INFO.level = window.globalData.gameUserInfo.level; - // var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level,window.GM_INFO.coin); - // window.GameTool.reset(); - // } - - if (CC_WECHATGAME) { - wx.onShow(function (res) { - if (res) { - if (res.query) { - console.log("分享中带的信息", res.query); - - if (res.query.key1) { - window.GameTool.setFrindHelp(res.query.key1); - } - - if (res.query.key2) { - window.GameTool.setFrindBlock(res.query.key2); - } - - if (res.query.key3) { - window.GameTool.setFrindBlockMax(res.query.key3); - } - } - } - }); - wx.onHide(function (res) { - console.log("检测退出游戏"); // window.arm = []; - // for(var i=0; i<12; i++){ - // window.arm[i] = null; - // window.arm[i] = {error:"error"}; - // } - // window.arm = StorageMessage.setStorage("arm",window.arm); - - var temp = window.GameTool.submitScoreButtonFunc(window.GM_INFO.level, window.GM_INFO.coin); - window.GameTool.setGameInfo(); - }); - } - - jg = true; - } else { - console.log("拿到服务器信息失败"); - cc.director.loadScene("LoadScene"); - } - }, function () { - jg = false; - console.log("get用户信息失败", res); - }); - return jg; - }, - //根据服务器数据重置所需要所有数据 - reset: function reset() { - // if(window.globalData.gameUserInfo.arm) - // StorageMessage.setStorage("arm",window.globalData.gameUserInfo.arm); - // if(window.globalData.gameUserInfo.richest_coin) - // StorageMessage.setStorage("coin",parseInt(window.globalData.gameUserInfo.richest_coin)); - // if(window.globalData.gameUserInfo.dimond) - // StorageMessage.setStorage("dimond",window.globalData.gameUserInfo.dimond); - // if(window.globalData.gameUserInfo.buy_time) - // StorageMessage.setStorage("buy_Time",window.globalData.gameUserInfo.buy_time); - // if(window.globalData.gameUserInfo.dimond_time) - // StorageMessage.setStorage("dimond_Time",window.globalData.gameUserInfo.dimond_time); - // if(window.globalData.gameUserInfo.level) - // StorageMessage.setStorage("level",window.globalData.gameUserInfo.level); - // if(window.globalData.gameUserInfo.total_Speed) - // StorageMessage.setStorage("total_Speed",parseInt(window.globalData.gameUserInfo.total_Speed)); - // if(window.globalData.gameUserInfo.leave_time) - // StorageMessage.setStorage("leave_time",window.globalData.gameUserInfo.leave_time); - // if(window.globalData.gameUserInfo.reward1) - // StorageMessage.setStorage("share_Array",window.globalData.gameUserInfo.reward1); - // if(window.globalData.gameUserInfo.reward2) - // StorageMessage.setStorage("share_100",window.globalData.gameUserInfo.reward2); - // StorageMessage.setStorage("GM_INFO",window.GM_INFO); - console.log("本地数据丢失,重新启动游戏"); - cc.director.loadScene('LoadScene'); - }, - setGameInfo: function setGameInfo(pd) { - var data = {// "richest_coin":window.coin+"", - // "arm":window.arm, - // "buy_time":window.buy_Time, - // "dimond":parseInt(window.dimond), - // "dimond_time":window.dimond_Time, - // "level":window.GM_INFO.level, - // "total_speed":window.total_Speed+"", - // "reward_1":window.GM_INFO.share_Array, //用于存储6个红包的领取信息 - // "reward_2":window.share_100 //用于存储100个红包的领取信息 - }; // console.log("存储之前检测:",window.arm,arms); - - window.GameTool.httpRequest(window.globalData.richest, data, function (res) { - console.log('存储userInfo成功', res); - - if (!pd) { - window.GM_INFO.leave_time = res.data.leave_time; - StorageMessage.setStorage("leave_time", window.GM_INFO.leave_time); - } - }, function (res) { - console.log('存储userInfo失败', res); - - if (!pd) { - window.GM_INFO.leave_time = parseInt(new Date().valueOf() / 1000); - StorageMessage.setStorage("leave_time", data); - } - }); - }, - //输入秒,返回需要展示时间格式 - getTimeMargin: function getTimeMargin(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - return '剩余:' + hour + ':' + min + ':' + afterMin; - }, - getTimeMargin2: function getTimeMargin2(second) { - var total = second; - var hour = parseInt(total / (60 * 60)); //计算整数小时数 - - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - - var min = parseInt(afterHour / 60); //计算整数分 - - if (min < 10) min = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - - if (afterMin < 10) afterMin = "0" + afterMin; - return '剩余:' + min + ':' + afterMin; - }, - setFrindBlock: function setFrindBlock(userid) { - // console.log("添加时候的userid"); - var data = { - user_id: userid - }; // if(userid != window.globalData.gameUserInfo.user_id){ - // console.log("进分享的不是自己"); - // { - - window.GameTool.httpRequest(window.globalData.entryBlock, data, function (res) { - console.log('添加红包助力信息成功', res); - }, function (res) { - console.log('添加红包助力信息失败', res); - }); // } - // } - // else{ - // console.log("进入分享的是自己"); - // } - } -}, _window$GameTool["getSeedRandom"] = function getSeedRandom(min, max) { - //包含min 不包含max - max = max || 1; - min = min || 0; - GM_INFO.currSeed = (GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); -}, _window$GameTool.getTime = function getTime(time) { - var label = ""; - var number_1 = parseInt(time / 60); - var number_2 = time - number_1 * 60; - - if (number_1 < 10) { - number_1 = "0" + number_1; - } - - if (number_2 < 10) { - number_2 = "0" + number_2; - } - - label = number_1 + ":" + number_2; - return label; -}, _window$GameTool.getNumber = function getNumber(number, type) { - // console.log(type,"需要转换的数字为:",number); - var count = 1000; - var place = type - 3; - - if (number > Math.pow(count, 8) * Math.pow(10, place)) { - if (number / Math.pow(count, 8) < 100) number = parseInt(number / Math.pow(count, 8) * 10) / 10 + "S";else number = parseInt(number / Math.pow(count, 8)) + "S"; - } else if (number > Math.pow(count, 7) * Math.pow(10, place)) { - if (number / Math.pow(count, 7) < 100) number = parseInt(number / Math.pow(count, 7) * 10) / 10 + "s";else number = parseInt(number / Math.pow(count, 7)) + "s"; - } else if (number > Math.pow(count, 6) * Math.pow(10, place)) { - if (number / Math.pow(count, 6) < 100) number = parseInt(number / Math.pow(count, 6) * 10) / 10 + "Q";else number = parseInt(number / Math.pow(count, 6)) + "Q"; - } else if (number > Math.pow(count, 5) * Math.pow(10, place)) { - if (number / Math.pow(count, 5) < 100) number = parseInt(number / Math.pow(count, 5) * 10) / 10 + "q";else number = parseInt(number / Math.pow(count, 5)) + "q"; - } else if (number > Math.pow(count, 4) * Math.pow(10, place)) { - if (number / Math.pow(count, 4) < 100) number = parseInt(number / Math.pow(count, 4) * 10) / 10 + "t";else number = parseInt(number / Math.pow(count, 4)) + "t"; - } else if (number > Math.pow(count, 3) * Math.pow(10, place)) { - if (number / Math.pow(count, 3) < 100) number = parseInt(number / Math.pow(count, 3) * 10) / 10 + "b";else number = parseInt(number / Math.pow(count, 3)) + "b"; - } else if (number > Math.pow(count, 2) * Math.pow(10, place)) { - if (number / Math.pow(count, 2) < 100) number = parseInt(number / Math.pow(count, 2) * 10) / 10 + "m";else number = parseInt(number / Math.pow(count, 2)) + "m"; - } else if (number > Math.pow(count, 1) * Math.pow(10, place)) { - if (number / Math.pow(count, 1) < 100) { - number = parseInt(number / Math.pow(count, 1) * 10) / 10 + "k"; - } else number = parseInt(number / Math.pow(count, 1)) + "k"; - } else { - number = parseInt(number / Math.pow(count, 0)) + ""; - } // console.log("结果为"+type+"位数",number); - - - return number; -}, _window$GameTool.begainTiming = function begainTiming() { - this._startTime = new Date().getTime(); -}, _window$GameTool["endTiming"] = function endTiming() { - var endTime = new Date().getTime(); - this._endTime = endTime; - this._totalTime = endTime - this._startTime; -}, _window$GameTool.getScoreTime = function getScoreTime() { - var endTime = new Date().getTime(); - var tempTime = endTime - this._startTime; - - if (tempTime < 0 || tempTime > 500) { - tempTime = Math.round(cc.director.getAnimationInterval() * 1000); - } - - GM_INFO.currScore += tempTime; - this._startTime = endTime; -}, _window$GameTool.getFormatTime = function getFormatTime(time) { - var date = new Date(); - date.setTime(time); - var ms = date.getMilliseconds(); // let msString = date.getMilliseconds(); - - var msString = parseInt(ms / 10) % 100; - var secondString = date.getSeconds(); - var minString = date.getMinutes(); - - if (msString < 10) { - msString = "0" + msString; - } - - if (secondString < 10) { - secondString = "0" + secondString; - } - - secondString = secondString + ":"; - - if (minString < 10) { - minString = "0" + minString; - } - - minString = minString + ":"; - return minString + secondString + msString; -}, _window$GameTool.pushLister = function pushLister() {}, _window$GameTool.removeAllLister = function removeAllLister() {}, _window$GameTool); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0b29sXFxHYW1lVG9vbC5qcyJdLCJuYW1lcyI6WyJTdG9yYWdlTWVzc2FnZSIsInJlcXVpcmUiLCJ3aW5kb3ciLCJHYW1lVG9vbCIsIl9zdGFydFRpbWUiLCJfZW5kVGltZSIsIl90b3RhbFRpbWUiLCJnZXRTZWVkUmFuZG9tIiwibWluIiwibWF4IiwiR01fSU5GTyIsImN1cnJTZWVkIiwicm5kIiwidG1wIiwicGFyc2VJbnQiLCJnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyIsInNpemUiLCJjYyIsIndpblNpemUiLCJ3aWR0aCIsImhlaWdodCIsInNldEZpdCIsImNhbnZhcyIsImZsYWciLCJzdWJtaXRTY29yZUJ1dHRvbkZ1bmMiLCJmZW4yIiwibnVtYmVyIiwiY29uc29sZSIsImxvZyIsImZlbiIsIkNDX1dFQ0hBVEdBTUUiLCJ3eCIsInBvc3RNZXNzYWdlIiwibWVzc2FnZVR5cGUiLCJNQUlOX01FTlVfRkVOIiwiTUFJTl9NRU5VX05VTSIsInNjb3JlIiwiZ2V0VGlwIiwiaW5kZXgiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJiZWdpblRpbWluZyIsIkRhdGUiLCJnZXRUaW1lIiwiZW5kVGltaW5nIiwidXBkYXRlU2NvcmVUaW1lIiwiZW5kVGltZSIsInRlbXBUaW1lIiwicm91bmQiLCJkaXJlY3RvciIsImdldEFuaW1hdGlvbkludGVydmFsIiwidG9GaXhlZCIsImN1cnJTY29yZSIsImNvdW50RG93biIsInJlbWFpbmluZ1RpbWUiLCJ0b3RhbFRpbWUiLCJodHRwUmVxdWVzdCIsInVybCIsImRhdGEiLCJzdWNjZXNzIiwiZmFpbCIsImdldE5ldHdvcmtUeXBlIiwicmVzIiwibmV0d29ya1R5cGUiLCJyZXF1ZXN0IiwiZ2xvYmFsRGF0YSIsInJlcXVlc3RBUEkiLCJoZWFkZXIiLCJCQVNFNjRfSldUX1RPS0VOIiwibWV0aG9kIiwiaHR0cFJlcXVlc3RfTm90b2tlbiIsImdldEdhbWVJbmZvIiwibm9kZSIsImpnIiwibm9kZXMiLCJhcHBpZCIsImdldFVzZXJJbmZvVXJsIiwiZ2FtZVVzZXJJbmZvIiwia2luZ191c2VyIiwidW5sb2NrXzEiLCJ1bmxvY2tfMiIsImNvaW4iLCJnZXRTdG9yYWdlIiwic2V0U3RvcmFnZSIsImxvYWRTY2VuZSIsIm9uU2hvdyIsInF1ZXJ5Iiwia2V5MSIsInNldEZyaW5kSGVscCIsImtleTIiLCJzZXRGcmluZEJsb2NrIiwia2V5MyIsInNldEZyaW5kQmxvY2tNYXgiLCJvbkhpZGUiLCJ0ZW1wIiwibGV2ZWwiLCJzZXRHYW1lSW5mbyIsInJlc2V0IiwicGQiLCJyaWNoZXN0IiwibGVhdmVfdGltZSIsInZhbHVlT2YiLCJnZXRUaW1lTWFyZ2luIiwic2Vjb25kIiwidG90YWwiLCJob3VyIiwiYWZ0ZXJIb3VyIiwiYWZ0ZXJNaW4iLCJnZXRUaW1lTWFyZ2luMiIsInVzZXJpZCIsInVzZXJfaWQiLCJlbnRyeUJsb2NrIiwidGltZSIsImxhYmVsIiwibnVtYmVyXzEiLCJudW1iZXJfMiIsImdldE51bWJlciIsInR5cGUiLCJjb3VudCIsInBsYWNlIiwicG93IiwiYmVnYWluVGltaW5nIiwiZ2V0U2NvcmVUaW1lIiwiZ2V0Rm9ybWF0VGltZSIsImRhdGUiLCJzZXRUaW1lIiwibXMiLCJnZXRNaWxsaXNlY29uZHMiLCJtc1N0cmluZyIsInNlY29uZFN0cmluZyIsImdldFNlY29uZHMiLCJtaW5TdHJpbmciLCJnZXRNaW51dGVzIiwicHVzaExpc3RlciIsInJlbW92ZUFsbExpc3RlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUlBLGNBQWMsR0FBR0MsT0FBTyxDQUFDLFNBQUQsQ0FBUCxDQUFtQkQsY0FBeEM7O0FBQ0FFLE1BQU0sQ0FBQ0MsUUFBUDtBQUNJQyxFQUFBQSxVQUFVLEVBQUUsQ0FEaEI7QUFFSUMsRUFBQUEsUUFBUSxFQUFFLENBRmQ7QUFHSUMsRUFBQUEsVUFBVSxFQUFFLENBSGhCO0FBSUlDLEVBQUFBLGFBQWEsRUFBRSx1QkFBVUMsR0FBVixFQUFl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O0FBQ0FrRixFQUFBQSxJQUFJLENBQUNDLE9BQUwsQ0FBYWIsSUFBYjtBQUVBLE1BQUljLEVBQUUsR0FBR0YsSUFBSSxDQUFDRyxlQUFMLEVBQVQsQ0FMMkIsQ0FNM0I7O0FBQ0EsTUFBSUMsUUFBUSxHQUFHbkgsUUFBUSxDQUFDaUgsRUFBRSxHQUFHLEVBQU4sQ0FBUixHQUFvQixHQUFuQztBQUVBLE1BQUlHLFlBQVksR0FBR0wsSUFBSSxDQUFDTSxVQUFMLEVBQW5CO0FBRUEsTUFBSUMsU0FBUyxHQUFHUCxJQUFJLENBQUNRLFVBQUwsRUFBaEI7O0FBRUEsTUFBSUosUUFBUSxHQUFHLEVBQWYsRUFBbUI7QUFDZkEsSUFBQUEsUUFBUSxHQUFHLE1BQU1BLFFBQWpCO0FBQ0g7O0FBQ0QsTUFBSUMsWUFBWSxHQUFHLEVBQW5CLEVBQXVCO0FBQ25CQSxJQUFBQSxZQUFZLEdBQUcsTUFBTUEsWUFBckI7QUFDSDs7QUFDREEsRUFBQUEsWUFBWSxHQUFHQSxZQUFZLEdBQUcsR0FBOUI7O0FBRUEsTUFBSUUsU0FBUyxHQUFHLEVBQWhCLEVBQW9CO0FBQ2hCQSxJQUFBQSxTQUFTLEdBQUcsTUFBTUEsU0FBbEI7QUFDSDs7QUFDREEsRUFBQUEsU0FBUyxHQUFHQSxTQUFTLEdBQUcsR0FBeEI7QUFFQSxTQUFPQSxTQUFTLEdBQUdGLFlBQVosR0FBMkJELFFBQWxDO0FBRUgsQ0Fsa0JMLG1CQW1rQklLLFVBbmtCSixHQW1rQmUsc0JBQVksQ0FFdEIsQ0Fya0JMLG1CQXNrQklDLGVBdGtCSixHQXNrQm9CLDJCQUFZLENBRTNCLENBeGtCTCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsidmFyIFN0b3JhZ2VNZXNzYWdlID0gcmVxdWlyZShcIlN0b3JhZ2VcIikuU3RvcmFnZU1lc3NhZ2U7XHJcbndpbmRvdy5HYW1lVG9vbCA9IHtcclxuICAgIF9zdGFydFRpbWU6IDAsXHJcbiAgICBfZW5kVGltZTogMCxcclxuICAgIF90b3RhbFRpbWU6IDAsXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIFxyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdDogZnVuY3Rpb24gKGNhbnZhcykge1xyXG4gICAgICAgIGxldCBmbGFnID0gR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyBjYW52YXMuZml0SGVpZ2h0ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLmmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRXaWR0aCA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vIGNhbnZhcy5maXRIZWlnaHQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIHN1Ym1pdFNjb3JlQnV0dG9uRnVuYzogZnVuY3Rpb24oc2NvcmUxLGZlbjEpe1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKFwi5LiK5Lyg5YiG5pWwOlwiLHNjb3JlMSxmZW4xKVxyXG4gICAgLy8gICAgIC8vIHZhciBzY29yZSA9IHNjb3JlMTtcclxuICAgIC8vICAgICAvLyB2YXIgZmVuID0gZmVuMTtcclxuICAgIC8vICAgICAvLyBpZiAoQ0NfV0VDSEFUR0FNRSkge1xyXG4gICAgLy8gICAgIC8vICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgLy8gICAgIC8vICAgICAgICAgbWVzc2FnZVR5cGU6IDMsXHJcbiAgICAvLyAgICAgLy8gICAgICAgICBNQUlOX01FTlVfTlVNOiBcImd1YW5cIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIHNjb3JlOiBzY29yZSxcclxuICAgIC8vICAgICAvLyAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgIC8vICAgICAvLyAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgLy8gICAgIC8vICAgICB9KTtcclxuICAgIC8vICAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICAgIC8vICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBzY29yZSlcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyAgICAgLy8gcmV0dXJuIHRydWU7XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBzdWJtaXRTY29yZUJ1dHRvbkZ1bmM6IGZ1bmN0aW9uKGZlbjIsbnVtYmVyKXtcclxuICAgIFx0Y29uc29sZS5sb2coXCJudW1iZXI9XCIsbnVtYmVyKVxyXG4gICAgICAgIGlmKG51bWJlciA9PSAwKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiBmZW4sXHJcbiAgICAgICAgICAgICAgICAgICAgZmVuOiAwLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDnibnmrorliIbmlbA6XCIsZmVuMilcclxuICAgICAgICAgICAgdmFyIGZlbiA9IGZlbjI7XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cud3gucG9zdE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VUeXBlOiA3LFxyXG4gICAgICAgICAgICAgICAgICAgIE1BSU5fTUVOVV9GRU46IFwic2NvcmVcIixcclxuICAgICAgICAgICAgICAgICAgICBNQUlOX01FTlVfTlVNOiBcImZlblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNjb3JlOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGZlbjogZmVuLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjYy5sb2coXCLmj5DkuqTlvpfliIY6IHgxIDogXCIgKyBmZW4pXHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFRpcDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBpbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQpICsgMTtcclxuICAgICAgICBzd2l0Y2ggKGluZGV4KSB7XHJcbiAgICAgICAgICAgIGNhc2UgMToge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5qC55o2u5bCP55CD55qE5L2N572u77yM5ZCI55CG5pmD5Yqo5omL5py677yM56Gu5L+d5bCP55CD5LiN5o6J5Ye65pyo5p2/44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDI6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcIuagueaNruWwj+eQg+S9jee9ruaOp+WItuaZg+WKqOW5heW6pu+8jOi/h+Wkp+aIlui/h+Wwj+mDveS4jeaYr+S4quWlvemAieaLqeOAglwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAzOiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCLkuI3opoHooqvlpKnkuIrmjonokL3nmoTpmpznoo3lkJPliLDvvIzmnInml7blgJnlroPlj43ogIzkvJrluK7kvaDkv53mjIHlubPooaHjgIJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgNDoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFwi5bCd6K+V552A6aG25byA5o6J6JC955qE6Zqc56KN77yM5piv5Liq5b6I6YW355qE546p5rOV44CCXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgYmVnaW5UaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgZW5kVGltaW5nOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG4gICAgLy/lpoLmnpzmmK/liKTmlq3ml7bluLjnmoTmuLjmiI8g6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVTY29yZVRpbWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIGxldCB0ZW1wVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICAgICAgaWYgKHRlbXBUaW1lIDwgMCB8fCB0ZW1wVGltZSA+IDUwMCkge1xyXG4gICAgICAgICAgICB0ZW1wVGltZSA9IE1hdGgucm91bmQoY2MuZGlyZWN0b3IuZ2V0QW5pbWF0aW9uSW50ZXJ2YWwoKSAqIDEwMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9lbmRUaW1lICs9IHRlbXBUaW1lIC8gMTAwMDtcclxuICAgICAgICB0aGlzLl90b3RhbFRpbWUgPSB0aGlzLl9lbmRUaW1lLnRvRml4ZWQoMik7XHJcbiAgICAgICAgR01fSU5GTy5jdXJyU2NvcmUgPSB0aGlzLl90b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gZW5kVGltZTtcclxuICAgIH0sXHJcbiAgICAvL+WAkuiuoeaXtuiwg+eUqOatpOaWueazlVxyXG4gICAgY291bnREb3duOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5fZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IHBhcnNlSW50KCh0aGlzLl9lbmRUaW1lIC0gdGhpcy5fc3RhcnRUaW1lKSAvIDEwMDApO1xyXG4gICAgICAgIEdNX0lORk8ucmVtYWluaW5nVGltZSA9IEdNX0lORk8udG90YWxUaW1lIC0gdGhpcy5fdG90YWxUaW1lO1xyXG4gICAgfSxcclxuXHJcbiAgICBodHRwUmVxdWVzdCh1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIui/m+WFpee9kee7nOivt+axgjpcIik7XHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBdXRob3JpemF0aW9uJzp3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOPydCZWFyZXIgJyt3aW5kb3cuZ2xvYmFsRGF0YS5CQVNFNjRfSldUX1RPS0VOOicnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpzdWNjZXNzJyxyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjpmYWlsJywgcmVzLFwi5aSx6LSldXJs5Li6XCIsdXJsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmYWlsKHJlcyl7XHJcbiAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OicsIHVybCwgZGF0YSwgc3VjY2VzcywgZmFpbClcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIGh0dHBSZXF1ZXN0X05vdG9rZW4odXJsLCBkYXRhLCBzdWNjZXNzLCBmYWlsKSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2h0dHBSZXF1ZXN0Ojo6OjonLCB1cmwsIGRhdGEsIHN1Y2Nlc3MsIGZhaWwpXHJcbiAgICAgICAgd3guZ2V0TmV0d29ya1R5cGUoe1xyXG4gICAgICAgICAgICBzdWNjZXNzKHJlcykge1xyXG4gICAgICAgICAgICAgIHZhciBuZXR3b3JrVHlwZSA9IHJlcy5uZXR3b3JrVHlwZTtcclxuICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyhuZXR3b3JrVHlwZSk7XHJcbiAgICAgICAgICAgICAgLy/mnInnvZHnu5znirbmgIHkuItcclxuICAgICAgICAgICAgICBpZihuZXR3b3JrVHlwZSA9PSBcIndpZmlcIiB8fG5ldHdvcmtUeXBlID09IFwiNGdcIiB8fCBuZXR3b3JrVHlwZSA9PSBcIjNnXCIgfHwgbmV0d29ya1R5cGUgPT1cInVua25vd25cIil7XHJcbiAgICAgICAgICAgICAgICAgICAgd3gucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogd2luZG93Lmdsb2JhbERhdGEucmVxdWVzdEFQSSArIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCAvLyDpu5jorqTlgLxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OnN1Y2Nlc3MnLHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaHR0cFJlcXVlc3Q6Ojo6OmZhaWwnLCByZXMsXCLlpLHotKV1cmzkuLpcIix1cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBmYWlsKHJlcylcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZmFpbChyZXMpe1xyXG4gICAgICAgICAgICAgICAgZmFpbChyZXMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRHYW1lSW5mbzogZnVuY3Rpb24obm9kZSl7XHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgdmFyIG5vZGVzID0gbm9kZTtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgJ2FwcGlkJzogd2luZG93Lmdsb2JhbERhdGEuYXBwaWRcclxuICAgICAgICB9XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmdldFVzZXJJbmZvVXJsLCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyA9IHJlcy5kYXRhLmtpbmdfdXNlcjsgIC8vdXNlcl9pZOWcqOi/memHjFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIuaLv+WIsOacjeWKoeWZqOeahOS/oeaBr1wiLHJlcy5kYXRhKTtcclxuXHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mbyl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIuiOt+W+l+acjeWKoeWZqOa4uOaIj+S/oeaBr+aIkOWKnzpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8pO1xyXG4gICAgICAgICAgICAgICAgaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18xKVxyXG4gICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8udW5sb2NrXzEgPSB3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udW5sb2NrXzE7XHJcbiAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51bmxvY2tfMilcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLnVubG9ja18yID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVubG9ja18yO1xyXG4gICAgICAgICAgICAvL+WmguaenOacjeWKoeWZqOaciemHkeW4geS/oeaBr1xyXG4gICAgICAgICAgICBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uY29pbil7XHJcbiAgICAgICAgICAgICAgICAvL+acrOWcsOS5n+aciemHkeW4geS/oeaBrywg5Lul5pys5Zyw5Li65Li7LOaKiuacrOWcsOmHkeW4geS/oeaBr+WQjOatpeWIsOacjeWKoeWZqFxyXG4gICAgICAgICAgICAgICAgaWYoU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcIkNvaW5cIikpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5jb2luICE9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gICAvL+WmguaenOacrOWcsOayoeaciemHkeW4geS/oeaBryAsIOS7peacjeWKoeWZqOmHkeW4geS/oeaBr+S4uuS4u1xyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5jb2luID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmNvaW47XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgLy/mnKzlnLDkuZ/mnInph5HluIHkv6Hmga8sIOS7peacrOWcsOS4uuS4uyzmiormnKzlnLDph5HluIHkv6Hmga/lkIzmraXliLDmnI3liqHlmahcclxuICAgICAgICAgICAgICAgIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LkdNX0lORk8uY29pbiA9IFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJDb2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiQ29pblwiLHdpbmRvdy5HTV9JTkZPLmNvaW4pO1xyXG4gICAgICAgICAgICAgICAgfSAgIC8v5aaC5p6c5pys5Zyw5rKh5pyJ6YeR5biB5L+h5oGvICwg5Lul5pyN5Yqh5Zmo6YeR5biB5L+h5oGv5Li65Li7XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmNvaW4gPSAyMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcIkNvaW5cIix3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKCdHYW1lQmVnaW4nKTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLljbPlsIbov5vlhaXov5nph4xcIik7XHJcbiAgICAgICAgICAgIC8vIGlmKFN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoXCJsZXZlbFwiKSl7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOacieetiee6p+S/oeaBrztcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacjeWKoeWZqOS/oeaBr+etiee6p+S4ujpcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ubGV2ZWwpO1xyXG4gICAgICAgICAgICAvLyAgICAgd2luZG93LkdNX0lORk8ubGV2ZWwgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwibGV2ZWxcIik7XHJcbiAgICAgICAgICAgIC8vICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIuacrOWcsOetiee6p+S/oeaBr+S4ujpcIix3aW5kb3cuR01fSU5GTy5sZXZlbCk7XHJcbiAgICAgICAgICAgIC8vICAgICAvL+acrOWcsOWtmOWCqOetiee6pyDlsI/kuo7mnI3liqHlmajnrYnnuqcsIOetieS6juacrOWcsOaVsOaNruS4ouWksSzov5nml7bku6XmnI3liqHlmajmlbDmja7kuLrkuLvph43mlrDmnoTlu7rmuLjmiI9cclxuICAgICAgICAgICAgLy8gICAgIGlmKHdpbmRvdy5HTV9JTkZPLmxldmVsIDwgd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKXtcclxuICAgICAgICAgICAgLy8gICAgICAgICAvLyBub2Rlcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxldmVsID0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICB3aW5kb3cuR2FtZVRvb2wucmVzZXQoKTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIC8v5q2j5bi46L+b5YWl5ri45oiPLOS7peacrOWcsOaVsOaNruS4uuS4uyzmnI3liqHlmajmlbDmja7kuLrovoVcclxuICAgICAgICAgICAgLy8gICAgIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgY29uc29sZS5sb2coXCLmnKzlnLDmlbDmja7lpKfku6XmnKzlnLDkuLvmlbDmja7kuLrkuLtcIik7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgLy8gd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKHRydWUpO1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIuesqOWcsOayoeetiee6p+aVsOaNrlwiKTtcclxuICAgICAgICAgICAgLy8gICAgIC8vIG5vZGVzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICB3aW5kb3cuR01fSU5GTy5sZXZlbCA9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbDtcclxuICAgICAgICAgICAgLy8gICAgIHZhciB0ZW1wID0gd2luZG93LkdhbWVUb29sLnN1Ym1pdFNjb3JlQnV0dG9uRnVuYyh3aW5kb3cuR01fSU5GTy5sZXZlbCx3aW5kb3cuR01fSU5GTy5jb2luKTtcclxuICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5HYW1lVG9vbC5yZXNldCgpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGlmIChDQ19XRUNIQVRHQU1FKSB7XHJcbiAgICAgICAgICAgICAgICB3eC5vblNob3coZnVuY3Rpb24ocmVzKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMucXVlcnkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCLliIbkuqvkuK3luKbnmoTkv6Hmga9cIixyZXMucXVlcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEhlbHAocmVzLnF1ZXJ5LmtleTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzLnF1ZXJ5LmtleTIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5zZXRGcmluZEJsb2NrKHJlcy5xdWVyeS5rZXkyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlcy5xdWVyeS5rZXkzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuR2FtZVRvb2wuc2V0RnJpbmRCbG9ja01heChyZXMucXVlcnkua2V5Myk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHd4Lm9uSGlkZShmdW5jdGlvbihyZXMpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5qOA5rWL6YCA5Ye65ri45oiPXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbmRvdy5hcm0gPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmb3IodmFyIGk9MDsgaTwxMjsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgd2luZG93LmFybVtpXSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHdpbmRvdy5hcm1baV0gPSB7ZXJyb3I6XCJlcnJvclwifTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2luZG93LmFybSA9IFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJhcm1cIix3aW5kb3cuYXJtKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdGVtcCA9IHdpbmRvdy5HYW1lVG9vbC5zdWJtaXRTY29yZUJ1dHRvbkZ1bmMod2luZG93LkdNX0lORk8ubGV2ZWwsd2luZG93LkdNX0lORk8uY29pbik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLnNldEdhbWVJbmZvKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5ou/5Yiw5pyN5Yqh5Zmo5L+h5oGv5aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0sZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJnZXTnlKjmiLfkv6Hmga/lpLHotKVcIixyZXMpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfSxcclxuICAgIC8v5qC55o2u5pyN5Yqh5Zmo5pWw5o2u6YeN572u5omA6ZyA6KaB5omA5pyJ5pWw5o2uXHJcbiAgICByZXNldDogZnVuY3Rpb24oKXtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYXJtKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiYXJtXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmFybSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikgXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJjb2luXCIscGFyc2VJbnQod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJpY2hlc3RfY29pbikpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5kaW1vbmQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJkaW1vbmRcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uYnV5X3RpbWUpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJidXlfVGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5idXlfdGltZSk7XHJcbiAgICAgICAgLy8gaWYod2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmRpbW9uZF90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwiZGltb25kX1RpbWVcIix3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8uZGltb25kX3RpbWUpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZXZlbClcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxldmVsXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLmxldmVsKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8udG90YWxfU3BlZWQpXHJcbiAgICAgICAgLy8gICAgIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJ0b3RhbF9TcGVlZFwiLHBhcnNlSW50KHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby50b3RhbF9TcGVlZCkpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5sZWF2ZV90aW1lKTtcclxuICAgICAgICAvLyBpZih3aW5kb3cuZ2xvYmFsRGF0YS5nYW1lVXNlckluZm8ucmV3YXJkMSlcclxuICAgICAgICAvLyAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcInNoYXJlX0FycmF5XCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDEpO1xyXG4gICAgICAgIC8vIGlmKHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby5yZXdhcmQyKVxyXG4gICAgICAgIC8vICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwic2hhcmVfMTAwXCIsd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnJld2FyZDIpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoXCJHTV9JTkZPXCIsd2luZG93LkdNX0lORk8pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi5pys5Zyw5pWw5o2u5Lii5aSxLOmHjeaWsOWQr+WKqOa4uOaIj1wiKTtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoJ0xvYWRTY2VuZScpO1xyXG4gICAgfSxcclxuXHJcbiAgICBzZXRHYW1lSW5mbzogZnVuY3Rpb24ocGQpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAvLyBcInJpY2hlc3RfY29pblwiOndpbmRvdy5jb2luK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwiYXJtXCI6d2luZG93LmFybSxcclxuICAgICAgICAgICAgLy8gXCJidXlfdGltZVwiOndpbmRvdy5idXlfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRcIjpwYXJzZUludCh3aW5kb3cuZGltb25kKSxcclxuICAgICAgICAgICAgLy8gXCJkaW1vbmRfdGltZVwiOndpbmRvdy5kaW1vbmRfVGltZSxcclxuICAgICAgICAgICAgLy8gXCJsZXZlbFwiOndpbmRvdy5HTV9JTkZPLmxldmVsLFxyXG4gICAgICAgICAgICAvLyBcInRvdGFsX3NwZWVkXCI6d2luZG93LnRvdGFsX1NwZWVkK1wiXCIsXHJcbiAgICAgICAgICAgIC8vIFwicmV3YXJkXzFcIjp3aW5kb3cuR01fSU5GTy5zaGFyZV9BcnJheSwgICAgICAvL+eUqOS6juWtmOWCqDbkuKrnuqLljIXnmoTpooblj5bkv6Hmga9cclxuICAgICAgICAgICAgLy8gXCJyZXdhcmRfMlwiOndpbmRvdy5zaGFyZV8xMDAgICAgICAgICAgICAgICAgIC8v55So5LqO5a2Y5YKoMTAw5Liq57qi5YyF55qE6aKG5Y+W5L+h5oGvXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5a2Y5YKo5LmL5YmN5qOA5rWLOlwiLHdpbmRvdy5hcm0sYXJtcyk7XHJcbiAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLnJpY2hlc3QsIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ+WtmOWCqHVzZXJJbmZv5oiQ5YqfJywgcmVzKTtcclxuICAgICAgICAgICAgaWYoIXBkKXtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5HTV9JTkZPLmxlYXZlX3RpbWUgPSByZXMuZGF0YS5sZWF2ZV90aW1lO1xyXG4gICAgICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcImxlYXZlX3RpbWVcIix3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LGZ1bmN0aW9uKHJlcyl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCflrZjlgqh1c2VySW5mb+Wksei0pScsIHJlcyk7XHJcbiAgICAgICAgICAgIGlmKCFwZCl7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuR01fSU5GTy5sZWF2ZV90aW1lID0gcGFyc2VJbnQobmV3IERhdGUoKS52YWx1ZU9mKCkvMTAwMCk7XHJcbiAgICAgICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwibGVhdmVfdGltZVwiLGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcblxyXG5cclxuICAgIC8v6L6T5YWl56eSLOi/lOWbnumcgOimgeWxleekuuaXtumXtOagvOW8j1xyXG4gICAgZ2V0VGltZU1hcmdpbjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyArIGhvdXIgKyAnOicgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRUaW1lTWFyZ2luMjooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodG90YWwgLyAoNjAgKiA2MCkpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoYWZ0ZXJIb3VyIC8gNjApOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgaWYobWluIDwgMTApIG1pbiA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBhZnRlck1pbiA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuICfliankvZk6JyAgKyBtaW4gKyAnOicgKyBhZnRlck1pblxyXG4gICAgfSxcclxuXHJcbiAgICBzZXRGcmluZEJsb2NrOiBmdW5jdGlvbih1c2VyaWQpe1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5re75Yqg5pe25YCZ55qEdXNlcmlkXCIpO1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICB1c2VyX2lkOnVzZXJpZFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZih1c2VyaWQgIT0gd2luZG93Lmdsb2JhbERhdGEuZ2FtZVVzZXJJbmZvLnVzZXJfaWQpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIui/m+WIhuS6q+eahOS4jeaYr+iHquW3sVwiKTtcclxuICAgICAgICAgICAgLy8ge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LkdhbWVUb29sLmh0dHBSZXF1ZXN0KHdpbmRvdy5nbG9iYWxEYXRhLmVudHJ5QmxvY2ssIGRhdGEsIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg57qi5YyF5Yqp5Yqb5L+h5oGv5oiQ5YqfJywgcmVzKVxyXG4gICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfmt7vliqDnuqLljIXliqnlipvkv6Hmga/lpLHotKUnLCByZXMpXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGVsc2V7XHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUubG9nKFwi6L+b5YWl5YiG5Lqr55qE5piv6Ieq5bexXCIpO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy8gc2V0RnJpbmRCbG9ja01heDogZnVuY3Rpb24odXNlcmlkKXtcclxuICAgIC8vICAgICAvLyBjb25zb2xlLmxvZyhcIua3u+WKoOaXtuWAmeeahHVzZXJpZFwiKTtcclxuICAgIC8vICAgICBsZXQgZGF0YSA9IHtcclxuICAgIC8vICAgICAgICAgdXNlcl9pZDp1c2VyaWRcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLy8gaWYodXNlcmlkICE9IHdpbmRvdy5nbG9iYWxEYXRhLmdhbWVVc2VySW5mby51c2VyX2lkKXtcclxuICAgIC8vICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vliIbkuqvnmoTkuI3mmK/oh6rlt7FcIik7XHJcbiAgICAvLyAgICAgICAgIC8vIHtcclxuICAgIC8vICAgICAgICAgICAgIHdpbmRvdy5HYW1lVG9vbC5odHRwUmVxdWVzdCh3aW5kb3cuZ2xvYmFsRGF0YS5lbnRyeUJsb2NrTWF4LCBkYXRhLCBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+a3u+WKoOacgOWQjueahOWlveWPi+S/oeaBr+aIkOWKnycsIHJlcylcclxuICAgIC8vICAgICAgICAgICAgIH0sIGZ1bmN0aW9uIChyZXMpIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygn5re75Yqg5pyA5ZCO55qE5aW95Y+L5L+h5oGv5L+h5oGv5aSx6LSlJywgcmVzKVxyXG4gICAgLy8gICAgICAgICAgICAgfSlcclxuICAgIC8vICAgICAgICAgLy8gfVxyXG4gICAgLy8gICAgIC8vIH1cclxuICAgIC8vICAgICAvLyBlbHNle1xyXG4gICAgLy8gICAgIC8vICAgICBjb25zb2xlLmxvZyhcIui/m+WFpeWIhuS6q+eahOaYr+iHquW3sVwiKTtcclxuICAgIC8vICAgICAvLyB9XHJcbiAgICAvLyB9LFxyXG5cclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBtYXggPSBtYXggfHwgMTtcclxuICAgICAgICBtaW4gPSBtaW4gfHwgMDtcclxuICAgICAgICBHTV9JTkZPLmN1cnJTZWVkID0gKEdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBHTV9JTkZPLmN1cnJTZWVkIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+WwhuaXtumXtOi9rOaNouS4ujU5OjIzXHJcbiAgICBnZXRUaW1lOiBmdW5jdGlvbih0aW1lKXtcclxuICAgICAgICB2YXIgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIHZhciBudW1iZXJfMSA9IHBhcnNlSW50KHRpbWUvNjApO1xyXG4gICAgICAgIHZhciBudW1iZXJfMiA9IHRpbWUtbnVtYmVyXzEqNjA7XHJcbiAgICAgICAgaWYobnVtYmVyXzEgPCAxMCl7XHJcbiAgICAgICAgICAgIG51bWJlcl8xID0gXCIwXCIrbnVtYmVyXzE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG51bWJlcl8yIDwgMTApe1xyXG4gICAgICAgICAgICBudW1iZXJfMiA9IFwiMFwiK251bWJlcl8yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCA9IG51bWJlcl8xICsgXCI6XCIgKyBudW1iZXJfMjtcclxuXHJcbiAgICAgICAgcmV0dXJuIGxhYmVsO1xyXG4gICAgfSxcclxuICAgIC8vbnVtYmVyIOS4uuS8oOi/m+adpeeahOaVsOWAvCx0eXBl5Li65pyA5aSa5pi+56S65Yeg5L2N5pWwXHJcbiAgICBnZXROdW1iZXI6IGZ1bmN0aW9uKG51bWJlcix0eXBlKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0eXBlLFwi6ZyA6KaB6L2s5o2i55qE5pWw5a2X5Li6OlwiLG51bWJlcik7XHJcbiAgICAgICAgdmFyIGNvdW50ID0gMTAwMDtcclxuICAgICAgICB2YXIgcGxhY2UgPSB0eXBlIC0gMztcclxuICAgICAgICBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw4KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsOCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkqMTApLzEwK1wiU1wiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsOCkpK1wiU1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDcpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSoxMCkvMTArXCJzXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCw3KSkrXCJzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsNikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDYpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKjEwKS8xMCtcIlFcIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDYpKStcIlFcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw1KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNSkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkqMTApLzEwK1wicVwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNSkpK1wicVwiO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCw0KSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsNCkgPCAxMDApXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkqMTApLzEwK1widFwiO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsNCkpK1widFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bWJlciA+IE1hdGgucG93KGNvdW50LDMpKk1hdGgucG93KDEwLHBsYWNlKSl7XHJcbiAgICAgICAgICAgIGlmKG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSA8IDEwMClcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSoxMCkvMTArXCJiXCI7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIG51bWJlciA9IHBhcnNlSW50KG51bWJlci9NYXRoLnBvdyhjb3VudCwzKSkrXCJiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtYmVyID4gTWF0aC5wb3coY291bnQsMikqTWF0aC5wb3coMTAscGxhY2UpKXtcclxuICAgICAgICAgICAgaWYobnVtYmVyL01hdGgucG93KGNvdW50LDIpIDwgMTAwKVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKjEwKS8xMCtcIm1cIjtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDIpKStcIm1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW1iZXIgPiBNYXRoLnBvdyhjb3VudCwxKSpNYXRoLnBvdygxMCxwbGFjZSkpe1xyXG4gICAgICAgICAgICBpZihudW1iZXIvTWF0aC5wb3coY291bnQsMSkgPCAxMDApe1xyXG4gICAgICAgICAgICAgICAgbnVtYmVyID0gcGFyc2VJbnQobnVtYmVyL01hdGgucG93KGNvdW50LDEpKjEwKS8xMCtcImtcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMSkpK1wia1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBudW1iZXIgPSBwYXJzZUludChudW1iZXIvTWF0aC5wb3coY291bnQsMCkpK1wiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi57uT5p6c5Li6XCIrdHlwZStcIuS9jeaVsFwiLG51bWJlcik7XHJcbiAgICAgICAgcmV0dXJuIG51bWJlcjtcclxuICAgIH0sXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIGJlZ2FpblRpbWluZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBlbmRUaW1pbmc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZW5kVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuX2VuZFRpbWUgPSBlbmRUaW1lO1xyXG4gICAgICAgIHRoaXMuX3RvdGFsVGltZSA9IGVuZFRpbWUgLSB0aGlzLl9zdGFydFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNjb3JlVGltZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBlbmRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgbGV0IHRlbXBUaW1lID0gZW5kVGltZSAtIHRoaXMuX3N0YXJ0VGltZTtcclxuICAgICAgICBpZiAodGVtcFRpbWUgPCAwIHx8IHRlbXBUaW1lID4gNTAwKSB7XHJcbiAgICAgICAgICAgIHRlbXBUaW1lID0gTWF0aC5yb3VuZChjYy5kaXJlY3Rvci5nZXRBbmltYXRpb25JbnRlcnZhbCgpICogMTAwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEdNX0lORk8uY3VyclNjb3JlICs9IHRlbXBUaW1lO1xyXG4gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IGVuZFRpbWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldEZvcm1hdFRpbWU6IGZ1bmN0aW9uICh0aW1lKSB7XHJcblxyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBkYXRlLnNldFRpbWUodGltZSk7XHJcblxyXG4gICAgICAgIGxldCBtcyA9IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgICAgLy8gbGV0IG1zU3RyaW5nID0gZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTtcclxuICAgICAgICBsZXQgbXNTdHJpbmcgPSBwYXJzZUludChtcyAvIDEwKSAlIDEwMDtcclxuXHJcbiAgICAgICAgbGV0IHNlY29uZFN0cmluZyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xyXG5cclxuICAgICAgICBsZXQgbWluU3RyaW5nID0gZGF0ZS5nZXRNaW51dGVzKCk7XHJcblxyXG4gICAgICAgIGlmIChtc1N0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1zU3RyaW5nID0gXCIwXCIgKyBtc1N0cmluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNlY29uZFN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHNlY29uZFN0cmluZyA9IFwiMFwiICsgc2Vjb25kU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWNvbmRTdHJpbmcgPSBzZWNvbmRTdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgaWYgKG1pblN0cmluZyA8IDEwKSB7XHJcbiAgICAgICAgICAgIG1pblN0cmluZyA9IFwiMFwiICsgbWluU3RyaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtaW5TdHJpbmcgPSBtaW5TdHJpbmcgKyBcIjpcIjtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1pblN0cmluZyArIHNlY29uZFN0cmluZyArIG1zU3RyaW5nO1xyXG5cclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07Il19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/CtrlFluxayTexture.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'b48a2ukFF1FlJGSkUcHUIET', 'CtrlFluxayTexture'); -// Script/CtrlFluxayTexture.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: { - m_delayTime: { - "default": 0 - }, - m_fluxayTime: { - "default": 1 - }, - m_intervalTime: { - "default": 1 - }, - m_scale: { - "default": 1 - }, - m_angle: { - "default": 0 - }, - m_reviseStartTime: { - "default": 0 - }, - m_reviseTimeScale: { - "default": 1 - } - }, - ctor: function ctor() { - this._time = 0; - }, - onLoad: function onLoad() { - this._time -= this.m_delayTime; - var sprite = this.node.getComponent(cc.Sprite); - this._material = sprite.getMaterial(0); - - this._material.setProperty("u_scale", this.m_scale); - - this._material.setProperty("u_angle", this.m_angle); - - this.refreshSpriteFrameData(); - }, - update: function update(dt) { - if (this._time > this.m_fluxayTime + this.m_intervalTime) { - this._time = 0; - } - - var u_time = this._time / this.m_fluxayTime; - - if (this._time > this.m_fluxayTime) { - u_time = 1 + (this._time - this.m_fluxayTime) / this.m_intervalTime; - } - - if (this.m_reviseTimeScale != null && this.m_reviseStartTime != null) { - u_time = u_time / this.m_reviseTimeScale; - u_time -= this.m_reviseStartTime; - } - - this._material.setProperty("u_time", u_time); - - this._time += dt; - }, - refreshSpriteFrameData: function refreshSpriteFrameData() { - var sprite = this.node.getComponent(cc.Sprite); - var material = sprite.getMaterial(0); - var frame = sprite.spriteFrame; - - if (frame != null) { - // xMin - var l = frame.uv[0]; // xMax - - var r = frame.uv[6]; // yMax - - var b = frame.uv[3]; // yMin - - var t = frame.uv[5]; // 纹理在合图中的四个边界 uv 坐标 - - var u_uvOffset = new cc.Vec4(l, t, r, b); // 纹理是否旋转 - - var u_uvRotated = frame.isRotated() ? 1.0 : 0.0; // 设置材质的属性 - - if (material.getProperty("u_uvOffset") !== undefined) { - material.setProperty("u_uvOffset", u_uvOffset); - } - - if (material.getProperty("u_uvRotated") !== undefined) { - material.setProperty("u_uvRotated", u_uvRotated); - } - } - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDdHJsRmx1eGF5VGV4dHVyZS5qcyJdLCJuYW1lcyI6WyJjYyIsIkNsYXNzIiwiQ29tcG9uZW50IiwicHJvcGVydGllcyIsIm1fZGVsYXlUaW1lIiwibV9mbHV4YXlUaW1lIiwibV9pbnRlcnZhbFRpbWUiLCJtX3NjYWxlIiwibV9hbmdsZSIsIm1fcmV2aXNlU3RhcnRUaW1lIiwibV9yZXZpc2VUaW1lU2NhbGUiLCJjdG9yIiwiX3RpbWUiLCJvbkxvYWQiLCJzcHJpdGUiLCJub2RlIiwiZ2V0Q29tcG9uZW50IiwiU3ByaXRlIiwiX21hdGVyaWFsIiwiZ2V0TWF0ZXJpYWwiLCJzZXRQcm9wZXJ0eSIsInJlZnJlc2hTcHJpdGVGcmFtZURhdGEiLCJ1cGRhdGUiLCJkdCIsInVfdGltZSIsIm1hdGVyaWFsIiwiZnJhbWUiLCJzcHJpdGVGcmFtZSIsImwiLCJ1diIsInIiLCJiIiwidCIsInVfdXZPZmZzZXQiLCJWZWM0IiwidV91dlJvdGF0ZWQiLCJpc1JvdGF0ZWQiLCJnZXRQcm9wZXJ0eSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFHTEMsRUFBQUEsVUFBVSxFQUFFO0FBQ1JDLElBQUFBLFdBQVcsRUFBRTtBQUNULGlCQUFTO0FBREEsS0FETDtBQUlSQyxJQUFBQSxZQUFZLEVBQUU7QUFDVixpQkFBUztBQURDLEtBSk47QUFPUkMsSUFBQUEsY0FBYyxFQUFFO0FBQ1osaUJBQVM7QUFERyxLQVBSO0FBVVJDLElBQUFBLE9BQU8sRUFBRTtBQUNMLGlCQUFTO0FBREosS0FWRDtBQWFSQyxJQUFBQSxPQUFPLEVBQUU7QUFDTCxpQkFBUztBQURKLEtBYkQ7QUFnQlJDLElBQUFBLGlCQUFpQixFQUFDO0FBQ2QsaUJBQVM7QUFESyxLQWhCVjtBQW1CUkMsSUFBQUEsaUJBQWlCLEVBQUM7QUFDZCxpQkFBUztB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QXdDQyxTQUEzQyxFQUNBO0FBQ0liLFFBQUFBLFFBQVEsQ0FBQ0wsV0FBVCxDQUFxQixhQUFyQixFQUFvQ2UsV0FBcEM7QUFDSDtBQUNKO0FBQ0o7QUExRkksQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXG5jYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuXG4gICAgcHJvcGVydGllczoge1xuICAgICAgICBtX2RlbGF5VGltZToge1xuICAgICAgICAgICAgZGVmYXVsdDogMCwgXG4gICAgICAgIH0sXG4gICAgICAgIG1fZmx1eGF5VGltZToge1xuICAgICAgICAgICAgZGVmYXVsdDogMSwgXG4gICAgICAgIH0sXG4gICAgICAgIG1faW50ZXJ2YWxUaW1lOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAxLCBcbiAgICAgICAgfSxcbiAgICAgICAgbV9zY2FsZToge1xuICAgICAgICAgICAgZGVmYXVsdDogMSwgXG4gICAgICAgIH0sXG4gICAgICAgIG1fYW5nbGU6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsIFxuICAgICAgICB9LFxuICAgICAgICBtX3JldmlzZVN0YXJ0VGltZTp7XG4gICAgICAgICAgICBkZWZhdWx0OiAwLCBcbiAgICAgICAgfSxcbiAgICAgICAgbV9yZXZpc2VUaW1lU2NhbGU6e1xuICAgICAgICAgICAgZGVmYXVsdDogMSwgXG4gICAgICAgIH0sXG4gICAgfSxcblxuICAgIGN0b3IoKXtcbiAgICAgICAgdGhpcy5fdGltZSA9IDA7XG4gICAgfSxcbiAgICBvbkxvYWQgKCkge1xuICAgICAgICB0aGlzLl90aW1lIC09IHRoaXMubV9kZWxheVRpbWU7XG5cbiAgICAgICAgbGV0IHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcbiAgICAgICAgdGhpcy5fbWF0ZXJpYWwgPSBzcHJpdGUuZ2V0TWF0ZXJpYWwoMCk7XG4gICAgICAgIHRoaXMuX21hdGVyaWFsLnNldFByb3BlcnR5KFwidV9zY2FsZVwiLCB0aGlzLm1fc2NhbGUpO1xuICAgICAgICB0aGlzLl9tYXRlcmlhbC5zZXRQcm9wZXJ0eShcInVfYW5nbGVcIiwgdGhpcy5tX2FuZ2xlKTtcblxuICAgICAgICB0aGlzLnJlZnJlc2hTcHJpdGVGcmFtZURhdGEoKTtcbiAgICB9LFxuXG4gICAgdXBkYXRlKGR0KSB7XG4gICAgICAgIGlmICh0aGlzLl90aW1lID4gKHRoaXMubV9mbHV4YXlUaW1lICsgdGhpcy5tX2ludGVydmFsVGltZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbWUgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHVfdGltZSA9IHRoaXMuX3RpbWUvdGhpcy5tX2ZsdXhheVRpbWU7XG4gICAgICAgIGlmKHRoaXMuX3RpbWUgPnRoaXMubV9mbHV4YXlUaW1lKVxuICAgICAgICB7XG4gICAgICAgICAgICB1X3RpbWUgPSAxKygodGhpcy5fdGltZS10aGlzLm1fZmx1eGF5VGltZSkvdGhpcy5tX2ludGVydmFsVGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYodGhpcy5tX3JldmlzZVRpbWVTY2FsZSAhPSBudWxsICYmIHRoaXMubV9yZXZpc2VTdGFydFRpbWUgIT0gbnVsbClcbiAgICAgICAge1xuICAgICAgICAgICAgdV90aW1lID0gdV90aW1lL3RoaXMubV9yZXZpc2VUaW1lU2NhbGU7XG4gICAgICAgICAgICB1X3RpbWUgLT0gdGhpcy5tX3JldmlzZVN0YXJ0VGltZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tYXRlcmlhbC5zZXRQcm9wZXJ0eShcInVfdGltZVwiLCB1X3RpbWUpO1xuICAgICAgICB0aGlzLl90aW1lICs9IGR0O1xuICAgIH0sXG5cbiAgICByZWZyZXNoU3ByaXRlRnJhbWVEYXRhKCl7XG4gICAgICAgIGxldCBzcHJpdGUgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XG4gICAgICAgIGxldCBtYXRlcmlhbCA9IHNwcml0ZS5nZXRNYXRlcmlhbCgwKTtcbiAgICAgICAgbGV0IGZyYW1lID0gc3ByaXRlLnNwcml0ZUZyYW1lO1xuXG4gICAgICAgIGlmKGZyYW1lICE9IG51bGwpXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vIHhNaW5cbiAgICAgICAgICAgIGxldCBsID0gZnJhbWUudXZbMF07XG4gICAgICAgICAgICAvLyB4TWF4XG4gICAgICAgICAgICBsZXQgciA9IGZyYW1lLnV2WzZdO1xuICAgICAgICAgICAgLy8geU1heFxuICAgICAgICAgICAgbGV0IGIgPSBmcmFtZS51dlszXTtcbiAgICAgICAgICAgIC8vIHlNaW5cbiAgICAgICAgICAgIGxldCB0ID0gZnJhbWUudXZbNV07XG4gICAgICAgICAgICAvLyDnurnnkIblnKjlkIjlm77kuK3nmoTlm5vkuKrovrnnlYwgdXYg5Z2Q5qCHXG4gICAgICAgICAgICBsZXQgdV91dk9mZnNldCA9IG5ldyBjYy5WZWM0KGwsIHQsIHIsIGIpO1xuICAgICAgICAgICAgLy8g57q555CG5piv5ZCm5peL6L2sXG4gICAgICAgICAgICBsZXQgdV91dlJvdGF0ZWQgPSBmcmFtZS5pc1JvdGF0ZWQoKSA/IDEuMCA6IDAuMDtcbiAgICAgICAgICAgIC8vIOiuvue9ruadkOi0qOeahOWxnuaAp1xuXG4gICAgICAgICAgICBpZihtYXRlcmlhbC5nZXRQcm9wZXJ0eShcInVfdXZPZmZzZXRcIikgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eShcInVfdXZPZmZzZXRcIiwgdV91dk9mZnNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihtYXRlcmlhbC5nZXRQcm9wZXJ0eShcInVfdXZSb3RhdGVkXCIpICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWF0ZXJpYWwuc2V0UHJvcGVydHkoXCJ1X3V2Um90YXRlZFwiLCB1X3V2Um90YXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0pO1xuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -7629,7 +6650,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Storage.js'; + var __filename = 'preview-scripts/assets/Script/RankManager.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -7637,41 +6658,209 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); -// Script/Storage.ts +cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.ts "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StorageMessage = void 0; -// var jequry = require("jquery"); -// var coinManager = require("coinManager"); -var StorageMessage = { - getStorage: function (key) { - var result = null; - if (cc.sys.localStorage.getItem(key)) { - var result = cc.sys.localStorage.getItem(key); - } - if (result) { - result = JSON.parse(result); - } - return result; - }, - setStorage: function (key, value) { - //主动拉起分享接口 - var temp = JSON.stringify(value); - cc.sys.localStorage.setItem(key, temp); - // debugger; - // var temp = cc.sys.localStorage.getItem(key); - // debugger; - }, - removeStorage: function (key) { - //主动删除消息接口 - if (cc.sys.localStorage.getItem(key)) { - cc.sys.localStorage.removeItem(key); - } - }, +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; }; -exports.StorageMessage = StorageMessage; +Object.defineProperty(exports, "__esModule", { value: true }); +var GameData_1 = require("./GameData"); +var List_1 = require("./ListView/List"); +var serverAPI_1 = require("./crypto/serverAPI"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Player = null; + _this.selfNode = null; + _this.phone = null; + return _this; + } + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { + this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; + this.listData = []; + this.selfData = null; + this.rankNumber = 100; + this.rankTotal = 100; + this.selfNode.opacity = 0; + }; + RankManager.prototype.start = function () { + this.Player.active = false; + this.getRank(); + }; + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var postData = { + "page": 1, + "pageSize": 100 + }; + //回调进getRankData + serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { + if (data) { + console.log(data); + this.listData = data.data.list; + this.selfData = data.data.info; + var rankData = []; + var self = false; + for (var i = 0; i <= this.listData.length - 1; i++) { + rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic }); + if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) { + self = true; + this.rankNumber = i; + this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; + } + if (i == (this.listData.length - 1) && self == false) { + this.rankNumber = i; + this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; + } + } + this.rankList.setData(rankData); + if (this.selfData.nickName.length > 6) { + this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "..."; + } + this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; + this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; + this.setPic(this.selfData.pic); + if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { + this.selfNode.getChildByName("rank").getChildByName("one").active = true; + } + else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") { + this.selfNode.getChildByName("rank").getChildByName("two").active = true; + } + else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") { + this.selfNode.getChildByName("rank").getChildByName("three").active = true; + } + else { + // this.selfNode.getChildByName("four").active = true; + } + this.selfNode.opacity = 255; + if (this.selfData.totalSunCount == 0) + this.selfNode.opacity = 0; + } + }; + //返回按钮 + RankManager.prototype.backClick = function () { + cc.director.loadScene("LoadScene"); + }; + //最上方用户动画 + RankManager.prototype.playerAction = function () { + var _this = this; + //-254 377 210 453 + this.Player.getChildByName("rank").active = false; + var time = 1; + this.tween = cc.tween(this.Player) + .to(2, { position: cc.v3(210, 453, 0) }) + .call(function () { + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }) + .start(); + time = (this.listData.length - this.rankNumber) / this.listData.length; + if (this.listData.length >= 99) { + if (this.rankNumber >= 99) { + time = (Math.random() * 49 + 1) / 100; + var matchId = cc.sys.localStorage.getItem("matchNumber"); + if (matchId == null || matchId == undefined) { + time = 0; + } + } + } + setTimeout(function () { + if (_this.tween) + _this.tween.stop(); + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }, time * 2000); + }; + //设置头像 + RankManager.prototype.setPic = function (pic) { + var _this = this; + this.phone.node.parent.getChildByName("icon").active = false; + this.phone.node.active = false; + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + if (errNo == "5093") { + _this.phone.node.parent.getChildByName("icon").active = true; + _this.Player.getChildByName("mask").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + console.error('Error fetching X-Info:', error); + }); + var self = this; + cc.assetManager.loadRemote(pic, { ext: '.jpg' }, function (err, texture) { + self.Player.opacity = 255; + if (texture) { + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + .spriteFrame = new cc.SpriteFrame(texture); + setTimeout(function () { + self.playerAction(); + }, 500); + } + else { + self.Player.getChildByName("mask").getChildByName("icon").active = true; + setTimeout(function () { + self.playerAction(); + }, 500); + } + }); + }; + __decorate([ + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); + __decorate([ + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); + __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ + ccclass + ], RankManager); + return RankManager; +}(cc.Component)); +exports.default = RankManager; cc._RF.pop(); } @@ -7684,5 +6873,311 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLGtDQUFrQztBQUNsQyw0Q0FBNEM7QUFDNUMsSUFBSSxjQUFjLEdBQUc7SUFDakIsVUFBVSxFQUFHLFVBQVMsR0FBRztRQUNyQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBRyxNQUFNLEVBQUM7WUFDUixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxVQUFVLEVBQUcsVUFBUyxHQUFHLEVBQUMsS0FBSztRQUMzQixVQUFVO1FBQ1YsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3RDLFlBQVk7UUFDWiwrQ0FBK0M7UUFDL0MsWUFBWTtJQUNoQixDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gdmFyIGplcXVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG4vLyB2YXIgY29pbk1hbmFnZXIgPSByZXF1aXJlKFwiY29pbk1hbmFnZXJcIik7XG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgLy8gdmFyIHRlbXAgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgfSxcbiAgICByZW1vdmVTdG9yYWdlIDogZnVuY3Rpb24oa2V5KXtcbiAgICAgIC8v5Li75Yqo5Yig6Zmk5raI5oGv5o6l5Y+jXG4gICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpXG4gICAgICB9XG4gICAgfSxcbn07XG5cbmV4cG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH07Il19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBa0M7QUFDbEMsd0NBQW1DO0FBQ25DLGdEQUEwQztBQUNwQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUM1QyxLQUFLO0FBRUw7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFvS0M7UUFsS0csWUFBTSxHQUFZLElBQUksQ0FBQztRQUV2QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFdBQUssR0FBYyxJQUFJLENBQUM7O0lBOEo1QixDQUFDO0lBdEpHLDRCQUFNLEdBQU47UUFDSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU87SUFDUCwwQkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRSxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxP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LENBQUMsQ0FBVSxRQUFROytDQUNiO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBVSxXQUFXO2lEQUNkO0lBRXpCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBUSxRQUFROzhDQUNaO0lBTlAsV0FBVztRQUQvQixPQUFPO09BQ2EsV0FBVyxDQW9LL0I7SUFBRCxrQkFBQztDQXBLRCxBQW9LQyxDQXBLd0MsRUFBRSxDQUFDLFNBQVMsR0FvS3BEO2tCQXBLb0IsV0FBVyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6MTAwXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICAgICAgdGhpcy5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9dGhpcy5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0aGlzLmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0aGlzLmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0aGlzLmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IHRoaXMubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwiOTkrXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZkRhdGEubmlja05hbWUubGVuZ3RoID4gNil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBpYyh0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID09IFwiMVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9PSBcIjJcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPT0gXCIzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwiZm91clwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57mjInpkq5cclxuICAgIGJhY2tDbGljaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5pyA5LiK5pa555So5oi35Yqo55S7XHJcbiAgICBwbGF5ZXJBY3Rpb24oKXtcclxuICAgICAgICAvLy0yNTQgMzc3ICAyMTAgNDUzXHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0aW1lID0gMTtcclxuICAgICAgICB0aGlzLnR3ZWVuID0gY2MudHdlZW4odGhpcy5QbGF5ZXIpXHJcbiAgICAgICAgLnRvKDIse3Bvc2l0aW9uOmNjLnYzKDIxMCw0NTMsMCl9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB0aW1lID0gKHRoaXMubGlzdERhdGEubGVuZ3RoIC0gdGhpcy5yYW5rTnVtYmVyKS90aGlzLmxpc3REYXRhLmxlbmd0aDtcclxuICAgICAgICBpZih0aGlzLmxpc3REYXRhLmxlbmd0aCA+PSA5OSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmFua051bWJlciA+PSA5OSl7XHJcbiAgICAgICAgICAgICAgICB0aW1lID0gKE1hdGgucmFuZG9tKCkqNDkrMSkvMTAwXHJcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoTnVtYmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYobWF0Y2hJZCA9PSBudWxsIHx8IG1hdGNoSWQgPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy50d2Vlbil0aGlzLnR3ZWVuLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKVxyXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSAgcGFyc2VJbnQodGltZSoxMDAgKyBcIlwiKSArIFwiJVwiO1xyXG4gICAgICAgIH0sIHRpbWUqMjAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgLy/orr7nva7lpLTlg49cclxuICAgIHB1YmxpYyBzZXRQaWMocGljKXtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLlBsYXllci5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGZldGNoKHBpYylcclxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUocGljLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgc2VsZi5QbGF5ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLm5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYucGhvbmUuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXHJcbiAgICAgICAgICAgICAgICAuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/AudioManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '971c4vub4BJpqrSCLPJ8g1V', 'AudioManager'); +// Script/AudioManager.js + +"use strict"; + +cc.Class({ + "extends": cc.Component, + properties: { + //背景音乐 + audioGameBgm0: { + "default": null, + type: cc.AudioClip + }, + // 按钮点击 + audioButtonClick: { + "default": null, + type: cc.AudioClip + }, + // 报警音效 + audioWarning: { + "default": null, + type: cc.AudioClip + }, + //游戏开始音效 + audioWin: { + "default": null, + type: cc.AudioClip + }, + reward: false, + finish: false, + rewardCount: 0 + }, + ctor: function ctor() { + this.mAudioMap = {}; + /** + * 默认音量大小 + * @type {number} + */ + + this.bgMusicVolume = 0.1; + this.effectMusicVolume = 1; + this.mMusicSwitch = 1; + this.mEffectSwitch = 1; + }, + play: function play(audioSource, loop, callback, isBgMusic) { + if (isBgMusic && !this.mMusicSwitch) return; + if (!isBgMusic && !this.mEffectSwitch) return; + var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; + + if (cc.sys.isBrowser) { + if (audioSource == this.brickSound) { + volume = 0.1; + } + + var context = cc.audioEngine.play(audioSource, loop, volume); + + if (callback) { + cc.audioEngine.setFinishCallback(context, function () { + callback.call(this); + }.bind(this)); + } + + this.mAudioMap[audioSource] = context; + return audioSource; + } else { + var context = wx.createInnerAudioContext(); + context.autoplay = true; + context.loop = loop; + context.obeyMuteSwitch = true; + context.volume = volume; + + if (callback) { + context.onEnded(function () { + callback.call(this); + }.bind(this)); + } else { + context.offEnded(); + } // var audioPath = cc.url.raw("resources/BallMaster/sounds" + audioSource.name + ".mp3"); + + + context.src = audioSource.nativeUrl; + context.play(); + this.mAudioMap[audioSource] = context; + return audioSource; + } + }, + save: function save() {// cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); + // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); + }, + onLoad: function onLoad() { + var _this = this; + + // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) { + // this.mMusicSwitch = parseInt(volume); + // }.bind(this), 1); + // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) { + // this.mEffectSwitch = parseInt(volume); + // }.bind(this), 1); + this.reward = false; + this.finish = false; + this.rewardCount = 0; + window.addEventListener('rewardCanUse', function () { + // 此时激励可用 游戏内部逻辑 + _this.reward = true; + }); + 'undefined' != typeof window['reward'] ? window.dispatchEvent(window['reward']) : ""; + this.preload(); + }, + preload: function preload() { + if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { + return; + } + + var musics = [this.audioGameBgm0]; + musics.forEach(function (path) {// var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; + // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { + // cc.loader.load(musicPath, function(err, remoteUrl) { + // if (err) { + // cc.error(err.message || err); + // return; + // } + // }); + // } + }); + }, + getAudioMusicSwitch: function getAudioMusicSwitch() { + return this.mMusicSwitch; + }, + getAudioEffectSwitch: function getAudioEffectSwitch() { + return this.mEffectSwitch; + }, + trunAudioSound: function trunAudioSound(on) { + this.switchMusic(on); + this.switchEffect(on); + }, + switchMusic: function switchMusic(on) { + if (this.mMusicSwitch != (on ? 1 : 0)) { + this.mMusicSwitch = 1 - this.mMusicSwitch; // this.save(); + } + + if (on) { + this.playMusicGame(); + } else { + this.stopMusic(); + } + }, + switchEffect: function switchEffect(on) { + if (this.mEffectSwitch != (on ? 1 : 0)) { + this.mEffectSwitch = 1 - this.mEffectSwitch; // this.save(); + } + }, + onHide: function onHide() { + cc.audioEngine.pauseAll(); // if (CC_JSB) { + // } else { + // for (var key in this.mAudioMap) { + // if (key === this.mMusicKey) { + // this.mAudioMap[key].pause(); + // } else { + // this.mAudioMap[key].stop(); + // } + // } + // } + }, + onShow: function onShow() { + cc.audioEngine.resumeAll(); // if (CC_JSB) { + // } else { + // if (!this.mMusicSwitch) return; + // var context = this.mAudioMap[this.mMusicKey]; + // if (context) { + // context.play(); + // } + // } + }, + playMusic: function playMusic(key, callback, loop) { + loop = typeof loop == 'undefined' || loop ? true : false; + this.stopMusic(); + this.mMusicKey = this.play(key, loop, callback, true); + }, + + /** + * 游戏背景音乐 + */ + playMusicGame: function playMusicGame() { + this.playMusic(this.audioGameBgm0); + }, + + /** + * 停止背景音乐播放 + */ + stopMusic: function stopMusic() { + // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); + var context = this.mAudioMap[this.mMusicKey]; + + if (typeof context != 'undefined') { + if (cc.sys.isBrowser) { + cc.audioEngine.stop(context); + } else { + context.stop(); + } + + cc.audioEngine.stop(context); + } + }, + // 炸弹、火箭爆炸音效 + playBomb: function playBomb() { + return this.play(this.audioBomb, false); + }, + //激光音效 + playJiGuang: function playJiGuang() { + return this.play(this.audioJiGuang, false); + }, + //技能音效 + playItem1: function playItem1() { + return this.play(this.audioItem1, false); + }, + + /* + * 游戏开始音效 + * + */ + playGameStart: function playGameStart() { + return this.play(this.audioGameStart, false); + }, + + /* + * 失败的游戏结束 + */ + playGameOver: function playGameOver() { + return this.play(this.audioGameOver, false); + }, + + /* + * 成功的游戏结束 + */ + playGameResultFailed: function playGameResultFailed() { + return this.play(this.audioGameResultFail, false); + }, + + /* + * 成功的游戏结束 + */ + playGameResultSuccess: function playGameResultSuccess() { + return this.play(this.audioGameResultSuccess, false); + }, + + /** + * 报警的音效 + */ + playWarning: function playWarning() { + return this.play(this.audioWarning, false); + }, + playWin: function playWin() { + return this.play(this.audioWin, false); + }, + + /* + * 方块碰撞的声音 + */ + playBrick: function playBrick() { + return this.play(this.brickSound, false); + }, + //方块破碎的声音 + brickBoom: function brickBoom() { + return this.play(this.audioObj, false); + }, + + /** + * 按钮 + */ + playAudioButton: function playAudioButton() { + return this.play(this.audioButtonClick, false); + }, + playRandomMatch: function playRandomMatch() { + this.playMusic(this.randomMatchSound); + }, + playMatchFoundSound: function playMatchFoundSound() { + this.stopMusic(); + return this.play(this.matchFoundSound, false); + } +}); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxBdWRpb01hbmFnZXIuanMiXSwibmFtZXMiOlsiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJhdWRpb0dhbWVCZ20wIiwidHlwZSIsIkF1ZGlvQ2xpcCIsImF1ZGlvQnV0dG9uQ2xpY2siLCJhdWRpb1dhcm5pbmciLCJhdWRpb1dpbiIsInJld2FyZCIsImZpbmlzaCIsInJld2FyZENvdW50IiwiY3RvciIsIm1BdWRpb01hcCIsImJnTXVzaWNWb2x1bWUiLCJlZmZlY3RNdXNpY1ZvbHVtZSIsIm1NdXNpY1N3aXRjaCIsIm1FZmZlY3RTd2l0Y2giLCJwbGF5IiwiYXVkaW9Tb3VyY2UiLCJsb29wIiwiY2FsbGJhY2siLCJpc0JnTXVzaWMiLCJ2b2x1bWUiLCJzeXMiLCJpc0Jyb3dzZXIiLCJicmlja1NvdW5kIiwiY29udGV4dCIsImF1ZGlvRW5naW5lIiwic2V0RmluaXNoQ2FsbGJhY2siLCJjYWxsIiwiYmluZCIsInd4IiwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLCJhdXRvcGxheSIsIm9iZXlNdXRlU3dpdGNoIiwib25FbmRlZCIsIm9mZkVuZGVkIiwic3JjIiwibmF0aXZlVXJsIiwic2F2ZSIsIm9uTG9hZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNwYXRjaEV2ZW50IiwicHJlbG9hZCIsInBsYXRmb3JtIiwiV0VDSEFUX0dBTUUiLCJtdXNpY3MiLCJmb3JFYWNoIiwicGF0aCIsImdldEF1ZGlvTXVzaWNTd2l0Y2giLCJnZXRBdWRpb0VmZmVjdFN3aXRjaCIsInRydW5BdWRpb1NvdW5kIiwib24iLCJzd2l0Y2hNdXNpYyIsInN3aXRjaEVmZmVjdCIsInBsYXlNdXNpY0dhbWUiLCJzdG9wTXVzaWMiLCJvbkhpZGUiLCJwYXVzZUFsbCIsIm9uU2hvdyIsInJlc3VtZUFsbCIsInBsYXlNdXNpYyIsImtleSIsIm1NdXNpY0tleSIsInN0b3AiLCJwbGF5Qm9tYiIsImF1ZGlvQm9tYiIsInBsYXlKaUd1YW5nIiwiYXVkaW9KaUd1YW5nIiwicGxheUl0ZW0xIiwiYXVkaW9JdGVtMSIsInBsYXlHYW1lU3RhcnQiLCJhdWRpb0dhbWVTdGFydCIsInBsYXlHYW1lT3ZlciIsImF1ZGlvR2FtZU92ZXIiLCJwbGF5R2FtZVJlc3VsdEZhaWxlZCIsImF1ZGlvR2FtZVJlc3VsdEZhaWwiLCJwbGF5R2FtZVJlc3VsdFN1Y2Nlc3MiLCJhdWRpb0dhbWVSZXN1bHRTdWNjZXNzIiwicGxheVdhcm5pbmciLCJwbGF5V2luIiwicGxheUJyaWNrIiwiYnJpY2tCb29tIiwiYXVkaW9PYmoiLCJwbGF5QXVkaW9CdXR0b24iLCJwbGF5UmFuZG9tTWF0Y2giLCJyYW5kb21NYXRjaFNvdW5kIiwicGxheU1hdGNoRm91bmRTb3VuZCIsIm1hdGNoRm91bmRTb3VuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFFTEMsRUFBQUEsVUFBVSxFQUFDO0FBQ1A7QUFDQUMsSUFBQUEsYUFBYSxFQUFDO0FBQ1YsaUJBQVEsSUFERTtBQUVWQyxNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGRSxLQUZQO0FBTVA7QUFDQUMsSUFBQUEsZ0JBQWdCLEVBQUM7QUFDYixpQkFBUSxJQURLO0FBRWJGLE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZLLEtBUFY7QUFXUDtBQUNBRSxJQUFBQSxZQUFZLEVBQUM7QUFDVCxpQkFBUSxJQURDO0FBRVRILE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZDLEtBWk47QUFpQlA7QUFDQUcsSUFBQUEsUUFBUSxFQUFDO0FBQ0wsaUJBQVEsSUFESDtBQUVMSixNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGSCxLQWxCRjtBQXVCUEksSUFBQUEsTUFBTSxFQUFFLEtBdkJEO0FBd0JQQyxJQUFBQSxNQUFNLEVBQUUsS0F4QkQ7QUF5QlBDLElBQUFBLFdBQVcsRUFB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LG1DQTBRTDtBQUNJLFdBQU8sS0FBSzdELElBQUwsQ0FBVSxLQUFLOEQsc0JBQWYsRUFBc0MsS0FBdEMsQ0FBUDtBQUNILEdBNVFJOztBQTZRTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsV0FoUksseUJBaVJMO0FBQ0ksV0FBTyxLQUFLL0QsSUFBTCxDQUFVLEtBQUtYLFlBQWYsRUFBNEIsS0FBNUIsQ0FBUDtBQUVILEdBcFJJO0FBc1JMMkUsRUFBQUEsT0F0UksscUJBdVJMO0FBQ0ksV0FBTyxLQUFLaEUsSUFBTCxDQUFVLEtBQUtWLFFBQWYsRUFBd0IsS0FBeEIsQ0FBUDtBQUNILEdBelJJOztBQTJSTDtBQUNKO0FBQ0E7QUFDSTJFLEVBQUFBLFNBOVJLLHVCQStSTDtBQUNJLFdBQU8sS0FBS2pFLElBQUwsQ0FBVSxLQUFLUSxVQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQWpTSTtBQWtTTDtBQUNBMEQsRUFBQUEsU0FuU0ssdUJBbVNNO0FBQ1AsV0FBTyxLQUFLbEUsSUFBTCxDQUFVLEtBQUttRSxRQUFmLEVBQXdCLEtBQXhCLENBQVA7QUFDSCxHQXJTSTs7QUFzU0w7QUFDSjtBQUNBO0FBQ0lDLEVBQUFBLGVBelNLLDZCQXlTYztBQUNmLFdBQU8sS0FBS3BFLElBQUwsQ0FBVSxLQUFLWixnQkFBZixFQUFpQyxLQUFqQyxDQUFQO0FBQ0gsR0EzU0k7QUE2U0xpRixFQUFBQSxlQTdTSyw2QkE4U0w7QUFDSSxTQUFLeEIsU0FBTCxDQUFlLEtBQUt5QixnQkFBcEI7QUFDSCxHQWhUSTtBQWlUTEMsRUFBQUEsbUJBalRLLGlDQWtUTDtBQUNJLFNBQUsvQixTQUFMO0FBQ0EsV0FBTyxLQUFLeEMsSUFBTCxDQUFVLEtBQUt3RSxlQUFmLEVBQWdDLEtBQWhDLENBQVA7QUFDSDtBQXJUSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuICAgIHByb3BlcnRpZXM6e1xuICAgICAgICAvL+iDjOaZr+mfs+S5kFxuICAgICAgICBhdWRpb0dhbWVCZ20wOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaMiemSrueCueWHu1xuICAgICAgICBhdWRpb0J1dHRvbkNsaWNrOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaKpeitpumfs+aViFxuICAgICAgICBhdWRpb1dhcm5pbmc6e1xuICAgICAgICAgICAgZGVmYXVsdDpudWxsLFxuICAgICAgICAgICAgdHlwZTpjYy5BdWRpb0NsaXBcbiAgICAgICAgfSxcblxuICAgICAgICAvL+a4uOaIj+W8gOWni+mfs+aViFxuICAgICAgICBhdWRpb1dpbjp7XG4gICAgICAgICAgICBkZWZhdWx0Om51bGwsXG4gICAgICAgICAgICB0eXBlOmNjLkF1ZGlvQ2xpcFxuICAgICAgICB9LFxuXG4gICAgICAgIHJld2FyZDogZmFsc2UsXG4gICAgICAgIGZpbmlzaDogZmFsc2UsXG4gICAgICAgIHJld2FyZENvdW50OiAwXG5cbiAgICB9LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog6buY6K6k6Z+z6YeP5aSn5bCPXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJnTXVzaWNWb2x1bWUgPSAwLjE7XG4gICAgICAgIHRoaXMuZWZmZWN0TXVzaWNWb2x1bWUgPSAxO1xuXG4gICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMTtcbiAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMTtcbiAgICB9LFxuICAgIHBsYXkgOiBmdW5jdGlvbihhdWRpb1NvdXJjZSwgbG9vcCwgY2FsbGJhY2ssIGlzQmdNdXNpYykge1xuICAgICAgICBpZiAoaXNCZ011c2ljICYmICF0aGlzLm1NdXNpY1N3aXRjaCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzQmdNdXNpYyAmJiAhdGhpcy5tRWZmZWN0U3dpdGNoKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb1NvdXJjZSwgbG9vcCwgdm9sdW1lKTtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soY29udGV4dCwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm1BdWRpb01hcFthdWRpb1NvdXJjZV0gPSBjb250ZXh0O1xuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvbnRleHQgPSB3eC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCgpO1xuICAgICAgICAgICAgY29udGV4dC5hdXRvcGxheSA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0Lmxvb3AgPSBsb29wO1xuICAgICAgICAgICAgY29udGV4dC5vYmV5TXV0ZVN3aXRjaCA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0LnZvbHVtZSA9IHZvbHVtZTtcblxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vbkVuZGVkKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRleHQub2ZmRW5kZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAvLyB2YXIgYXVkaW9QYXRoID0gY2MudXJsLnJhdyhcInJlc291cmNlcy9CYWxsTWFzdGVyL3NvdW5kc1wiICsgYXVkaW9Tb3VyY2UubmFtZSArIFwiLm1wM1wiKTtcbiAgICAgICAgICAgIGNvbnRleHQuc3JjID0gYXVkaW9Tb3VyY2UubmF0aXZlVXJsO1xuICAgICAgICAgICAgY29udGV4dC5wbGF5KClcbiAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2F1ZGlvU291cmNlXSA9IGNvbnRleHQ7XG4gICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHNhdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH0sXG4gICAgb25Mb2FkKCkge1xuICAgICAgICAvLyBjYy53d3guU3RvcmFnZS5nZXRJdGVtKGNjLnd3eC5TdG9yYWdlLktleV9TZXR0aW5nX011c2ljX1ZvbHVtZSwgZnVuY3Rpb24odm9sdW1lKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2UuZ2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCBmdW5jdGlvbih2b2x1bWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgdGhpcy5yZXdhcmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2ggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXdhcmRDb3VudCA9IDA7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXdhcmRDYW5Vc2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyDmraTml7bmv4DlirHlj6/nlKgg5ri45oiP5YaF6YOo6YC76L6RXG4gICAgICAgICAgICB0aGlzLnJld2FyZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICd1bmRlZmluZWQnICE9IHR5cGVvZiB3aW5kb3dbJ3Jld2FyZCddID8gXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KHdpbmRvd1sncmV3YXJkJ10pOlwiXCJcblxuICAgICAgICB0aGlzLnByZWxvYWQoKTtcbiAgICB9LFxuICAgIHByZWxvYWQgOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCEoY2Muc3lzLnBsYXRmb3JtID09PSBjYy5zeXMuV0VDSEFUX0dBTUUpKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHZhciBtdXNpY3MgPSBbXG4gICAgICAgICAgICB0aGlzLmF1ZGlvR2FtZUJnbTAsXG4gICAgICAgIF07XG4gICAgICAgIG11c2ljcy5mb3JFYWNoKGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgICAgIC8vIHZhciBtdXNpY1BhdGggPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICsgcGF0aDtcbiAgICAgICAgICAgIC8vIGlmIChtdXNpY1BhdGggIT0gd3hEb3dubG9hZGVyLlJFTU9URV9TRVJWRVJfUk9PVCAmJiBtdXNpY1BhdGguZW5kc1dpdGgoJy5tcDMnKSkge1xuICAgICAgICAgICAgLy8gICAgIGNjLmxvYWRlci5sb2FkKG11c2ljUGF0aCwgZnVuY3Rpb24oZXJyLCByZW1vdGVVcmwpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2MuZXJyb3IoZXJyLm1lc3NhZ2UgfHwgZXJyKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICBnZXRBdWRpb011c2ljU3dpdGNoKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLm1NdXNpY1N3aXRjaDtcblxuICAgIH0sXG4gICAgZ2V0QXVkaW9FZmZlY3RTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICB9LFxuICAgIHRydW5BdWRpb1NvdW5kKG9uKVxuICAgIHtcbiAgICAgICAgdGhpcy5zd2l0Y2hNdXNpYyhvbik7XG4gICAgICAgIHRoaXMuc3dpdGNoRWZmZWN0KG9uKVxuICAgIH0sXG4gICAgc3dpdGNoTXVzaWMgOiBmdW5jdGlvbihvbikge1xuICAgICAgICBpZiAodGhpcy5tTXVzaWNTd2l0Y2ggIT0gKG9uPzE6MCkpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMS10aGlzLm1NdXNpY1N3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaWYob24pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucGxheU11c2ljR2FtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3dpdGNoRWZmZWN0IDogZnVuY3Rpb24ob24pIHtcbiAgICAgICAgaWYgKHRoaXMubUVmZmVjdFN3aXRjaCAhPSAob24/MTowKSl7XG4gICAgICAgICAgICB0aGlzLm1FZmZlY3RTd2l0Y2ggPSAxLXRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIG9uSGlkZSAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnBhdXNlQWxsKCk7XG5cbiAgICAgICAgLy8gaWYgKENDX0pTQikge1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgZm9yICh2YXIga2V5IGluIHRoaXMubUF1ZGlvTWFwKSB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5tTXVzaWNLZXkpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5wYXVzZSgpO1xuICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2tleV0uc3RvcCgpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH0sXG5cbiAgICBvblNob3cgKCkge1xuICAgICAgICBjYy5hdWRpb0VuZ2luZS5yZXN1bWVBbGwoKTtcblxuICAgICAgICAvLyBpZiAoQ0NfSlNCKSB7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBpZiAoIXRoaXMubU11c2ljU3dpdGNoKSByZXR1cm47XG4gICAgICAgIC8vICAgICB2YXIgY29udGV4dCA9IHRoaXMubUF1ZGlvTWFwW3RoaXMubU11c2ljS2V5XTtcbiAgICAgICAgLy8gICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgIC8vICAgICAgICAgY29udGV4dC5wbGF5KCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICB9LFxuICAgIHBsYXlNdXNpYyA6IGZ1bmN0aW9uKGtleSwgY2FsbGJhY2ssIGxvb3ApIHtcblxuICAgICAgICBsb29wID0gdHlwZW9mIGxvb3AgPT0gJ3VuZGVmaW5lZCcgIHx8IGxvb3AgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgdGhpcy5tTXVzaWNLZXkgPSB0aGlzLnBsYXkoa2V5LCBsb29wLCBjYWxsYmFjaywgdHJ1ZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmuLjmiI/og4zmma/pn7PkuZBcbiAgICAgKi9cbiAgICBwbGF5TXVzaWNHYW1lICgpIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5hdWRpb0dhbWVCZ20wKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOWBnOatouiDjOaZr+mfs+S5kOaSreaUvlxuICAgICAqL1xuICAgIHN0b3BNdXNpYyAoKSB7XG4gICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdzdG9wTXVzaWMgYXVkaW8gZWZmZWN0IHd4OiAnICsgdGhpcy5tTXVzaWNLZXkpO1xuXG4gICAgICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuXG4gICAgICAgIGlmICh0eXBlb2YoY29udGV4dCkgIT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlmIChjYy5zeXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc3RvcChjb250ZXh0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5zdG9wKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8vIOeCuOW8ueOAgeeBq+eureeIhueCuOmfs+aViFxuICAgIHBsYXlCb21iICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvQm9tYiwgZmFsc2UpO1xuICAgIH0sXG4gICAgLy/mv4DlhYnpn7PmlYhcbiAgICBwbGF5SmlHdWFuZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9KaUd1YW5nLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvL+aKgOiDvemfs+aViFxuICAgIHBsYXlJdGVtMSgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9JdGVtMSwgZmFsc2UpO1xuICAgIH0sXG4gICAgLypcbiAgICAgKiDmuLjmiI/lvIDlp4vpn7PmlYhcbiAgICAgKlxuICAgICAqL1xuICAgICBwbGF5R2FtZVN0YXJ0KClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZVN0YXJ0LCBmYWxzZSk7XG4gICAgIH0sXG4gICAgIC8qXG4gICAgICAqIOWksei0peeahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICAgcGxheUdhbWVPdmVyKClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZU92ZXIsZmFsc2UpO1xuICAgICB9LFxuICAgIC8qXG4gICAgICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICBwbGF5R2FtZVJlc3VsdEZhaWxlZCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0RmFpbCxmYWxzZSk7XG4gICAgfSxcbiAgICAvKlxuICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0U3VjY2VzcygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0U3VjY2VzcyxmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmiqXorabnmoTpn7PmlYhcbiAgICAgKi9cbiAgICBwbGF5V2FybmluZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XYXJuaW5nLGZhbHNlKTtcblxuICAgIH0sXG5cbiAgICBwbGF5V2luKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb1dpbixmYWxzZSk7XG4gICAgfSxcblxuICAgIC8qXG4gICAgICog5pa55Z2X56Kw5pKe55qE5aOw6Z+zXG4gICAgICovXG4gICAgcGxheUJyaWNrKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5icmlja1NvdW5kLGZhbHNlKTtcbiAgICB9LFxuICAgIC8v5pa55Z2X56C056KO55qE5aOw6Z+zXG4gICAgYnJpY2tCb29tKCl7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb09iaixmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmjInpkq5cbiAgICAgKi9cbiAgICBwbGF5QXVkaW9CdXR0b24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9CdXR0b25DbGljaywgZmFsc2UpO1xuICAgIH0sXG5cbiAgICBwbGF5UmFuZG9tTWF0Y2goKVxuICAgIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5yYW5kb21NYXRjaFNvdW5kKTtcbiAgICB9LFxuICAgIHBsYXlNYXRjaEZvdW5kU291bmQoKVxuICAgIHtcbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLm1hdGNoRm91bmRTb3VuZCwgZmFsc2UpO1xuICAgIH1cbn0pOyJdfQ== //------QC-SOURCE-SPLIT------ diff --git a/temp/quick-scripts/dst/__qc_index__.js b/temp/quick-scripts/dst/__qc_index__.js index 26b9b13..2f2a2a4 100644 --- a/temp/quick-scripts/dst/__qc_index__.js +++ b/temp/quick-scripts/dst/__qc_index__.js @@ -10,22 +10,20 @@ }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);} -require('./assets/Script/BallAudioManager'); -require('./assets/Script/CtrlFluxayTexture'); require('./assets/Script/GameData'); require('./assets/Script/GameManager'); require('./assets/Script/GameOver'); require('./assets/Script/GuideManager'); -require('./assets/Script/Helloworld'); require('./assets/Script/ListView/ItemRender'); require('./assets/Script/ListView/List'); require('./assets/Script/Load'); require('./assets/Script/Notification'); +require('./assets/Script/RankManager'); require('./assets/Script/Storage'); require('./assets/Script/Sun'); require('./assets/Script/crypto/crypto-js.min'); require('./assets/Script/crypto/serverAPI'); -require('./assets/Script/test'); +require('./assets/Script/tool/AudioManager'); require('./assets/Script/tool/DynamicAtlasManager'); require('./assets/Script/tool/GameTool'); require('./assets/Script/tool/Shake'); diff --git a/temp/quick-scripts/dst/__quick_compile__.js b/temp/quick-scripts/dst/__quick_compile__.js index 72f3f0f..50e292e 100644 --- a/temp/quick-scripts/dst/__quick_compile__.js +++ b/temp/quick-scripts/dst/__quick_compile__.js @@ -1,6 +1,6 @@ (function () { -var scripts = [{"deps":{"./assets/Script/GameData":11,"./assets/Script/GameManager":14,"./assets/Script/GameOver":4,"./assets/Script/GuideManager":2,"./assets/Script/Helloworld":9,"./assets/Script/Load":15,"./assets/Script/Notification":16,"./assets/Script/Storage":20,"./assets/Script/Sun":8,"./assets/Script/test":7,"./assets/Script/BallAudioManager":10,"./assets/Script/ListView/List":12,"./assets/Script/ListView/ItemRender":1,"./assets/Script/crypto/serverAPI":5,"./assets/Script/crypto/crypto-js.min":19,"./assets/Script/tool/GameTool":17,"./assets/Script/tool/Shake":13,"./assets/Script/tool/DynamicAtlasManager":6,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":3,"./assets/Script/CtrlFluxayTexture":18},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/ListView/ItemRender.js"},{"deps":{"./GameData":11,"./Notification":16},"path":"preview-scripts/assets/Script/GuideManager.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{"./GameData":11,"./crypto/serverAPI":5},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{"../GameData":11,"./crypto-js.min.js":19},"path":"preview-scripts/assets/Script/crypto/serverAPI.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/test.js"},{"deps":{"./Notification":16},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{"./GameData":11,"./ListView/List":12,"./crypto/serverAPI":5},"path":"preview-scripts/assets/Script/Helloworld.js"},{"deps":{},"path":"preview-scripts/assets/Script/BallAudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameData.js"},{"deps":{"./ItemRender":1},"path":"preview-scripts/assets/Script/ListView/List.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/Shake.js"},{"deps":{"./GameData":11,"./Notification":16,"./crypto/serverAPI":5},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{"./GameData":11,"./Storage":20},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/Notification.js"},{"deps":{"Storage":20},"path":"preview-scripts/assets/Script/tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/CtrlFluxayTexture.js"},{"deps":{},"path":"preview-scripts/assets/Script/crypto/crypto-js.min.js"},{"deps":{},"path":"preview-scripts/assets/Script/Storage.js"}]; +var scripts = [{"deps":{"./assets/Script/GameOver":2,"./assets/Script/GuideManager":5,"./assets/Script/Load":8,"./assets/Script/Notification":9,"./assets/Script/RankManager":17,"./assets/Script/Storage":13,"./assets/Script/Sun":12,"./assets/Script/GameData":7,"./assets/Script/ListView/List":15,"./assets/Script/ListView/ItemRender":1,"./assets/Script/crypto/serverAPI":3,"./assets/Script/crypto/crypto-js.min":16,"./assets/Script/tool/DynamicAtlasManager":6,"./assets/Script/tool/GameTool":14,"./assets/Script/tool/Shake":11,"./assets/Script/tool/AudioManager":18,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":4,"./assets/Script/GameManager":10},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/ListView/ItemRender.js"},{"deps":{"./GameData":7,"./crypto/serverAPI":3},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{"../GameData":7,"./crypto-js.min.js":16},"path":"preview-scripts/assets/Script/crypto/serverAPI.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{"./GameData":7,"./Notification":9},"path":"preview-scripts/assets/Script/GuideManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameData.js"},{"deps":{"./GameData":7,"./Storage":13},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/assets/Script/Notification.js"},{"deps":{"./GameData":7,"./Notification":9,"./crypto/serverAPI":3},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/Shake.js"},{"deps":{"./Notification":9},"path":"preview-scripts/assets/Script/Sun.js"},{"deps":{},"path":"preview-scripts/assets/Script/Storage.js"},{"deps":{"Storage":13},"path":"preview-scripts/assets/Script/tool/GameTool.js"},{"deps":{"./ItemRender":1},"path":"preview-scripts/assets/Script/ListView/List.js"},{"deps":{},"path":"preview-scripts/assets/Script/crypto/crypto-js.min.js"},{"deps":{"./GameData":7,"./ListView/List":15,"./crypto/serverAPI":3},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/tool/AudioManager.js"}]; var entries = ["preview-scripts/__qc_index__.js"]; var bundleScript = 'preview-scripts/__qc_bundle__.js'; diff --git a/temp/quick-scripts/dst/assets/Script/BallAudioManager.js b/temp/quick-scripts/dst/assets/Script/BallAudioManager.js deleted file mode 100644 index b577bb3..0000000 --- a/temp/quick-scripts/dst/assets/Script/BallAudioManager.js +++ /dev/null @@ -1,307 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/BallAudioManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'bd9f78XOD5PmLTjk2rLYBiz', 'BallAudioManager'); -// Script/BallAudioManager.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: { - //背景音乐 - audioGameBgm0: { - "default": null, - type: cc.AudioClip - }, - // 按钮点击 - audioButtonClick: { - "default": null, - type: cc.AudioClip - }, - // 报警音效 - audioWarning: { - "default": null, - type: cc.AudioClip - }, - //游戏开始音效 - audioWin: { - "default": null, - type: cc.AudioClip - }, - reward: false, - finish: false, - rewardCount: 0 - }, - ctor: function ctor() { - this.mAudioMap = {}; - /** - * 默认音量大小 - * @type {number} - */ - - this.bgMusicVolume = 0.1; - this.effectMusicVolume = 1; - this.mMusicSwitch = 1; - this.mEffectSwitch = 1; - }, - play: function play(audioSource, loop, callback, isBgMusic) { - if (isBgMusic && !this.mMusicSwitch) return; - if (!isBgMusic && !this.mEffectSwitch) return; - var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; - - if (cc.sys.isBrowser) { - if (audioSource == this.brickSound) { - volume = 0.1; - } - - var context = cc.audioEngine.play(audioSource, loop, volume); - - if (callback) { - cc.audioEngine.setFinishCallback(context, function () { - callback.call(this); - }.bind(this)); - } // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); - - - this.mAudioMap[audioSource] = context; - return audioSource; - } else { - var context = wx.createInnerAudioContext(); - context.autoplay = true; - context.loop = loop; - context.obeyMuteSwitch = true; - context.volume = volume; - - if (callback) { - context.onEnded(function () { - callback.call(this); - }.bind(this)); - } else { - context.offEnded(); - } // var audioPath = cc.url.raw("resources/BallMaster/sounds" + audioSource.name + ".mp3"); - - - context.src = audioSource.nativeUrl; - context.play(); - this.mAudioMap[audioSource] = context; // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl); - - return audioSource; - } - }, - save: function save() {// cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); - // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); - }, - onLoad: function onLoad() { - var _this = this; - - // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) { - // this.mMusicSwitch = parseInt(volume); - // }.bind(this), 1); - // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) { - // this.mEffectSwitch = parseInt(volume); - // }.bind(this), 1); - this.reward = false; - this.finish = false; - this.rewardCount = 0; - window.addEventListener('rewardCanUse', function () { - // 此时激励可用 游戏内部逻辑 - _this.reward = true; - }); - 'undefined' != typeof window['reward'] ? window.dispatchEvent(window['reward']) : ""; - this.preload(); - }, - preload: function preload() { - if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { - return; - } - - var musics = [this.audioGameBgm0]; - musics.forEach(function (path) {// var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; - // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { - // cc.loader.load(musicPath, function(err, remoteUrl) { - // if (err) { - // cc.error(err.message || err); - // return; - // } - // }); - // } - }); - }, - getAudioMusicSwitch: function getAudioMusicSwitch() { - return this.mMusicSwitch; - }, - getAudioEffectSwitch: function getAudioEffectSwitch() { - return this.mEffectSwitch; - }, - trunAudioSound: function trunAudioSound(on) { - this.switchMusic(on); - this.switchEffect(on); - }, - switchMusic: function switchMusic(on) { - if (this.mMusicSwitch != (on ? 1 : 0)) { - this.mMusicSwitch = 1 - this.mMusicSwitch; // this.save(); - } - - if (on) { - this.playMusicGame(); - } else { - this.stopMusic(); - } - }, - switchEffect: function switchEffect(on) { - if (this.mEffectSwitch != (on ? 1 : 0)) { - this.mEffectSwitch = 1 - this.mEffectSwitch; // this.save(); - } - }, - onHide: function onHide() { - cc.audioEngine.pauseAll(); // if (CC_JSB) { - // } else { - // for (var key in this.mAudioMap) { - // if (key === this.mMusicKey) { - // this.mAudioMap[key].pause(); - // } else { - // this.mAudioMap[key].stop(); - // } - // } - // } - }, - onShow: function onShow() { - cc.audioEngine.resumeAll(); // if (CC_JSB) { - // } else { - // if (!this.mMusicSwitch) return; - // var context = this.mAudioMap[this.mMusicKey]; - // if (context) { - // context.play(); - // } - // } - }, - playMusic: function playMusic(key, callback, loop) { - loop = typeof loop == 'undefined' || loop ? true : false; - this.stopMusic(); - this.mMusicKey = this.play(key, loop, callback, true); - }, - - /** - * 游戏背景音乐 - */ - playMusicGame: function playMusicGame() { - this.playMusic(this.audioGameBgm0); - }, - - /** - * 停止背景音乐播放 - */ - stopMusic: function stopMusic() { - // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); - var context = this.mAudioMap[this.mMusicKey]; - - if (typeof context != 'undefined') { - if (cc.sys.isBrowser) { - cc.audioEngine.stop(context); - } else { - context.stop(); - } - - cc.audioEngine.stop(context); - } - }, - // 炸弹、火箭爆炸音效 - playBomb: function playBomb() { - return this.play(this.audioBomb, false); - }, - //激光音效 - playJiGuang: function playJiGuang() { - return this.play(this.audioJiGuang, false); - }, - //技能音效 - playItem1: function playItem1() { - return this.play(this.audioItem1, false); - }, - - /* - * 游戏开始音效 - * - */ - playGameStart: function playGameStart() { - return this.play(this.audioGameStart, false); - }, - - /* - * 失败的游戏结束 - */ - playGameOver: function playGameOver() { - return this.play(this.audioGameOver, false); - }, - - /* - * 成功的游戏结束 - */ - playGameResultFailed: function playGameResultFailed() { - return this.play(this.audioGameResultFail, false); - }, - - /* - * 成功的游戏结束 - */ - playGameResultSuccess: function playGameResultSuccess() { - return this.play(this.audioGameResultSuccess, false); - }, - - /** - * 报警的音效 - */ - playWarning: function playWarning() { - return this.play(this.audioWarning, false); - }, - playWin: function playWin() { - return this.play(this.audioWin, false); - }, - - /* - * 方块碰撞的声音 - */ - playBrick: function playBrick() { - return this.play(this.brickSound, false); - }, - //方块破碎的声音 - brickBoom: function brickBoom() { - return this.play(this.audioObj, false); - }, - - /** - * 按钮 - */ - playAudioButton: function playAudioButton() { - return this.play(this.audioButtonClick, false); - }, - playRandomMatch: function playRandomMatch() { - this.playMusic(this.randomMatchSound); - }, - playMatchFoundSound: function playMatchFoundSound() { - this.stopMusic(); - return this.play(this.matchFoundSound, false); - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCYWxsQXVkaW9NYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwiYXVkaW9HYW1lQmdtMCIsInR5cGUiLCJBdWRpb0NsaXAiLCJhdWRpb0J1dHRvbkNsaWNrIiwiYXVkaW9XYXJuaW5nIiwiYXVkaW9XaW4iLCJyZXdhcmQiLCJmaW5pc2giLCJyZXdhcmRDb3VudCIsImN0b3IiLCJtQXVkaW9NYXAiLCJiZ011c2ljVm9sdW1lIiwiZWZmZWN0TXVzaWNWb2x1bWUiLCJtTXVzaWNTd2l0Y2giLCJtRWZmZWN0U3dpdGNoIiwicGxheSIsImF1ZGlvU291cmNlIiwibG9vcCIsImNhbGxiYWNrIiwiaXNCZ011c2ljIiwidm9sdW1lIiwic3lzIiwiaXNCcm93c2VyIiwiYnJpY2tTb3VuZCIsImNvbnRleHQiLCJhdWRpb0VuZ2luZSIsInNldEZpbmlzaENhbGxiYWNrIiwiY2FsbCIsImJpbmQiLCJ3eCIsImNyZWF0ZUlubmVyQXVkaW9Db250ZXh0IiwiYXV0b3BsYXkiLCJvYmV5TXV0ZVN3aXRjaCIsIm9uRW5kZWQiLCJvZmZFbmRlZCIsInNyYyIsIm5hdGl2ZVVybCIsInNhdmUiLCJvbkxvYWQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwiZGlzcGF0Y2hFdmVudCIsInByZWxvYWQiLCJwbGF0Zm9ybSIsIldFQ0hBVF9HQU1FIiwibXVzaWNzIiwiZm9yRWFjaCIsInBhdGgiLCJnZXRBdWRpb011c2ljU3dpdGNoIiwiZ2V0QXVkaW9FZmZlY3RTd2l0Y2giLCJ0cnVuQXVkaW9Tb3VuZCIsIm9uIiwic3dpdGNoTXVzaWMiLCJzd2l0Y2hFZmZlY3QiLCJwbGF5TXVzaWNHYW1lIiwic3RvcE11c2ljIiwib25IaWRlIiwicGF1c2VBbGwiLCJvblNob3ciLCJyZXN1bWVBbGwiLCJwbGF5TXVzaWMiLCJrZXkiLCJtTXVzaWNLZXkiLCJzdG9wIiwicGxheUJvbWIiLCJhdWRpb0JvbWIiLCJwbGF5SmlHdWFuZyIsImF1ZGlvSmlHdWFuZyIsInBsYXlJdGVtMSIsImF1ZGlvSXRlbTEiLCJwbGF5R2FtZVN0YXJ0IiwiYXVkaW9HYW1lU3RhcnQiLCJwbGF5R2FtZU92ZXIiLCJhdWRpb0dhbWVPdmVyIiwicGxheUdhbWVSZXN1bHRGYWlsZWQiLCJhdWRpb0dhbWVSZXN1bHRGYWlsIiwicGxheUdhbWVSZXN1bHRTdWNjZXNzIiwiYXVkaW9HYW1lUmVzdWx0U3VjY2VzcyIsInBsYXlXYXJuaW5nIiwicGxheVdpbiIsInBsYXlCcmljayIsImJyaWNrQm9vbSIsImF1ZGlvT2JqIiwicGxheUF1ZGlvQnV0dG9uIiwicGxheVJhbmRvbU1hdGNoIiwicmFuZG9tTWF0Y2hTb3VuZCIsInBsYXlNYXRjaEZvdW5kU291bmQiLCJtYXRjaEZvdW5kU291bmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBRUxDLEVBQUFBLFVBQVUsRUFBQztBQUNQO0FBQ0FDLElBQUFBLGFBQWEsRUFBQztBQUNWLGlCQUFRLElBREU7QUFFVkMsTUFBQUEsSUFBSSxFQUFDTCxFQUFFLENBQUNNO0FBRkUsS0FGUDtBQU1QO0FBQ0FDLElBQUFBLGdCQUFnQixFQUFDO0FBQ2IsaUJBQVEsSUFESztBQUViRixNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGSyxLQVBWO0FBV1A7QUFDQUUsSUFBQUEsWUFBWSxFQUFDO0FBQ1QsaUJBQVEsSUFEQztBQUVUSCxNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGQyxLQVpOO0FBaUJQO0FBQ0FHLElBQUFBLFFBQVEsRUFBQztBQUNMLGlCQUFRLElBREg7QUFFTEosTUFBQUEsSUFBSSxFQUFDTCxFQUFFLENBQUNNO0FBRkgsS0FsQkY7QUF1QlBJLElBQUFBLE1BQU0sRUFBRSxLQXZCRDtBQXdCUEMsSUFBQUEsTUFBTSxFQUFFLEtBeEJEO0FBeUJQQyxJQUFBQSxXQUFX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TDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEscUJBN1FLLG1DQThRTDtBQUNJLFdBQU8sS0FBSzdELElBQUwsQ0FBVSxLQUFLOEQsc0JBQWYsRUFBc0MsS0FBdEMsQ0FBUDtBQUNILEdBaFJJOztBQWlSTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsV0FwUksseUJBcVJMO0FBQ0ksV0FBTyxLQUFLL0QsSUFBTCxDQUFVLEtBQUtYLFlBQWYsRUFBNEIsS0FBNUIsQ0FBUDtBQUVILEdBeFJJO0FBMFJMMkUsRUFBQUEsT0ExUksscUJBMlJMO0FBQ0ksV0FBTyxLQUFLaEUsSUFBTCxDQUFVLEtBQUtWLFFBQWYsRUFBd0IsS0FBeEIsQ0FBUDtBQUNILEdBN1JJOztBQStSTDtBQUNKO0FBQ0E7QUFDSTJFLEVBQUFBLFNBbFNLLHVCQW1TTDtBQUNJLFdBQU8sS0FBS2pFLElBQUwsQ0FBVSxLQUFLUSxVQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQXJTSTtBQXNTTDtBQUNBMEQsRUFBQUEsU0F2U0ssdUJBdVNNO0FBQ1AsV0FBTyxLQUFLbEUsSUFBTCxDQUFVLEtBQUttRSxRQUFmLEVBQXdCLEtBQXhCLENBQVA7QUFDSCxHQXpTSTs7QUEwU0w7QUFDSjtBQUNBO0FBQ0lDLEVBQUFBLGVBN1NLLDZCQTZTYztBQUNmLFdBQU8sS0FBS3BFLElBQUwsQ0FBVSxLQUFLWixnQkFBZixFQUFpQyxLQUFqQyxDQUFQO0FBQ0gsR0EvU0k7QUFpVExpRixFQUFBQSxlQWpUSyw2QkFrVEw7QUFDSSxTQUFLeEIsU0FBTCxDQUFlLEtBQUt5QixnQkFBcEI7QUFDSCxHQXBUSTtBQXFUTEMsRUFBQUEsbUJBclRLLGlDQXNUTDtBQUNJLFNBQUsvQixTQUFMO0FBQ0EsV0FBTyxLQUFLeEMsSUFBTCxDQUFVLEtBQUt3RSxlQUFmLEVBQWdDLEtBQWhDLENBQVA7QUFDSDtBQXpUSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuICAgIHByb3BlcnRpZXM6e1xuICAgICAgICAvL+iDjOaZr+mfs+S5kFxuICAgICAgICBhdWRpb0dhbWVCZ20wOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaMiemSrueCueWHu1xuICAgICAgICBhdWRpb0J1dHRvbkNsaWNrOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaKpeitpumfs+aViFxuICAgICAgICBhdWRpb1dhcm5pbmc6e1xuICAgICAgICAgICAgZGVmYXVsdDpudWxsLFxuICAgICAgICAgICAgdHlwZTpjYy5BdWRpb0NsaXBcbiAgICAgICAgfSxcblxuICAgICAgICAvL+a4uOaIj+W8gOWni+mfs+aViFxuICAgICAgICBhdWRpb1dpbjp7XG4gICAgICAgICAgICBkZWZhdWx0Om51bGwsXG4gICAgICAgICAgICB0eXBlOmNjLkF1ZGlvQ2xpcFxuICAgICAgICB9LFxuXG4gICAgICAgIHJld2FyZDogZmFsc2UsXG4gICAgICAgIGZpbmlzaDogZmFsc2UsXG4gICAgICAgIHJld2FyZENvdW50OiAwXG5cbiAgICB9LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog6buY6K6k6Z+z6YeP5aSn5bCPXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJnTXVzaWNWb2x1bWUgPSAwLjE7XG4gICAgICAgIHRoaXMuZWZmZWN0TXVzaWNWb2x1bWUgPSAxO1xuXG4gICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMTtcbiAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMTtcbiAgICB9LFxuICAgIHBsYXkgOiBmdW5jdGlvbihhdWRpb1NvdXJjZSwgbG9vcCwgY2FsbGJhY2ssIGlzQmdNdXNpYykge1xuICAgICAgICBpZiAoaXNCZ011c2ljICYmICF0aGlzLm1NdXNpY1N3aXRjaCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzQmdNdXNpYyAmJiAhdGhpcy5tRWZmZWN0U3dpdGNoKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb1NvdXJjZSwgbG9vcCwgdm9sdW1lKTtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soY29udGV4dCwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY2Mud3d4Lk91dFB1dC5sb2coJ3BsYXkgYXVkaW8gZWZmZWN0IGlzQnJvd3NlcjogJyArIGNvbnRleHQuc3JjKTtcblxuICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBbYXVkaW9Tb3VyY2VdID0gY29udGV4dDtcbiAgICAgICAgICAgIHJldHVybiBhdWRpb1NvdXJjZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gd3guY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQoKTtcbiAgICAgICAgICAgIGNvbnRleHQuYXV0b3BsYXkgPSB0cnVlO1xuICAgICAgICAgICAgY29udGV4dC5sb29wID0gbG9vcDtcbiAgICAgICAgICAgIGNvbnRleHQub2JleU11dGVTd2l0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgY29udGV4dC52b2x1bWUgPSB2b2x1bWU7XG5cbiAgICAgICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGNvbnRleHQub25FbmRlZChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0Lm9mZkVuZGVkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgLy8gdmFyIGF1ZGlvUGF0aCA9IGNjLnVybC5yYXcoXCJyZXNvdXJjZXMvQmFsbE1hc3Rlci9zb3VuZHNcIiArIGF1ZGlvU291cmNlLm5hbWUgKyBcIi5tcDNcIik7XG4gICAgICAgICAgICBjb250ZXh0LnNyYyA9IGF1ZGlvU291cmNlLm5hdGl2ZVVybDtcbiAgICAgICAgICAgIGNvbnRleHQucGxheSgpXG4gICAgICAgICAgICB0aGlzLm1BdWRpb01hcFthdWRpb1NvdXJjZV0gPSBjb250ZXh0O1xuICAgICAgICBcbiAgICAgICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdwbGF5IGF1ZGlvIGVmZmVjdCB3eDogJyArIGF1ZGlvU291cmNlLm5hdGl2ZVVybCk7XG4gICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHNhdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH0sXG4gICAgb25Mb2FkKCkge1xuICAgICAgICAvLyBjYy53d3guU3RvcmFnZS5nZXRJdGVtKGNjLnd3eC5TdG9yYWdlLktleV9TZXR0aW5nX011c2ljX1ZvbHVtZSwgZnVuY3Rpb24odm9sdW1lKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2UuZ2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCBmdW5jdGlvbih2b2x1bWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cblxuICAgICAgICB0aGlzLnJld2FyZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJld2FyZENvdW50ID0gMDtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jld2FyZENhblVzZScsICgpID0+IHtcbiAgICAgICAgICAgIC8vIOatpOaXtua/gOWKseWPr+eUqCDmuLjmiI/lhoXpg6jpgLvovpFcbiAgICAgICAgICAgIHRoaXMucmV3YXJkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIHdpbmRvd1sncmV3YXJkJ10gPyBcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQod2luZG93WydyZXdhcmQnXSk6XCJcIlxuXG4gICAgICAgIHRoaXMucHJlbG9hZCgpO1xuICAgIH0sXG4gICAgcHJlbG9hZCA6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoIShjYy5zeXMucGxhdGZvcm0gPT09IGNjLnN5cy5XRUNIQVRfR0FNRSkpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdmFyIG11c2ljcyA9IFtcbiAgICAgICAgICAgIHRoaXMuYXVkaW9HYW1lQmdtMCxcbiAgICAgICAgXTtcbiAgICAgICAgbXVzaWNzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgICAgLy8gdmFyIG11c2ljUGF0aCA9IHd4RG93bmxvYWRlci5SRU1PVEVfU0VSVkVSX1JPT1QgKyBwYXRoO1xuICAgICAgICAgICAgLy8gaWYgKG11c2ljUGF0aCAhPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICYmIG11c2ljUGF0aC5lbmRzV2l0aCgnLm1wMycpKSB7XG4gICAgICAgICAgICAvLyAgICAgY2MubG9hZGVyLmxvYWQobXVzaWNQYXRoLCBmdW5jdGlvbihlcnIsIHJlbW90ZVVybCkge1xuICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBjYy5lcnJvcihlcnIubWVzc2FnZSB8fCBlcnIpO1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgICAgICAvLyAgICAgfSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH0pXG4gICAgfSxcblxuICAgIGdldEF1ZGlvTXVzaWNTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubU11c2ljU3dpdGNoO1xuXG4gICAgfSxcbiAgICBnZXRBdWRpb0VmZmVjdFN3aXRjaCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5tRWZmZWN0U3dpdGNoO1xuICAgIH0sXG4gICAgdHJ1bkF1ZGlvU291bmQob24pXG4gICAge1xuICAgICAgICB0aGlzLnN3aXRjaE11c2ljKG9uKTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFZmZlY3Qob24pXG4gICAgfSxcbiAgICBzd2l0Y2hNdXNpYyA6IGZ1bmN0aW9uKG9uKSB7XG4gICAgICAgIGlmICh0aGlzLm1NdXNpY1N3aXRjaCAhPSAob24/MTowKSlcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5tTXVzaWNTd2l0Y2ggPSAxLXRoaXMubU11c2ljU3dpdGNoO1xuICAgICAgICAgICAgLy8gdGhpcy5zYXZlKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBpZihvbilcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5wbGF5TXVzaWNHYW1lKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBzd2l0Y2hFZmZlY3QgOiBmdW5jdGlvbihvbikge1xuICAgICAgICBpZiAodGhpcy5tRWZmZWN0U3dpdGNoICE9IChvbj8xOjApKXtcbiAgICAgICAgICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IDEtdGhpcy5tRWZmZWN0U3dpdGNoO1xuICAgICAgICAgICAgLy8gdGhpcy5zYXZlKCk7XG5cbiAgICAgICAgfVxuICAgIH0sXG4gICAgb25IaWRlICgpIHtcbiAgICAgICAgY2MuYXVkaW9FbmdpbmUucGF1c2VBbGwoKTtcblxuICAgICAgICAvLyBpZiAoQ0NfSlNCKSB7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBmb3IgKHZhciBrZXkgaW4gdGhpcy5tQXVkaW9NYXApIHtcbiAgICAgICAgLy8gICAgICAgICBpZiAoa2V5ID09PSB0aGlzLm1NdXNpY0tleSkge1xuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLm1BdWRpb01hcFtrZXldLnBhdXNlKCk7XG4gICAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5zdG9wKCk7XG4gICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9XG4gICAgfSxcblxuICAgIG9uU2hvdyAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnJlc3VtZUFsbCgpO1xuXG4gICAgICAgIC8vIGlmIChDQ19KU0IpIHtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGlmICghdGhpcy5tTXVzaWNTd2l0Y2gpIHJldHVybjtcbiAgICAgICAgLy8gICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuICAgICAgICAvLyAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgLy8gICAgICAgICBjb250ZXh0LnBsYXkoKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH0sXG4gICAgcGxheU11c2ljIDogZnVuY3Rpb24oa2V5LCBjYWxsYmFjaywgbG9vcCkge1xuXG4gICAgICAgIGxvb3AgPSB0eXBlb2YgbG9vcCA9PSAndW5kZWZpbmVkJyAgfHwgbG9vcCA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICB0aGlzLm1NdXNpY0tleSA9IHRoaXMucGxheShrZXksIGxvb3AsIGNhbGxiYWNrLCB0cnVlKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOa4uOaIj+iDjOaZr+mfs+S5kFxuICAgICAqL1xuICAgIHBsYXlNdXNpY0dhbWUgKCkge1xuICAgICAgICB0aGlzLnBsYXlNdXNpYyh0aGlzLmF1ZGlvR2FtZUJnbTApO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICog5YGc5q2i6IOM5pmv6Z+z5LmQ5pKt5pS+XG4gICAgICovXG4gICAgc3RvcE11c2ljICgpIHtcbiAgICAgICAgLy8gY2Mud3d4Lk91dFB1dC5sb2coJ3N0b3BNdXNpYyBhdWRpbyBlZmZlY3Qgd3g6ICcgKyB0aGlzLm1NdXNpY0tleSk7XG5cbiAgICAgICAgdmFyIGNvbnRleHQgPSB0aGlzLm1BdWRpb01hcFt0aGlzLm1NdXNpY0tleV07XG5cbiAgICAgICAgaWYgKHR5cGVvZihjb250ZXh0KSAhPSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnN0b3AoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnN0b3AoY29udGV4dCk7XG5cbiAgICAgICAgfVxuICAgIH0sXG4gICAgLy8g54K45by544CB54Gr566t54iG54K46Z+z5pWIXG4gICAgcGxheUJvbWIgKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9Cb21iLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvL+a/gOWFiemfs+aViFxuICAgIHBsYXlKaUd1YW5nKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0ppR3VhbmcsIGZhbHNlKTtcbiAgICB9LFxuICAgIC8v5oqA6IO96Z+z5pWIXG4gICAgcGxheUl0ZW0xKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0l0ZW0xLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvKlxuICAgICAqIOa4uOaIj+W8gOWni+mfs+aViFxuICAgICAqXG4gICAgICovXG4gICAgIHBsYXlHYW1lU3RhcnQoKVxuICAgICB7XG4gICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lU3RhcnQsIGZhbHNlKTtcbiAgICAgfSxcbiAgICAgLypcbiAgICAgICog5aSx6LSl55qE5ri45oiP57uT5p2fXG4gICAgICAqL1xuICAgICBwbGF5R2FtZU92ZXIoKVxuICAgICB7XG4gICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lT3ZlcixmYWxzZSk7XG4gICAgIH0sXG4gICAgLypcbiAgICAgICog5oiQ5Yqf55qE5ri45oiP57uT5p2fXG4gICAgICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0RmFpbGVkKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0dhbWVSZXN1bHRGYWlsLGZhbHNlKTtcbiAgICB9LFxuICAgIC8qXG4gICog5oiQ5Yqf55qE5ri45oiP57uT5p2fXG4gICovXG4gICAgcGxheUdhbWVSZXN1bHRTdWNjZXNzKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0dhbWVSZXN1bHRTdWNjZXNzLGZhbHNlKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOaKpeitpueahOmfs+aViFxuICAgICAqL1xuICAgIHBsYXlXYXJuaW5nKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb1dhcm5pbmcsZmFsc2UpO1xuXG4gICAgfSxcblxuICAgIHBsYXlXaW4oKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvV2luLGZhbHNlKTtcbiAgICB9LFxuXG4gICAgLypcbiAgICAgKiDmlrnlnZfnorDmkp7nmoTlo7Dpn7NcbiAgICAgKi9cbiAgICBwbGF5QnJpY2soKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmJyaWNrU291bmQsZmFsc2UpO1xuICAgIH0sXG4gICAgLy/mlrnlnZfnoLTnoo7nmoTlo7Dpn7NcbiAgICBicmlja0Jvb20oKXtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvT2JqLGZhbHNlKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOaMiemSrlxuICAgICAqL1xuICAgIHBsYXlBdWRpb0J1dHRvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb0J1dHRvbkNsaWNrLCBmYWxzZSk7XG4gICAgfSxcblxuICAgIHBsYXlSYW5kb21NYXRjaCgpXG4gICAge1xuICAgICAgICB0aGlzLnBsYXlNdXNpYyh0aGlzLnJhbmRvbU1hdGNoU291bmQpO1xuICAgIH0sXG4gICAgcGxheU1hdGNoRm91bmRTb3VuZCgpXG4gICAge1xuICAgICAgICB0aGlzLnN0b3BNdXNpYygpO1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMubWF0Y2hGb3VuZFNvdW5kLCBmYWxzZSk7XG4gICAgfVxufSk7Il19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/CtrlFluxayTexture.js b/temp/quick-scripts/dst/assets/Script/CtrlFluxayTexture.js deleted file mode 100644 index cff3e4a..0000000 --- a/temp/quick-scripts/dst/assets/Script/CtrlFluxayTexture.js +++ /dev/null @@ -1,118 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/CtrlFluxayTexture.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'b48a2ukFF1FlJGSkUcHUIET', 'CtrlFluxayTexture'); -// Script/CtrlFluxayTexture.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: { - m_delayTime: { - "default": 0 - }, - m_fluxayTime: { - "default": 1 - }, - m_intervalTime: { - "default": 1 - }, - m_scale: { - "default": 1 - }, - m_angle: { - "default": 0 - }, - m_reviseStartTime: { - "default": 0 - }, - m_reviseTimeScale: { - "default": 1 - } - }, - ctor: function ctor() { - this._time = 0; - }, - onLoad: function onLoad() { - this._time -= this.m_delayTime; - var sprite = this.node.getComponent(cc.Sprite); - this._material = sprite.getMaterial(0); - - this._material.setProperty("u_scale", this.m_scale); - - this._material.setProperty("u_angle", this.m_angle); - - this.refreshSpriteFrameData(); - }, - update: function update(dt) { - if (this._time > this.m_fluxayTime + this.m_intervalTime) { - this._time = 0; - } - - var u_time = this._time / this.m_fluxayTime; - - if (this._time > this.m_fluxayTime) { - u_time = 1 + (this._time - this.m_fluxayTime) / this.m_intervalTime; - } - - if (this.m_reviseTimeScale != null && this.m_reviseStartTime != null) { - u_time = u_time / this.m_reviseTimeScale; - u_time -= this.m_reviseStartTime; - } - - this._material.setProperty("u_time", u_time); - - this._time += dt; - }, - refreshSpriteFrameData: function refreshSpriteFrameData() { - var sprite = this.node.getComponent(cc.Sprite); - var material = sprite.getMaterial(0); - var frame = sprite.spriteFrame; - - if (frame != null) { - // xMin - var l = frame.uv[0]; // xMax - - var r = frame.uv[6]; // yMax - - var b = frame.uv[3]; // yMin - - var t = frame.uv[5]; // 纹理在合图中的四个边界 uv 坐标 - - var u_uvOffset = new cc.Vec4(l, t, r, b); // 纹理是否旋转 - - var u_uvRotated = frame.isRotated() ? 1.0 : 0.0; // 设置材质的属性 - - if (material.getProperty("u_uvOffset") !== undefined) { - material.setProperty("u_uvOffset", u_uvOffset); - } - - if (material.getProperty("u_uvRotated") !== undefined) { - material.setProperty("u_uvRotated", u_uvRotated); - } - } - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDdHJsRmx1eGF5VGV4dHVyZS5qcyJdLCJuYW1lcyI6WyJjYyIsIkNsYXNzIiwiQ29tcG9uZW50IiwicHJvcGVydGllcyIsIm1fZGVsYXlUaW1lIiwibV9mbHV4YXlUaW1lIiwibV9pbnRlcnZhbFRpbWUiLCJtX3NjYWxlIiwibV9hbmdsZSIsIm1fcmV2aXNlU3RhcnRUaW1lIiwibV9yZXZpc2VUaW1lU2NhbGUiLCJjdG9yIiwiX3RpbWUiLCJvbkxvYWQiLCJzcHJpdGUiLCJub2RlIiwiZ2V0Q29tcG9uZW50IiwiU3ByaXRlIiwiX21hdGVyaWFsIiwiZ2V0TWF0ZXJpYWwiLCJzZXRQcm9wZXJ0eSIsInJlZnJlc2hTcHJpdGVGcmFtZURhdGEiLCJ1cGRhdGUiLCJkdCIsInVfdGltZSIsIm1hdGVyaWFsIiwiZnJhbWUiLCJzcHJpdGVGcmFtZSIsImwiLCJ1diIsInIiLCJiIiwidCIsInVfdXZPZmZzZXQiLCJWZWM0IiwidV91dlJvdGF0ZWQiLCJpc1JvdGF0ZWQiLCJnZXRQcm9wZXJ0eSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFHTEMsRUFBQUEsVUFBVSxFQUFFO0FBQ1JDLElBQUFBLFdBQVcsRUFBRTtBQUNULGlCQUFTO0FBREEsS0FETDtBQUlSQyxJQUFBQSxZQUFZLEVBQUU7QUFDVixpQkFBUztBQURDLEtBSk47QUFPUkMsSUFBQUEsY0FBYyxFQUFFO0FBQ1osaUJBQVM7QUFERyxLQVBSO0FBVVJDLElBQUFBLE9BQU8sRUFBRTtBQUNMLGlCQUFTO0FBREosS0FWRDtBQWFSQyxJQUFBQSxPQUFPLEVBQUU7QUFDTCxpQkFBUztBQURKLEtBYkQ7QUFnQlJDLElBQUFBLGlCQUFpQixFQUFDO0FBQ2QsaUJBQVM7QUFESyxLQWhCVjtBQW1CUkMsSUFBQUEsaUJBQWlCLEVBQUM7QUFDZCxpQkFBUztB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QXdDQyxTQUEzQyxFQUNBO0FBQ0liLFFBQUFBLFFBQVEsQ0FBQ0wsV0FBVCxDQUFxQixhQUFyQixFQUFvQ2UsV0FBcEM7QUFDSDtBQUNKO0FBQ0o7QUExRkksQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXG5jYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuXG4gICAgcHJvcGVydGllczoge1xuICAgICAgICBtX2RlbGF5VGltZToge1xuICAgICAgICAgICAgZGVmYXVsdDogMCwgXG4gICAgICAgIH0sXG4gICAgICAgIG1fZmx1eGF5VGltZToge1xuICAgICAgICAgICAgZGVmYXVsdDogMSwgXG4gICAgICAgIH0sXG4gICAgICAgIG1faW50ZXJ2YWxUaW1lOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAxLCBcbiAgICAgICAgfSxcbiAgICAgICAgbV9zY2FsZToge1xuICAgICAgICAgICAgZGVmYXVsdDogMSwgXG4gICAgICAgIH0sXG4gICAgICAgIG1fYW5nbGU6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsIFxuICAgICAgICB9LFxuICAgICAgICBtX3JldmlzZVN0YXJ0VGltZTp7XG4gICAgICAgICAgICBkZWZhdWx0OiAwLCBcbiAgICAgICAgfSxcbiAgICAgICAgbV9yZXZpc2VUaW1lU2NhbGU6e1xuICAgICAgICAgICAgZGVmYXVsdDogMSwgXG4gICAgICAgIH0sXG4gICAgfSxcblxuICAgIGN0b3IoKXtcbiAgICAgICAgdGhpcy5fdGltZSA9IDA7XG4gICAgfSxcbiAgICBvbkxvYWQgKCkge1xuICAgICAgICB0aGlzLl90aW1lIC09IHRoaXMubV9kZWxheVRpbWU7XG5cbiAgICAgICAgbGV0IHNwcml0ZSA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcbiAgICAgICAgdGhpcy5fbWF0ZXJpYWwgPSBzcHJpdGUuZ2V0TWF0ZXJpYWwoMCk7XG4gICAgICAgIHRoaXMuX21hdGVyaWFsLnNldFByb3BlcnR5KFwidV9zY2FsZVwiLCB0aGlzLm1fc2NhbGUpO1xuICAgICAgICB0aGlzLl9tYXRlcmlhbC5zZXRQcm9wZXJ0eShcInVfYW5nbGVcIiwgdGhpcy5tX2FuZ2xlKTtcblxuICAgICAgICB0aGlzLnJlZnJlc2hTcHJpdGVGcmFtZURhdGEoKTtcbiAgICB9LFxuXG4gICAgdXBkYXRlKGR0KSB7XG4gICAgICAgIGlmICh0aGlzLl90aW1lID4gKHRoaXMubV9mbHV4YXlUaW1lICsgdGhpcy5tX2ludGVydmFsVGltZSkpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbWUgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHVfdGltZSA9IHRoaXMuX3RpbWUvdGhpcy5tX2ZsdXhheVRpbWU7XG4gICAgICAgIGlmKHRoaXMuX3RpbWUgPnRoaXMubV9mbHV4YXlUaW1lKVxuICAgICAgICB7XG4gICAgICAgICAgICB1X3RpbWUgPSAxKygodGhpcy5fdGltZS10aGlzLm1fZmx1eGF5VGltZSkvdGhpcy5tX2ludGVydmFsVGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYodGhpcy5tX3JldmlzZVRpbWVTY2FsZSAhPSBudWxsICYmIHRoaXMubV9yZXZpc2VTdGFydFRpbWUgIT0gbnVsbClcbiAgICAgICAge1xuICAgICAgICAgICAgdV90aW1lID0gdV90aW1lL3RoaXMubV9yZXZpc2VUaW1lU2NhbGU7XG4gICAgICAgICAgICB1X3RpbWUgLT0gdGhpcy5tX3JldmlzZVN0YXJ0VGltZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tYXRlcmlhbC5zZXRQcm9wZXJ0eShcInVfdGltZVwiLCB1X3RpbWUpO1xuICAgICAgICB0aGlzLl90aW1lICs9IGR0O1xuICAgIH0sXG5cbiAgICByZWZyZXNoU3ByaXRlRnJhbWVEYXRhKCl7XG4gICAgICAgIGxldCBzcHJpdGUgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XG4gICAgICAgIGxldCBtYXRlcmlhbCA9IHNwcml0ZS5nZXRNYXRlcmlhbCgwKTtcbiAgICAgICAgbGV0IGZyYW1lID0gc3ByaXRlLnNwcml0ZUZyYW1lO1xuXG4gICAgICAgIGlmKGZyYW1lICE9IG51bGwpXG4gICAgICAgIHtcbiAgICAgICAgICAgIC8vIHhNaW5cbiAgICAgICAgICAgIGxldCBsID0gZnJhbWUudXZbMF07XG4gICAgICAgICAgICAvLyB4TWF4XG4gICAgICAgICAgICBsZXQgciA9IGZyYW1lLnV2WzZdO1xuICAgICAgICAgICAgLy8geU1heFxuICAgICAgICAgICAgbGV0IGIgPSBmcmFtZS51dlszXTtcbiAgICAgICAgICAgIC8vIHlNaW5cbiAgICAgICAgICAgIGxldCB0ID0gZnJhbWUudXZbNV07XG4gICAgICAgICAgICAvLyDnurnnkIblnKjlkIjlm77kuK3nmoTlm5vkuKrovrnnlYwgdXYg5Z2Q5qCHXG4gICAgICAgICAgICBsZXQgdV91dk9mZnNldCA9IG5ldyBjYy5WZWM0KGwsIHQsIHIsIGIpO1xuICAgICAgICAgICAgLy8g57q555CG5piv5ZCm5peL6L2sXG4gICAgICAgICAgICBsZXQgdV91dlJvdGF0ZWQgPSBmcmFtZS5pc1JvdGF0ZWQoKSA/IDEuMCA6IDAuMDtcbiAgICAgICAgICAgIC8vIOiuvue9ruadkOi0qOeahOWxnuaAp1xuXG4gICAgICAgICAgICBpZihtYXRlcmlhbC5nZXRQcm9wZXJ0eShcInVfdXZPZmZzZXRcIikgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eShcInVfdXZPZmZzZXRcIiwgdV91dk9mZnNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZihtYXRlcmlhbC5nZXRQcm9wZXJ0eShcInVfdXZSb3RhdGVkXCIpICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWF0ZXJpYWwuc2V0UHJvcGVydHkoXCJ1X3V2Um90YXRlZFwiLCB1X3V2Um90YXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0pO1xuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GameData.js b/temp/quick-scripts/dst/assets/Script/GameData.js index 0479d74..608d4ad 100644 --- a/temp/quick-scripts/dst/assets/Script/GameData.js +++ b/temp/quick-scripts/dst/assets/Script/GameData.js @@ -14,12 +14,6 @@ cc._RF.push(module, 'f2f0bI5PsVI+o18xF6G+KVa', 'GameData'); // Script/GameData.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -44,21 +38,15 @@ var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData = /** @class */ (function (_super) { __extends(GameData, _super); function GameData() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } GameData_1 = GameData; - // LEVEL_INFO: { number: number; }[]; - // LEVEL_INFO:[]; - // LIFE-CYCLE CALLBACKS: GameData.prototype.onLoad = function () { if (GameData_1._instance == null) { GameData_1._instance = this; cc.game.addPersistRootNode(this.node); - this.AudioManager = this.node.getComponent('BallAudioManager'); + //设置为常驻,绑定音频以及游戏各类信息 + this.AudioManager = this.node.getComponent('AudioManager'); } else { this.node.destroy(); @@ -66,6 +54,13 @@ var GameData = /** @class */ (function (_super) { } }; GameData.prototype.start = function () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = []; + }; + GameData.prototype.GM_INFO_init = function () { this.GM_INFO = { // isEnd: false, mean_Time: 0, @@ -79,6 +74,26 @@ var GameData = /** @class */ (function (_super) { matchId: null, custom: 0 }; + }; + GameData.prototype.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + totalSunCount: 0, + movedSunCount: 0, + sunSpeed: 0, + overlapSunCount: 0, + colorList: [], + duration: 0, + difficultyLevel: 0, + sunList: [], + stepTimeList: [], + remainder: 120 + }; + }; + GameData.prototype.LEVEL_INFO_init = function () { this.LEVEL_INFO = [ { number: 3, @@ -279,251 +294,10 @@ var GameData = /** @class */ (function (_super) { maxDistance: 200, maxMove: 1200, repeat: 1 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 10, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, + } ]; - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; - this.GAME_DATA = []; - }; - GameData.prototype.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; }; var GameData_1; - __decorate([ - property(cc.Label) - ], GameData.prototype, "label", void 0); - __decorate([ - property - ], GameData.prototype, "text", void 0); GameData = GameData_1 = __decorate([ ccclass ], GameData); @@ -542,4 +316,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXdmQztRQXJmRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBR3ZCLFVBQUksR0FBVyxPQUFPLENBQUM7O1FBaWZ2QixpQkFBaUI7SUFDckIsQ0FBQztpQkF4Zm9CLFFBQVE7SUFzQnpCLHFDQUFxQztJQUNyQyxpQkFBaUI7SUFFakIsd0JBQXdCO0lBR3hCLHlCQUFNLEdBQU47UUFDSSxJQUFJLFVBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLFVBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNsRTthQUNJO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDWCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFDLENBQUM7WUFDWCxLQUFLLEVBQUMsQ0FBQztZQUNQLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBQyxRQUFRO1lBQ2YsTUFBTSxFQUFDLE1BQU07WUFDYixLQUFLLEVB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QyxFQUFFO2dCQUNWLFlBQVksRUFBQyxFQUFFO2dCQUNmLFNBQVMsRUFBQyxHQUFHO2FBQ2hCLENBQUE7UUFFTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBRWhCLENBQUE7SUFDTCxDQUFDO0lBRUQsNkJBQVUsR0FBVjtRQUNJLElBQUksQ0FBQyxVQUFVO1lBQ2Y7Z0JBQ0ksSUFBSSxFQUFDLENBQUM7Z0JBQ04sT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsS0FBSyxFQUFDLENBQUM7Z0JBQ1AsYUFBYSxFQUFDLENBQUM7Z0JBQ2YsYUFBYSxFQUFDLENBQUM7Z0JBQ2YsUUFBUSxFQUFDLENBQUM7Z0JBQ1YsZUFBZSxFQUFDLENBQUM7Z0JBQ2pCLFNBQVMsRUFBQyxFQUFFO2dCQUNaLFFBQVEsRUFBQyxDQUFDO2dCQUNWLGVBQWUsRUFBQyxDQUFDO2dCQUNqQixPQUFPLEVBQUMsRUFBRTtnQkFDVixZQUFZLEVBQUMsRUFBRTtnQkFDZixTQUFTLEVBQUMsR0FBRzthQUNoQixDQUFBO0lBQ0wsQ0FBQzs7SUFsZkQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzsyQ0FDSTtJQUd2QjtRQURDLFFBQVE7MENBQ2M7SUFOTixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBd2Y1QjtJQUFELGVBQUM7Q0F4ZkQsQUF3ZkMsQ0F4ZnFDLEVBQUUsQ0FBQyxTQUFTLEdBd2ZqRDtrQkF4Zm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVEYXRhIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsYWJlbDogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eVxyXG4gICAgdGV4dDogc3RyaW5nID0gJ2hlbGxvJztcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIEdNX0lORk86IHt9O1xyXG4gICAgQXVkaW9NYW5hZ2VyOiBhbnk7XHJcblxyXG4gICAgR0FNRV9EQVRBOiBhbnlbXTtcclxuICAgIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+WIneWni+W4g+WxgOacgOWkp+enu+WKqOi3neemu1xyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgQ0xJQ0tfREFUQTogeyB0eXBlOiBudW1iZXI7IHN1Y2Nlc3M6IGJvb2xlYW47IHJvdW5kOiBudW1iZXI7IHRvdGFsU3VuQ291bnQ6IG51bWJlcjsgbW92ZWRTdW5Db3VudDogbnVtYmVyOyBzdW5TcGVlZDogbnVtYmVyOyBvdmVybGFwU3VuQ291bnQ6IG51bWJlcjsgY29sb3JMaXN0OiBhbnlbXTsgZHVyYXRpb246IG51bWJlcjsgZGlmZmljdWx0eUxldmVsOiBudW1iZXI7IHN1bkxpc3Q6IGFueVtdOyBzdGVwVGltZUxpc3Q6IGFueVtdOyByZW1haW5kZXI6IG51bWJlcjsgfTtcclxuXHJcbiAgICAvLyBMRVZFTF9JTkZPOiB7IG51bWJlcjogbnVtYmVyOyB9W107XHJcbiAgICAvLyBMRVZFTF9JTkZPOltdO1xyXG5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIFxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICBpZiAoR2FtZURhdGEuX2luc3RhbmNlID09IG51bGwpIHtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlID0gdGhpcztcclxuICAgICAgICAgICAgY2MuZ2FtZS5hZGRQZXJzaXN0Um9vdE5vZGUodGhpcy5ub2RlKTtcclxuICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuQXVkaW9NYW5hZ2VyID0gdGhpcy5ub2RlLmdldENvbXBvbmVudCgnQmFsbEF1ZGlvTWFuYWdlcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0geyBcclxuICAgICAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBtZWFuX1RpbWU6MCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6MCwgICAgICAgICAgICAgICAgICAgIC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgICAgIGN1cnJTZWVkOiAyMDMyMTMsICAgICAgICAgICAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgICAgICBnYW1lSWQ6JzEwMDAwOScsXHJcbiAgICAgICAgICAgIHVzZXJJZDoyMDAxMzksXHJcbiAgICAgICAgICAgIGd1aWRlOnRydWUsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6XCJodHRwOi8vYXBpLnNwYXJrdXMuY25cIixcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgbWF0Y2hJZDpudWxsLFxyXG4gICAgICAgICAgICBjdXN0b206IDBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MywgICAgICAgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsICAgLy/lpKrpmLPlj6/np7vliqjkuKrmlbBcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLCAgICAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLCAvL+W4g+WxgOWQjuenu+WKqOacgOWkp+i3neemu1xyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjAgICAgICAgIC8v5piv5ZCm6YeN5Y+g77yM546w5ZyoMCDkuI3ph43lj6AgMSDph43lj6Ax5LiqXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWt6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NixcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5LiD6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NixcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5YWr6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Lmd6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo0LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqM6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6OSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8v56ys5Y2B5LqU6Zq+5bqmXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MTAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzExIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6MCxcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzEzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjEsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzE5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjMsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIxIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzIzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjYsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzI5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMxIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzMzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjcsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM2IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM3IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM4IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzM5IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQwIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjIsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQxIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjgsXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjQsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQyIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDowXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQzIFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjAsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQ0IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjksXHJcbiAgICAgICAgICAgICAgICBtb3ZlTnVtYmVyOjUsXHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6NixcclxuICAgICAgICAgICAgICAgIG1heERpc3RhbmNlOjIwMCxcclxuICAgICAgICAgICAgICAgIG1heE1vdmU6MTIwMCxcclxuICAgICAgICAgICAgICAgIHJlcGVhdDoxXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHsgICAvLzQ1IFxyXG4gICAgICAgICAgICAgICAgbnVtYmVyOjEwLFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG5cclxuXHJcblxyXG4gICAgICAgIF1cclxuXHJcbiAgICAgICAgdGhpcy5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgICAgICByb3VuZDowLFxyXG4gICAgICAgICAgICAgICAgdG90YWxTdW5Db3VudDowLFxyXG4gICAgICAgICAgICAgICAgbW92ZWRTdW5Db3VudDowLFxyXG4gICAgICAgICAgICAgICAgc3VuU3BlZWQ6MCxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDowLFxyXG4gICAgICAgICAgICAgICAgY29sb3JMaXN0OltdLFxyXG4gICAgICAgICAgICAgICAgZHVyYXRpb246MCxcclxuICAgICAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDowLFxyXG4gICAgICAgICAgICAgICAgc3VuTGlzdDpbXSxcclxuICAgICAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDpbXSxcclxuICAgICAgICAgICAgICAgIHJlbWFpbmRlcjoxMjBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkdBTUVfREFUQSA9IFtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5cclxuICAgIENMSUNLX2luaXQoKXtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgcm91bmQ6MCxcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBtb3ZlZFN1bkNvdW50OjAsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOjAsXHJcbiAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6W10sXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOjAsXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDowLFxyXG4gICAgICAgICAgICBzdW5MaXN0OltdLFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6W10sXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjoxMjBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUUxQztJQUFzQyw0QkFBWTtJQUFsRDs7SUFzUkEsQ0FBQztpQkF0Um9CLFFBQVE7SUFnQnpCLHlCQUFNLEdBQU47UUFDSSxJQUFJLFVBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLFVBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzlEO2FBQ0k7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLE9BQU87U0FDVjtJQUNMLENBQUM7SUFFRCx3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFDaEIsQ0FBQTtJQUNMLENBQUM7SUFFRCwrQkFBWSxHQUFaO1FBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNYLGdCQUFnQjtZQUNoQixTQUFTLEVBQUMsQ0FBQztZQUNYLEtBQUssRUFBQyxDQUFDO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFDLFFBQVE7WUFDZixNQUFNLEVBQUMsTUFBTTtZQUNiLEtBQUssRUFBQyxJQUFJO1lBQ1YsR0FB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QUFDLENBQUM7YUFDWDtZQUNEO2dCQUNJLE1BQU0sRUFBQyxDQUFDO2dCQUNSLFVBQVUsRUFBQyxDQUFDO2dCQUNaLFNBQVMsRUFBQyxDQUFDO2dCQUNYLFdBQVcsRUFBQyxHQUFHO2dCQUNmLE9BQU8sRUFBQyxJQUFJO2dCQUNaLE1BQU0sRUFBQyxDQUFDO2FBQ1g7WUFDRDtnQkFDSSxNQUFNLEVBQUMsQ0FBQztnQkFDUixVQUFVLEVBQUMsQ0FBQztnQkFDWixTQUFTLEVBQUMsQ0FBQztnQkFDWCxXQUFXLEVBQUMsR0FBRztnQkFDZixPQUFPLEVBQUMsSUFBSTtnQkFDWixNQUFNLEVBQUMsQ0FBQzthQUNYO1NBRUosQ0FBQTtJQUNMLENBQUM7O0lBclJnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBc1I1QjtJQUFELGVBQUM7Q0F0UkQsQUFzUkMsQ0F0UnFDLEVBQUUsQ0FBQyxTQUFTLEdBc1JqRDtrQkF0Um9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVEYXRhIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIEdNX0lORk86IHt9O1xyXG4gICAgQXVkaW9NYW5hZ2VyOiBhbnk7Ly/pn7PpopHnrqHnkIZcclxuICAgIEdBTUVfREFUQTogYW55W107Ly/lpIfnlKhcclxuICAgIExFVkVMX0lORk86IHsgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICBudW1iZXI6IG51bWJlcjsgLy/lpKrpmLPmgLvmlbAgXHJcbiAgICAgICAgbW92ZU51bWJlcjogbnVtYmVyOyAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+WkqumYs+enu+WKqOmAn+W6puetiee6p1xyXG4gICAgICAgIG1heERpc3RhbmNlOiBudW1iZXI7IC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgbWF4TW92ZTogbnVtYmVyOyAvL+WIneWni+W4g+WxgOacgOWkp+enu+WKqOi3neemu1xyXG4gICAgICAgIHJlcGVhdDogbnVtYmVyOyAvL+aYr+WQpumHjeWPoO+8jOeOsOWcqDAg5LiN6YeN5Y+gIDEg6YeN5Y+gMeS4qlxyXG4gICAgfVtdO1xyXG4gICAgLy/kuIrmiqXmlbDmja7vvIzmnInnmoTmuLjmiI/kuLrkuIDmlbTlsYDmuLjmiI/kuIDmrKHkuIrmiqXvvIzmnInnmoTkuLrmr4/mrKHmk43kvZzkuIrmiqVcclxuICAgIENMSUNLX0RBVEE6IHsgdHlwZTogbnVtYmVyOyBzdWNjZXNzOiBib29sZWFuOyByb3VuZDogbnVtYmVyOyB0b3RhbFN1bkNvdW50OiBudW1iZXI7IG1vdmVkU3VuQ291bnQ6IG51bWJlcjsgc3VuU3BlZWQ6IG51bWJlcjsgb3ZlcmxhcFN1bkNvdW50OiBudW1iZXI7IGNvbG9yTGlzdDogYW55W107IGR1cmF0aW9uOiBudW1iZXI7IGRpZmZpY3VsdHlMZXZlbDogbnVtYmVyOyBzdW5MaXN0OiBhbnlbXTsgc3RlcFRpbWVMaXN0OiBhbnlbXTsgcmVtYWluZGVyOiBudW1iZXI7IH07XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICBpZiAoR2FtZURhdGEuX2luc3RhbmNlID09IG51bGwpIHtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlID0gdGhpcztcclxuICAgICAgICAgICAgY2MuZ2FtZS5hZGRQZXJzaXN0Um9vdE5vZGUodGhpcy5ub2RlKTtcclxuICAgICAgICAgICAgLy/orr7nva7kuLrluLjpqbvvvIznu5Hlrprpn7PpopHku6Xlj4rmuLjmiI/lkITnsbvkv6Hmga9cclxuICAgICAgICAgICAgdGhpcy5BdWRpb01hbmFnZXIgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KCdBdWRpb01hbmFnZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPX2luaXQoKTtcclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgdGhpcy5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5cclxuICAgIEdNX0lORk9faW5pdCgpe1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHsgXHJcbiAgICAgICAgICAgIC8vIGlzRW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgbWVhbl9UaW1lOjAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOjAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAzMjEzLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOicxMDAwMDknLFxyXG4gICAgICAgICAgICB1c2VySWQ6MjAwMTM5LFxyXG4gICAgICAgICAgICBndWlkZTp0cnVlLCAgICAgICAgICAgICAgICAgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICAgICAgdXJsOlwiaHR0cDovL2FwaS5zcGFya3VzLmNuXCIsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIG1hdGNoSWQ6bnVsbCxcclxuICAgICAgICAgICAgY3VzdG9tOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBDTElDS19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5DTElDS19EQVRBID0gXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOjEsXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ZmFsc2UsXHJcbiAgICAgICAgICAgIHJvdW5kOjAsXHJcbiAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDowLFxyXG4gICAgICAgICAgICBzdW5TcGVlZDowLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6MCxcclxuICAgICAgICAgICAgY29sb3JMaXN0OltdLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjowLFxyXG4gICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6MCxcclxuICAgICAgICAgICAgc3VuTGlzdDpbXSxcclxuICAgICAgICAgICAgc3RlcFRpbWVMaXN0OltdLFxyXG4gICAgICAgICAgICByZW1haW5kZXI6MTIwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgTEVWRUxfSU5GT19pbml0KCl7XHJcbiAgICAgICAgdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjozLCAgICAgICAvL+WkqumYs+aAu+aVsCBcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCwgICAvL+WkqumYs+WPr+enu+WKqOS4quaVsFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsICAgIC8v5aSq6Ziz56e75Yqo6YCf5bqm562J57qnXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsIC8v5biD5bGA5ZCO56e75Yqo5pyA5aSn6Led56a7XHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MCAgICAgICAgLy/mmK/lkKbph43lj6DvvIznjrDlnKgwIOS4jemHjeWPoCAxIOmHjeWPoDHkuKpcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo0LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjAsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjoxLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlha3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuIPpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo2LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzlhavpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjowLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzkuZ3pmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjQsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo3LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuIDpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuozpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo4LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkuInpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjozLFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHlm5vpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjo5LFxyXG4gICAgICAgICAgICAgICAgbW92ZU51bWJlcjo1LFxyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOjYsXHJcbiAgICAgICAgICAgICAgICBtYXhEaXN0YW5jZToyMDAsXHJcbiAgICAgICAgICAgICAgICBtYXhNb3ZlOjEyMDAsXHJcbiAgICAgICAgICAgICAgICByZXBlYXQ6MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7ICAgLy/nrKzljYHkupTpmr7luqZcclxuICAgICAgICAgICAgICAgIG51bWJlcjoxMCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTEgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTIgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDowLFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTMgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTQgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTUgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NCxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTYgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTcgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MCxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTggXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MSxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMTkgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MixcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyAgIC8vMjAgXHJcbiAgICAgICAgICAgICAgICBudW1iZXI6NSxcclxuICAgICAgICAgICAgICAgIG1vdmVOdW1iZXI6MyxcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDo2LFxyXG4gICAgICAgICAgICAgICAgbWF4RGlzdGFuY2U6MjAwLFxyXG4gICAgICAgICAgICAgICAgbWF4TW92ZToxMjAwLFxyXG4gICAgICAgICAgICAgICAgcmVwZWF0OjFcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICBdXHJcbiAgICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GameManager.js b/temp/quick-scripts/dst/assets/Script/GameManager.js index 62bfede..094a3f4 100644 --- a/temp/quick-scripts/dst/assets/Script/GameManager.js +++ b/temp/quick-scripts/dst/assets/Script/GameManager.js @@ -14,12 +14,6 @@ cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); // Script/GameManager.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -40,6 +34,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); +// 主游戏控制类 var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData_1 = require("./GameData"); var Notification_1 = require("./Notification"); @@ -57,7 +52,6 @@ var GameManager = /** @class */ (function (_super) { _this.bg1 = null; _this.bg2 = null; _this.time = null; - // LIFE-CYCLE CALLBACKS: _this.begin = false; _this.fuhuo = false; _this.over = false; @@ -65,38 +59,11 @@ var GameManager = /** @class */ (function (_super) { _this.levelLabel = null; return _this; } - GameManager.prototype.onLoad = function () { - }; + GameManager.prototype.onLoad = function () { }; GameManager.prototype.start = function () { this.fit(); this.init(); }; - GameManager.prototype.fit = function () { - this.fitTop = 450; //600 - this.fitBot = -600; //-700 - var jg = this.setFit(); - if (!jg) { - this.fitTop = 600; - this.fitBot = -700; - } - }; - GameManager.prototype.getSetScreenResolutionFlag = function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }; - //判断全面屏适配 - GameManager.prototype.setFit = function () { - var flag = this.getSetScreenResolutionFlag(); - if (flag) { - } - else { - } - return flag; - }; //初始化数据 GameManager.prototype.init = function () { this.node.getChildByName("GameOver").zIndex = 100; @@ -144,6 +111,35 @@ var GameManager = /** @class */ (function (_super) { this.schedule(this.updateCountDownTime, 1); this.startGame(); }; + //根据是否全面屏,做独立适配方面 + GameManager.prototype.fit = function () { + this.fitTop = 450; //600 + this.fitBot = -600; //-700 + var jg = this.setFit(); + if (!jg) { + this.fitTop = 600; + this.fitBot = -700; + } + }; + //判断全面屏 + GameManager.prototype.getSetScreenResolutionFlag = function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }; + //判断全面屏适配 + GameManager.prototype.setFit = function () { + var flag = this.getSetScreenResolutionFlag(); + if (flag) { + } + else { + } + return flag; + }; + //返回首页 GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; @@ -178,8 +174,6 @@ var GameManager = /** @class */ (function (_super) { this.bgMove(-1); } }; - GameManager.prototype.begin_Guide = function () { - }; //获取时间戳 GameManager.prototype.getTime = function () { var timestamp = new Date().getTime(); @@ -194,7 +188,7 @@ var GameManager = /** @class */ (function (_super) { var timeCount = 0; var ball_1 = this.ball_Array[0]; for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance2(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); + var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y, 2); timeArray_1.push(time); } var _loop_1 = function (k) { @@ -248,6 +242,7 @@ var GameManager = /** @class */ (function (_super) { } } }; + //清理太阳 GameManager.prototype.clearSun = function () { for (var k = 0; k < this.ball_Array.length; k++) { this.ball_Array[k].removeFromParent(); @@ -268,11 +263,8 @@ var GameManager = /** @class */ (function (_super) { this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); } this.clickNow += 1; - // GameData._instance.GM_INFO.total += 1; if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; - // setTimeout(() => { - // }, 200); if (this.clickNow == this.now_Array.length) { this.pause = true; GameData_1.default._instance.GM_INFO.total += this.clickNow; @@ -280,12 +272,9 @@ var GameManager = /** @class */ (function (_super) { if (this.startTime > 0 && this.overTime > 0) { GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); } - // console.log("成功",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime); - // console.log(GameData._instance.GM_INFO.mean_Time); var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); this.startTime = 0; this.overTime = 0; - // console.log("33333333"); var color = "y"; if (this.level < 4 && this.level > 1) color = "yr"; @@ -330,7 +319,6 @@ var GameManager = /** @class */ (function (_super) { stepTimeList: this.time_Array, remainder: this.countTime }; - this.outPut(); this.setData(); cc.tween(win_1) .delay(0.4) @@ -362,9 +350,9 @@ var GameManager = /** @class */ (function (_super) { else { this.setLoss(); } - // this.hitAction(data) } }; + //执行失败 GameManager.prototype.setLoss = function () { GameData_1.default._instance.AudioManager.playWarning(); this.begin = false; @@ -415,7 +403,6 @@ var GameManager = /** @class */ (function (_super) { stepTimeList: this.time_Array, remainder: this.countTime }; - this.outPut(); this.setData(); if (this.fuhuo == true) { this.fuhuo = false; @@ -444,22 +431,6 @@ var GameManager = /** @class */ (function (_super) { .to(0.1, { opacity: 0 }) .start(); }; - GameManager.prototype.hitAction = function (data) { - var _this = this; - this.hit.active = true; - this.hit.opacity = 0; - this.hit.setPosition; - this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); - cc.tween(this.hit) - .to(0, { opacity: 255 }) - .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) - .delay(0.2) - .to(0.1, { opacity: 0 }) - .call(function () { - _this.hit.active = false; - }) - .start(); - }; //开始游戏 GameManager.prototype.startGame = function () { if (this.over == false && this.countTime > 0) { @@ -469,9 +440,9 @@ var GameManager = /** @class */ (function (_super) { cc.tween(this.ball) .to(0.5, { opacity: 255, scale: 1.3 }) .start(); - // this.runGame() } }; + //执行太阳运行动画,以及后面移动动画 GameManager.prototype.runGame = function () { var _this = this; var time = -650; @@ -515,6 +486,7 @@ var GameManager = /** @class */ (function (_super) { _loop_3(i); } }; + //设置移动重叠数据 GameManager.prototype.createMove = function () { var _this = this; if (this.over == false) { @@ -584,10 +556,6 @@ var GameManager = /** @class */ (function (_super) { } } } - // debugger; - //设置重叠 - // this.repeat = -1; - // this.numberRepeat = -1; //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for (var k = 0; k < this.moveArray.length; k++) { if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { @@ -637,9 +605,6 @@ var GameManager = /** @class */ (function (_super) { if (info.moveNumber > 0) { //0 1 2 3 4 5 6 7 8 9 //可移动区分 - var pos = cc.v2(0, 0); - // this.repeat = -1; - // this.numberRepeat = -1; //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for (var k = 0; k < this.moveArray.length; k++) { if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { @@ -662,7 +627,7 @@ var GameManager = /** @class */ (function (_super) { var _loop_5 = function (i) { if (moveArray[i] == 1) { if (i != lastNumber) { //如果不是最后一个移动的 - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); this_4.ball_Array[i].getComponent("Sun").move = true; cc.tween(this_4.ball_Array[i]) .to(time, { position: this_4.Pos_Array[i] }) @@ -673,7 +638,7 @@ var GameManager = /** @class */ (function (_super) { } //如果是最后一个 else { - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); this_4.ball_Array[i].getComponent("Sun").move = true; cc.tween(this_4.ball_Array[i]) .to(time, { position: this_4.Pos_Array[i] }) @@ -690,6 +655,7 @@ var GameManager = /** @class */ (function (_super) { } } }; + //每次重新开始新一轮儿游戏 GameManager.prototype.beginGame = function () { this.begin = true; this.startTime = this.getTime(); @@ -697,19 +663,20 @@ var GameManager = /** @class */ (function (_super) { this.pause = false; // this.node.getChildByName("showBtn").active = true; }; - GameManager.prototype.getRandomArray = function (lastNumber) { - var num = parseInt(Math.random() * 8 - 4 + ""); - var jg = num + lastNumber; - if (num > 1 || num < -1) { - if (num == 0 || (jg < 0 || jg >= this.Pos_Array.length)) { - jg = this.getRandomArray(lastNumber); - } - } - else { - jg = this.getRandomArray(lastNumber); - } - return jg; - }; + //暂时作废 + // getRandomArray(lastNumber){ + // let num = parseInt(Math.random()*8 - 4 + ""); + // let jg = num + lastNumber; + // if(num > 1 || num <-1){ + // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ + // jg = this.getRandomArray(lastNumber); + // } + // } + // else{ + // jg = this.getRandomArray(lastNumber); + // } + // return jg; + // } //创建太阳所需数据 GameManager.prototype.createSun = function () { var _this = this; @@ -731,8 +698,8 @@ var GameManager = /** @class */ (function (_super) { for (var l = 0; l < levelData.number; l++) { _loop_6(l); } - // 0 0 0 0 0 0 0 0 0 0 0 }; + //创建太阳位置,颜色信息等数据 GameManager.prototype.createPos = function () { var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; @@ -749,9 +716,10 @@ var GameManager = /** @class */ (function (_super) { if (levelData.number == 4) colorArray = [0, 0, 0, 0]; this.color_Array = colorArray; + //存储太阳数据 for (var i = 0; i < levelData.number; i++) { - var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y)); - var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y) + timeCount; + var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1)); + var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1) + timeCount; data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; if (this.repeat == i) { data.repeat = true; @@ -763,6 +731,7 @@ var GameManager = /** @class */ (function (_super) { } this.runGame(); }; + //获取,N个太阳位置的方法,和POS2分开两个方法,防止递归溢出 GameManager.prototype.getPos = function (type, num) { var posX = Math.random() * 620 - 310; var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; @@ -785,6 +754,7 @@ var GameManager = /** @class */ (function (_super) { } return point; }; + //获取,N个太阳可移动位置的方法,和POS分开算防止递归溢出 GameManager.prototype.getPos2 = function (type, num) { var posX = Math.random() * 620 - 310; var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; @@ -807,6 +777,7 @@ var GameManager = /** @class */ (function (_super) { } return point; }; + //获取两点之间距离,返回判断是否在一定范围内 将来提出到工具类 GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { var jg = false; var dx = x2 - x1; @@ -830,6 +801,92 @@ var GameManager = /** @class */ (function (_super) { } return jg; }; + //命中动画 + GameManager.prototype.hitAction = function (data) { + var _this = this; + this.hit.active = true; + this.hit.opacity = 0; + this.hit.setPosition; + this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); + cc.tween(this.hit) + .to(0, { opacity: 255 }) + .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) + .delay(0.2) + .to(0.1, { opacity: 0 }) + .call(function () { + _this.hit.active = false; + }) + .start(); + }; + //创造太阳 + GameManager.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + if (color == 0) + ball = cc.instantiate(this.qiu1); + else if (color == 1) + ball = cc.instantiate(this.qiu2); + else if (color == 2) + ball = cc.instantiate(this.qiu3); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.now_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + this.ball_Array.push(ball); + }; + //销毁连线 + GameManager.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //创建连线 + GameManager.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //获取两点之间的角度,将来都可放工具类 + GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + //获取两点之间的距离 返回对应时间 + GameManager.prototype.calculateDistance = function (x1, y1, x2, y2, num) { + var dx = x2 - x1; + var dy = y2 - y1; + var time = 0; + var distance = Math.sqrt(dx * dx + dy * dy); + if (num == 1) { + if (distance > 800) + distance = 800; + time = distance / 800 * 0.6; + } + else if (num == 2) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1; + } + else if (num == 3) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1.5; + } + return time; + }; + //获取两点之间距离 返回距离判断 GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { var jg = false; var dx = x2 - x1; @@ -848,81 +905,12 @@ var GameManager = /** @class */ (function (_super) { } return jg; }; - GameManager.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - if (color == 0) - ball = cc.instantiate(this.qiu1); - else if (color == 1) - ball = cc.instantiate(this.qiu2); - else if (color == 2) - ball = cc.instantiate(this.qiu3); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.now_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - this.ball_Array.push(ball); - }; - GameManager.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - GameManager.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - GameManager.prototype.calculateDistance = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 800) - distance = 800; - var time = distance / 800 * 0.6; - return time; - }; - GameManager.prototype.calculateDistance2 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1; - return time; - }; - GameManager.prototype.calculateDistance3 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1.5; - return time; - }; //背景移动 GameManager.prototype.bgMove = function (type) { var _this = this; var random = Math.random() * 300 + 300; var posX = Math.random() * 600 - 300; var y1 = this.bg1.y - random * type; - // let y2 = this.bg2.y - random*type; var time1 = 0.7 * (random / 400); cc.tween(this.ball) .to(0.3, { scale: 1.3 }) @@ -932,17 +920,9 @@ var GameManager = /** @class */ (function (_super) { .delay(0.3) .to(time1, { y: y1 }) .start(); - // cc.tween(this.bg2) - // .delay(0.3) - // .to(time1,{y:y2}) - // .start(); setTimeout(function () { - // if(this.over == false && GameData._instance.GM_INFO.custom == 0){ - // this.startGame(); - // } - if (_this.over == false) { + if (_this.over == false) _this.startGame(); - } }, time1 * 1500); }; //时间格式转换 @@ -985,20 +965,21 @@ var GameManager = /** @class */ (function (_super) { this.unschedule(this.updateCountDownTime); this.setLoss(); var time = 0; - // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount); if (this.clickCount > 0) time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; - // console.log( GameData._instance.GM_INFO.mean_Time,time); - // debugger; if (time > 10000) time = (Math.random() * 10 + 5) * 100; this.setRank(time); } } }; + //上传每次操作数据 GameManager.prototype.setData = function () { + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); + GameData_1.default._instance.CLICK_init(); var data = GameData_1.default._instance.GAME_DATA; var matchId = this.getMatchId(); console.log(matchId); @@ -1009,6 +990,7 @@ var GameManager = /** @class */ (function (_super) { console.log("上传数据:"); serverAPI_1.default.uploadUserLogData(postData, function () { }); }; + //获取matchId 用于上传每次点击数据里面记录id方便查询 GameManager.prototype.getMatchId = function () { var matchId = cc.sys.localStorage.getItem("matchId"); if (matchId == "undifend" || matchId == null) { @@ -1030,9 +1012,11 @@ var GameManager = /** @class */ (function (_super) { } return matchId; }; + //检测matchId 如果有缓存以前的nanana数据清除 GameManager.prototype.containsNanana = function (str) { return /na/i.test(str); }; + //重新设置MatchId GameManager.prototype.setMatchId = function () { // 定义包含可用字符的字符集 var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; @@ -1053,6 +1037,7 @@ var GameManager = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.matchId = data; return data; }; + //上传排行榜数据 GameManager.prototype.setRank = function (time) { var postData = { "type": 1, @@ -1060,7 +1045,6 @@ var GameManager = /** @class */ (function (_super) { "totalSunCount": GameData_1.default._instance.GM_INFO.total, "success": GameData_1.default._instance.GM_INFO.success }; - // console.log(postData); serverAPI_1.default.rankData(1, function () { }, postData); this.node.getChildByName("GameOver").active = true; this.node.getChildByName("GameOver").opacity = 0; @@ -1073,12 +1057,7 @@ var GameManager = /** @class */ (function (_super) { }) .start(); }; - GameManager.prototype.outPut = function () { - var data = GameData_1.default._instance.CLICK_DATA; - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); - GameData_1.default._instance.CLICK_init(); - }; + //作弊,测试用 GameManager.prototype.showNumber = function () { if (this.show == false) this.show = true; @@ -1090,10 +1069,8 @@ var GameManager = /** @class */ (function (_super) { }; GameManager.prototype.onEnable = function () { Notification_1.Notification.on("clickSun", this.clickSun, this); - // Notification.on("HammerPlay", this.HammerPlay, this); }; GameManager.prototype.onDisable = function () { - // Notification.off("rightAnswers", this.rightAnswers); Notification_1.Notification.off("clickSun", this.clickSun); }; GameManager.prototype.update = function (dt) { @@ -1137,4 +1114,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUMxQyx1Q0FBa0M7QUFDbEMsK0NBQThDO0FBQzlDLGdEQUEwQztBQUUxQztJQUF5QywrQkFBWTtJQUFyRDtRQUFBLHFFQXFuQ0M7UUFsbkNHLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsZ0JBQVUsR0FBYyxJQUFJLENBQUM7UUFFN0IsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUV0Qix3QkFBd0I7UUFDeEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQXNCdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBd2tDaEMsQ0FBQztJQWhrQ0csNEJBQU0sR0FBTjtJQUVBLENBQUM7SUFFRCwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCx5QkFBRyxHQUFIO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMs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QyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFHOUIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDaEMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9ILElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLFNBQVMsQ0FBQztZQUM3RyxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxTQUFTLENBQUMsU0FBUyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQztZQUM5SSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FB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USxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkNBQ0c7SUFFckI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs2Q0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7NkNBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzttREFDUztJQUU3QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBZ0NwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO21EQUNTO0lBN0NYLFdBQVc7UUFEL0IsT0FBTztPQUNhLFdBQVcsQ0FxbkMvQjtJQUFELGtCQUFDO0NBcm5DRCxBQXFuQ0MsQ0FybkN3QyxFQUFFLENBQUMsU0FBUyxHQXFuQ3BEO2tCQXJuQ29CLFdBQVciLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gJy4vR2FtZURhdGEnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tICcuL2NyeXB0by9zZXJ2ZXJBUEknO1xyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lTWFuYWdlciBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBiYWxsOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUxOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTI6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MzogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBsaW5lUHJlZmFiOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBoaXQ6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcblxyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGxldmVsTGFiZWw6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIHN0YXRpYyBfaW5zdGFuY2U6IGFueTtcclxuICAgIG1vdmVBcnJheTogbnVtYmVyW107XHJcbiAgICByZXBlYXQ6IG51bWJlcjtcclxuICAgIG51bWJlclJlcGVhdDogbnVtYmVyO1xyXG4gICAgcm91bmQ6IG51bWJlcjtcclxuICAgIHBhdXNlOiBib29sZWFuO1xyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdGhpcy5maXRUb3AgPSA0NTA7ICAvLzYwMFxyXG4gICAgICAgIHRoaXMuZml0Qm90ID0gLTYwMDsgLy8tNzAwXHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG4gICAgICAgICAgICB0aGlzLmZpdFRvcCA9IDYwMDtcclxuICAgICAgICAgICAgdGhpcy5maXRCb3QgPSAtNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdCAoKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSB0aGlzLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH1cclxuXHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gIT0gMCl7XHJcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuIFxyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMuY2xpY2tDb3VudCA9IDA7XHJcbiAgICAgICAgdGhpcy50aW1lU3RhcnQgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuICAgICAgICB0aGlzLnJvdXRlX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy50aW1lX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5jb2xvcl9BcnJheSA9IFtdO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEEgPSBbXTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMud2luVGltZSA9IDA7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgPSAwO1xyXG5cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG5cclxuXHJcbiAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrU2NlbmUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8v5LiL5LiA5YWz77yM5oiW6ICF6YeN5paw5byA5aeL77yM5oiW6ICF6L+U5Zue5LiK5LiA5YWz77yM5qC55o2ubGV2ZWzlhrPlrppcclxuICAgIHJlU3RhcnQodHlwZSl7XHJcbiAgICAgICAgLy8gaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICE9IDApe1xyXG4gICAgICAgIC8vICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hvd0J0blwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgdGhpcy50aW1lQ291bnQgPSAwLjE7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aW1lU3RhcnQgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubm93X0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1vdmVBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBcclxuICAgICAgICBpZih0eXBlID09IDApe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDEpe1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0R2FtZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gMil7XHJcbiAgICAgICAgICAgIHRoaXMuYmdNb3ZlKC0xKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuXHJcbiAgICBiZWdpbl9HdWlkZSgpe1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcblxyXG4gICAgLy/ojrfog5xcclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgIGxldCB0aW1lQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IDA7XHJcbiAgICAgICAgICAgIGxldCBiYWxsID0gdGhpcy5iYWxsX0FycmF5WzBdO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MTsgaTwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZTIodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ktMV0ueCx0aGlzLmJhbGxfQXJyYXlbaS0xXS55KTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvL+Wksei0pVxyXG4gICAgbG9zZUxldmVsKHR5cGUpe1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgIGxldCBiYWxsID0gdGhpcy5iYWxsX0FycmF5WzBdO1xyXG4gICAgICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtrXSlcclxuICAgICAgICAgICAgICAgIC50bygyLHt4OmJhbGwueCx5OmJhbGwueX0pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQodHlwZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVfQXJyYXkucHVzaCgoY2xpY2tUaW1lIC0gdGhpcy50aW1lU3RhcnQpKVxyXG4gICAgICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTsgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIC8vIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS5nZXRDaGlsZEJ5TmFtZShcImd1YW5nXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIH0sIDIwMCk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IHRoaXMubm93X0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVyVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuc3RhcnRUaW1lID4gMCAmJiB0aGlzLm92ZXJUaW1lID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSArPSAodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmiJDlip9cIixHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUsdGhpcy5vdmVyVGltZSx0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjMzMzMzMzMzXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHdpbiA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIldpblwiKTtcclxuICAgICAgICAgICAgICAgICAgICB3aW4uYWN0aXZlID0gdHJ1ZTsgd2luLnNldFNjYWxlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdpbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91bmQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgc3VuQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMubW92ZUFycmF5Lmxlbmd0aDttKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSA9PSB0aGlzLnJlcGVhdCB8fCBtID09IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVttXSA9IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKHRoaXMubW92ZUFycmF5W21dKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDttKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSA9PSB0aGlzLnJlcGVhdCB8fCBtID09IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzczp0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsU3VuQ291bnQ6dGhpcy5ub3dfQXJyYXkubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5TcGVlZDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXBTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLnJlcGVhdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmaWN1bHR5TGV2ZWw6dGhpcy5sZXZlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluZGVyOnRoaXMuY291bnRUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3V0UHV0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sZXZlbCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB0aGlzLmhpdEFjdGlvbihkYXRhKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgc2V0TG9zcygpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vdmVyVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIGlmKHRoaXMuc3RhcnRUaW1lID4gMCAmJiB0aGlzLm92ZXJUaW1lID4gMCl7XHJcbiAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSArPSAodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGZpbmlzaF90aW1lID0gcGFyc2VJbnQoKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSkvMTAwK1wiXCIpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDsgdGhpcy5vdmVyVGltZSA9IDA7XHJcbiAgICAgICAgbGV0IGNvbG9yID0gXCJ5XCI7XHJcbiAgICAgICAgaWYodGhpcy5sZXZlbCA8IDQgJiYgdGhpcy5sZXZlbCA+IDEpY29sb3IgPSBcInlyXCI7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLmxldmVsID49IDQpIGNvbG9yID0gXCJ5cmJcIjtcclxuICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gXHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEEgPSBcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgc3VjY2VzczpmYWxzZSxcclxuICAgICAgICAgICAgcm91bmQ6dGhpcy5yb3VuZCxcclxuICAgICAgICAgICAgdG90YWxTdW5Db3VudDp0aGlzLm5vd19BcnJheS5sZW5ndGgsXHJcbiAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICBzdW5TcGVlZDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVTcGVlZCxcclxuICAgICAgICAgICAgb3ZlcmxhcFN1bkNvdW50OkdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ucmVwZWF0LFxyXG4gICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgZHVyYXRpb246ZmluaXNoX3RpbWUvMTAsXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHlMZXZlbDp0aGlzLmxldmVsLFxyXG4gICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6dGhpcy50aW1lX0FycmF5LFxyXG4gICAgICAgICAgICByZW1haW5kZXI6dGhpcy5jb3VudFRpbWVcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vdXRQdXQoKTtcclxuICAgICAgICB0aGlzLnNldERhdGEoKTtcclxuICAgICAgICBpZih0aGlzLmZ1aHVvID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+IDIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZXZlbCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgLnRvKDAuMjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBoaXRBY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gdHJ1ZTsgdGhpcy5oaXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5oaXQuc2V0UG9zaXRpb25cclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvbih0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueCszNSx0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueSszNSk7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5oaXQpXHJcbiAgICAgICAgLnRvKDAse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4yLHtwb3NpdGlvbjpjYy52Myh0aGlzLmhpdC54LTM1LHRoaXMuaGl0LnktMzUsMCl9KVxyXG4gICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+W8gOWni+a4uOaIj1xyXG4gICAgc3RhcnRHYW1lKCl7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlICYmIHRoaXMuY291bnRUaW1lID4gMCl7XHJcbiAgICAgICAgICAgIHRoaXMucGF1c2UgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN1bigpO1xyXG4gICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTUsc2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMucnVuR2FtZSgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJ1bkdhbWUoKXtcclxuICAgICAgICBsZXQgdGltZSA9IC02NTA7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5ub3dfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICB0aW1lID0gdGhpcy5ub3dfQXJyYXlbaV0udGltZSoxMDAwICsgdGltZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0ZW1wID0gdGhpcy5ub3dfQXJyYXlbaV0udGltZUNvdW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRlbXAgPiAwLjUpIHRlbXAgPSAwLjU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSAhPSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5iYWxsICYmIHRoaXMubm93X0FycmF5W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5ub3dfQXJyYXlbaV0ueCx0aGlzLm5vd19BcnJheVtpXS55KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAgICAgICAgIC50byh0aGlzLm5vd19BcnJheVtpXS50aW1lLXRlbXAse3g6dGhpcy5ub3dfQXJyYXlbaV0ueCx5OnRoaXMubm93X0FycmF5W2ldLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgIC50bygwLjEse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlQmFsbChpLHRoaXMubm93X0FycmF5W2ldLmNvbG9yLHRoaXMubm93X0FycmF5W2ldLnNwZWVkLHRoaXMubm93X0FycmF5W2ldLnJlcGVhdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gdGhpcy5ub3dfQXJyYXkubGVuZ3RoIC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZ2luR2FtZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZU51bWJlcjwxKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE1MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aW1lKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVNb3ZlKCl7XHJcbiAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlKXtcclxuICAgICAgICAgICAgbGV0IGluZm8gPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgICAgICAvL+aUueWPmOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICB2YXIgc3BlZWQgPSA3O1xyXG4gICAgICAgICAgICBpZihpbmZvLm1vdmVTcGVlZCA+PSAyKXtcclxuICAgICAgICAgICAgICAgIHNwZWVkID0gNyAtIGluZm8ubW92ZVNwZWVkLzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5yZXBlYXQgPT0gMSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlcGVhdCAgPSBwYXJzZUludCgoTWF0aC5yYW5kb20oKSooaW5mby5udW1iZXItMSkrMSkgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIGxldCB0ZW1wTnVtYmVyID0gMDtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMucmVwZWF0ID0gNDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA+IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSo0ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID09IChpbmZvLm51bWJlci0xKSkgIC8v5aaC5p6c5piv5pyA5ZCO5LiA5LiqIOS4jeiDvei3n+esrOS4gOS4qumHjeWPoFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgIC0gcGFyc2VJbnQoIChNYXRoLnJhbmRvbSgpKjMgKyAyKSsgXCJcIilcclxuICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheVt0aGlzLnJlcGVhdCBdID0gdGVtcE51bWJlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7IC8vIDAgMSAyIDMgNCA1IFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIDYgLSAzIC0gMSAgPSAyIDQgIDAxIDRcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gMCkgdGhpcy5yZXBlYXQgID0gMTtcclxuICAgICAgICAgICAgICAgICAgICBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IGluZm8ubnVtYmVyIC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAtIDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPiAyKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci10aGlzLnJlcGVhdCAtMikgKyBcIlwiKSArIHRoaXMucmVwZWF0ICArIDIgO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAtIDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheVt0aGlzLnJlcGVhdF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZU51bWJlciA+IDApe1xyXG4gICAgICAgICAgICAgICAgLy8wIDEgMiAzIDQgNSA2IDcgOCA5XHJcbiAgICAgICAgICAgICAgICAvL+WPr+enu+WKqOWMuuWIhlxyXG4gICAgICAgICAgICAgICAgbGV0IHBvcyA9IGNjLnYyKDAsMCk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8v6K6+572u6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5udW1iZXJSZXBlYXQgPSAtMTtcclxuXHJcbiAgICAgICAgICAgICAgICAvL+WwhumHjeWPoOeahOiuvue9ruS4uuS4jeWPr+enu+WKqCAgMSAxIDEgMSAwIDAgMSAwIDAgMCAgIC8gMiA3XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGsgPTA7IGs8dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO2srKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlba109PTEgJiYgKGsgPT0gdGhpcy5yZXBlYXQgfHwgayA9PSB0aGlzLm51bWJlclJlcGVhdCkpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG0gPSB0aGlzLm1vdmVBcnJheS5sZW5ndGgtMTsgbSA+PSAwOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobSAhPSBrICYmIHRoaXMubW92ZUFycmF5W21dID09IDAgJiYgbSE9IHRoaXMucmVwZWF0ICYmIG0hPSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W2tdID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtICA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBpID0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5IFtpXSA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZU91dCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IHRoaXMuZ2V0UG9zMih0cnVlLGkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Qb3NfQXJyYXlbaV0gPSBwb3M7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRpbWVPdXQqMzAwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgICBtb3ZlQWN0aW9uKCl7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBcnJheSgpO1xyXG4gICAgICAgIGxldCBtb3ZlQXJyYXkgPSB0aGlzLm1vdmVBcnJheTtcclxuICAgICAgICBsZXQgaW5mbyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/mlLnlj5jnp7vliqjpgJ/luqZcclxuICAgICAgICB2YXIgc3BlZWQgPSA3O1xyXG4gICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICBzcGVlZCA9IDcgLSBpbmZvLm1vdmVTcGVlZC8yO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICBpZihpbmZvLm1vdmVOdW1iZXIgPiAwKXtcclxuICAgICAgICAgICAgLy8wIDEgMiAzIDQgNSA2IDcgOCA5XHJcbiAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgIGxldCBwb3MgPSBjYy52MigwLDApO1xyXG5cclxuXHJcbiAgICAgICAgICAgIC8vIHRoaXMucmVwZWF0ID0gLTE7XHJcbiAgICAgICAgICAgIC8vIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcblxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICBmb3IobGV0IGsgPTA7IGs8dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO2srKyl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheVtrXT09MSAmJiAoayA9PSB0aGlzLnJlcGVhdCB8fCBrID09IHRoaXMubnVtYmVyUmVwZWF0KSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYobSAhPSBrICYmIHRoaXMubW92ZUFycmF5W21dID09IDAgJiYgbSE9IHRoaXMucmVwZWF0ICYmIG0hPSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVttXSA9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtICA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgbGFzdE51bWJlciA9IDA7XHJcbiAgICAgICAgICAgIC8v6ZSB5a6a5pyA5ZCO5LiA5Liq5Y+v56e75Yqo55qEXHJcbiAgICAgICAgICAgIGZvcihsZXQgaiA9MDsgajxtb3ZlQXJyYXkubGVuZ3RoO2orKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtb3ZlQXJyYXlbal09PTEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxhc3ROdW1iZXIgPSBqO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmb3IobGV0IGkgPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2ldID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgIT0gbGFzdE51bWJlcil7ICAgIC8v5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq56e75Yqo55qEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZTModGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksdGhpcy5Qb3NfQXJyYXlbaV0ueCx0aGlzLlBvc19BcnJheVtpXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2ldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8odGltZSx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbaV19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKpcclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHNwZWVkKnRoaXMuY2FsY3VsYXRlRGlzdGFuY2UzKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYmVnaW5HYW1lKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSB0aGlzLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMucGF1c2UgPSBmYWxzZTtcclxuICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmFuZG9tQXJyYXkobGFzdE51bWJlcil7XHJcbiAgICAgICAgbGV0IG51bSA9ICBwYXJzZUludChNYXRoLnJhbmRvbSgpKjggLSA0ICsgXCJcIik7XHJcbiAgICAgICAgbGV0IGpnID0gbnVtICsgbGFzdE51bWJlcjtcclxuICAgICAgICBpZihudW0gPiAxIHx8IG51bSA8LTEpe1xyXG4gICAgICAgICAgICBpZiggbnVtID09IDAgfHwgKCBqZzwwIHx8IGpnID49IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCkpe1xyXG4gICAgICAgICAgICAgICAgamcgPSB0aGlzLmdldFJhbmRvbUFycmF5KGxhc3ROdW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGpnID0gdGhpcy5nZXRSYW5kb21BcnJheShsYXN0TnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgLy/liJvlu7rlpKrpmLPmiYDpnIDmlbDmja5cclxuICAgIGNyZWF0ZVN1bigpe1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIGxldCB0aWVtT3V0ID0gMDtcclxuICAgICAgICBmb3IobGV0IGw9MDsgbDxsZXZlbERhdGEubnVtYmVyO2wrKyl7XHJcbiAgICAgICAgICAgIHRpZW1PdXQgKz0gMTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3MgPSB0aGlzLmdldFBvcyhmYWxzZSxsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKHBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID09IGxldmVsRGF0YS5udW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3MoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aWVtT3V0KjEwMCk7XHJcbiBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gMCAwIDAgMCAwIDAgICAgIDAgICAgMCAwIDAgMFxyXG5cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVQb3MoKXtcclxuICAgICAgICBsZXQgZGF0YSA9IHt4OnRoaXMuYmFsbC54LHk6dGhpcy5iYWxsLnksdGltZTowLHRpbWVDb3VudDowLGNvbG9yOjAsc3BlZWQ6MCxyZXBlYXQ6ZmFsc2V9O1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIC8v6aKc6Imy5Yy65YiGXHJcbiAgICAgICAgbGV0IGNvbG9yQXJyYXkgPSBbMCwxXTtcclxuICAgICAgICBmb3IobGV0IGo9MDsgajxsZXZlbERhdGEubnVtYmVyLTI7aisrKXtcclxuICAgICAgICAgICAgbGV0IGNvbG9yVGVtcCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqMytcIlwiKTtcclxuICAgICAgICAgICAgaWYobGV2ZWxEYXRhLm51bWJlciA8IDYgJiYgY29sb3JUZW1wID09IDIpIGNvbG9yVGVtcCA9IDA7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkucHVzaChjb2xvclRlbXApO1xyXG4gICAgICAgICAgICBjb2xvckFycmF5LnNvcnQoKCkgPT4gTWF0aC5yYW5kb20oKSAtIDAuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyID09IDQpIGNvbG9yQXJyYXkgPSBbMCwwLDAsMF07XHJcbiAgICAgICAgdGhpcy5jb2xvcl9BcnJheSA9IGNvbG9yQXJyYXk7XHJcblxyXG5cclxuICAgICAgICBmb3IobGV0IGk9MDsgaTxsZXZlbERhdGEubnVtYmVyO2krKyl7XHJcbiAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSB0aGlzLnRpbWVDb3VudCArICgwLjYtdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkpKTtcclxuICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJ1bkdhbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuXHJcbiAgICAgICAgbGV0IHBvaW50ID0gY2MudjIocG9zWCxwb3NZKTtcclxuICAgICAgIFxyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQb3MyKHR5cGUsbnVtKXtcclxuXHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG5cclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgXHJcbiBcclxuICAgICAgICBpZih0aGlzLlBvc19BcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5Qb3NfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGlzdGFuY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGxldCBwZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBudW0pIHBkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGRpc3RhbmNlID0gdGhpcy5nZXREaXN0YW5jZTIocG9zWCxwb3NZLHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSxwZClcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnQgPSB0aGlzLmdldFBvczIodHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuXHJcbiAgICBnZXREaXN0YW5jZSh4MSwgeTEsIHgyLCB5MixudW0pIHtcclxuICAgICAgICB2YXIgamcgPSBmYWxzZTtcclxuICAgICAgICBjb25zdCBkeCA9IHgyIC0geDE7XHJcbiAgICAgICAgY29uc3QgZHkgPSB5MiAtIHkxO1xyXG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KTtcclxuICAgICAgICBpZihkaXN0YW5jZSA+IDE2MCl7XHJcbiAgICAgICAgICAgIGlmKG51bSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlIDwgR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA8IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubWF4TW92ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2UgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGlzdGFuY2UyKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNyZWF0ZUJhbGwobnVtYmVyLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgbGV0IGJhbGwgPSBudWxsO1xyXG4gICAgICAgIGlmKGNvbG9yID09IDApYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1MSk7XHJcbiAgICAgICAgZWxzZSBpZihjb2xvciA9PSAxKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTIpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMiliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUzKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMubm93X0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3lMaW5lKCkge1xyXG4gICAgICAgIGZvcihsZXQgaSA9MDsgaTwgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbi5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikucmVtb3ZlQWxsQ2hpbGRyZW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVMaW5lKHN0YXJ0LGVuZCx0aW1lKXtcclxuICAgICAgICBsZXQgbGluZSA9IGNjLmluc3RhbnRpYXRlKHRoaXMubGluZVByZWZhYik7XHJcbiAgICAgICAgbGluZS5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpO1xyXG4gICAgICAgIGxpbmUuc2V0UG9zaXRpb24oc3RhcnQueCxzdGFydC55KTtcclxuICAgIFxyXG4gICAgICAgIGNvbnN0IGR4ID0gZW5kLnggLSBzdGFydC54O1xyXG4gICAgICAgIGNvbnN0IGR5ID0gZW5kLnkgLSBzdGFydC55O1xyXG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KTtcclxuICAgICAgICBsaW5lLmhlaWdodCA9IGRpc3RhbmNlO1xyXG4gICAgICAgIGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuZmlsbFJhbmdlID0gMDtcclxuICAgICAgICBsaW5lLmFuZ2xlID0gLXRoaXMuY2FsY3VsYXRlQW5nbGUoc3RhcnQueCxzdGFydC55LGVuZC54LGVuZC55KTtcclxuICAgICAgICBjYy50d2VlbihsaW5lLmdldENvbXBvbmVudChjYy5TcHJpdGUpKVxyXG4gICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlQW5nbGUoeDEsIHkxLCB4MiwgeTIpIHtcclxuICAgICAgICB2YXIgYW5nbGUgPSBNYXRoLmF0YW4yKHkyLXkxLHgyLXgxKSoxODAgLyBNYXRoLlBJIC0gOTA7XHJcbiAgICAgICAgcmV0dXJuIC1hbmdsZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gODAwKSBkaXN0YW5jZSA9IDgwMDtcclxuICAgICAgICBjb25zdCB0aW1lID0gZGlzdGFuY2UvODAwICogMC42O1xyXG4gICAgICAgIHJldHVybiB0aW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlMih4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTIwMCkgZGlzdGFuY2UgPSAxMjAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMTtcclxuICAgICAgICByZXR1cm4gdGltZTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZTMoeDEsIHkxLCB4MiwgeTIpIHtcclxuICAgICAgICBjb25zdCBkeCA9IHgyIC0geDE7XHJcbiAgICAgICAgY29uc3QgZHkgPSB5MiAtIHkxO1xyXG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCpkeCArIGR5KmR5KTtcclxuICAgICAgICBpZihkaXN0YW5jZSA+IDEyMDApIGRpc3RhbmNlID0gMTIwMDtcclxuICAgICAgICBjb25zdCB0aW1lID0gZGlzdGFuY2UvMTIwMCAqIDEuNTtcclxuICAgICAgICByZXR1cm4gdGltZTtcclxuICAgIH1cclxuXHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgXHJcbiAgICAgICAgbGV0IHkxID0gdGhpcy5iZzEueSAtIHJhbmRvbSp0eXBlO1xyXG4gICAgICAgIC8vIGxldCB5MiA9IHRoaXMuYmcyLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG5cclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAudG8odGltZTEse3g6cG9zWH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcblxyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmcxKVxyXG4gICAgICAgIC5kZWxheSgwLjMpXHJcbiAgICAgICAgLnRvKHRpbWUxLHt5OnkxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuXHJcbiAgICAgICAgLy8gY2MudHdlZW4odGhpcy5iZzIpXHJcbiAgICAgICAgLy8gLmRlbGF5KDAuMylcclxuICAgICAgICAvLyAudG8odGltZTEse3k6eTJ9KVxyXG4gICAgICAgIC8vIC5zdGFydCgpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgLy8gaWYodGhpcy5vdmVyID09IGZhbHNlICYmIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9PSAwKXtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgaWYodGhpcy5vdmVyID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgXHJcbiAgICAgICAgfSwgdGltZTEqMTUwMCk7XHJcbiAgICB9XHJcbiAgICAvL+aXtumXtOagvOW8j+i9rOaNolxyXG4gICAgZ2V0VGltZU1hcmdpbihzZWNvbmQ6bnVtYmVyKSB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgaG91ciA9IDA7XHJcbiAgICAgICAgaG91ciA9IHBhcnNlSW50KCh0b3RhbCAvIDM2MDApICsgXCJcIik7Ly/orqHnrpfmlbTmlbDlsI/ml7bmlbBcclxuICAgICAgICBsZXQgYWZ0ZXJIb3VyID0gdG90YWwgLSBob3VyICogNjAgKiA2MDsvL+WPluW+l+eul+WHuuWwj+aXtuaVsOWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaW4gPSBwYXJzZUludCgoYWZ0ZXJIb3VyIC8gNjApK1wiXCIpOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgbGV0IG0gPSBcIlwiICsgbWluOyAgXHJcbiAgICAgICAgaWYobWluIDwgMTApIG0gPSBcIjBcIittaW47XHJcbiAgICAgICAgbGV0IGFmdGVyTWluID0gdG90YWwgLSBob3VyICogNjAgKiA2MCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pYW8gPSBhZnRlck1pbiArIFwiXCI7XHJcbiAgICAgICAgaWYoYWZ0ZXJNaW4gPCAxMCkgbWlhbyA9IFwiMFwiICsgYWZ0ZXJNaW47XHJcbiAgICAgICAgcmV0dXJuIG0gKyAnOicgKyBtaWFvXHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAvL+WmguaenOaYr+WAkuiuoeaXtiDosIPnlKjmraTmlrnms5VcclxuICAgIHVwZGF0ZUNvdW50RG93blRpbWUgKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvdW50VGltZSA+IDAgJiYgdGhpcy5wYXVzZSA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvdW50VGltZSAtPSAxO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gdGhpcy5nZXRUaW1lTWFyZ2luKHRoaXMuY291bnRUaW1lKTtcclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPCA1KXtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMudGltZS5ub2RlKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMjUse3NjYWxlOjEuNSxjb2xvcjpjYy5jb2xvcigyNTUsMCwwKX0pXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yNSx7c2NhbGU6MSxjb2xvcjpjYy5jb2xvcigyNTUsMjU1LDI1NSl9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgICAgIGxldCBvdmVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiT3ZlclwiKTtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDw9IDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb3NzKCk7XHJcbiAgICAgICAgICAgICAgICB2YXIgdGltZSA9IDA7XHJcbiAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSx0aGlzLmNsaWNrQ291bnQpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja0NvdW50ID4gMCkgdGltZSA9IHBhcnNlSW50KEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZS90aGlzLmNsaWNrQ291bnQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSA9IHBhcnNlSW50KHRpbWUvMTAwICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgLzEwO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSx0aW1lKTtcclxuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgICAgICAgICAgICAgaWYodGltZSA+IDEwMDAwKSB0aW1lID0gKE1hdGgucmFuZG9tKCkqMTArNSkqMTAwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRSYW5rKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldERhdGEoKXtcclxuICAgICAgICBsZXQgZGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhtYXRjaElkKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBIdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoSWRcIik7XHJcblxyXG4gICAgICAgIGlmKG1hdGNoSWQgPT0gXCJ1bmRpZmVuZFwiIHx8IG1hdGNoSWQ9PW51bGwpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IGNoYXIgPSBwYXJzZUludChtYXRjaElkWzEwXSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnJvdW5kID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gbWF0Y2hJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLG1hdGNoSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH1cclxuXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgIFxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFJhbmsodGltZSl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiB0aW1lLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2cocG9zdERhdGEpO1xyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDEsZnVuY3Rpb24oKXt9LHBvc3REYXRhKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMilcclxuICAgICAgICAudG8oMC40LHtvcGFjaXR5OjUwfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiT3ZlclNjZW5lXCIpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KClcclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgb3V0UHV0KCl7XHJcblxyXG4gICAgICAgIGxldCBkYXRhID0gR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEE7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdBTUVfREFUQSA9IFtdO1xyXG5cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR0FNRV9EQVRBLnB1c2goR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5DTElDS19pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd051bWJlcigpe1xyXG4gICAgICAgIGlmKHRoaXMuc2hvdyA9PSBmYWxzZSkgdGhpcy5zaG93ID0gdHJ1ZTtcclxuICAgICAgICBlbHNlIGlmKHRoaXMuc2hvdyA9PSB0cnVlKSB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLnNob3dOdW1iZXIodGhpcy5zaG93KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgICAgICAvLyBOb3RpZmljYXRpb24ub24oXCJIYW1tZXJQbGF5XCIsIHRoaXMuSGFtbWVyUGxheSwgdGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICAvLyBOb3RpZmljYXRpb24ub2ZmKFwicmlnaHRBbnN3ZXJzXCIsIHRoaXMucmlnaHRBbnN3ZXJzKTtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuICBcclxuICAgIH1cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTO0FBQ0gsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsdUNBQWtDO0FBQ2xDLCtDQUE4QztBQUM5QyxnREFBMEM7QUFFMUM7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFrL0JDO1FBaC9CRyxVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFjLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDO1FBRTdCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFDcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUNwQixTQUFHLEdBQVksSUFBSSxDQUFDO1FBQ3BCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDdEIsV0FBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixXQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSSxHQUFZLEtBQUssQ0FBQztRQW9CdEIsZ0JBQVUsR0FBYSxJQUFJLENBQUM7O0lBMjhCaEMsQ0FBQztJQXA4QkcsNEJBQU0sR0FBTixjQUFXLENBQUM7SUFDWiwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMs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QVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzZDQUNHO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7bURBQ1M7SUFFN0I7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDRTtJQTJCcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzttREFDUztJQXZDWCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBay9CL0I7SUFBRCxrQkFBQztDQWwvQkQsQUFrL0JDLENBbC9Cd0MsRUFBRSxDQUFDLFNBQVMsR0FrL0JwRDtrQkFsL0JvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8g5Li75ri45oiP5o6n5Yi257G7XHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi9HYW1lRGF0YSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uJztcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gJy4vY3J5cHRvL3NlcnZlckFQSSc7XHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdhbWVNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgYmFsbDogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcWl1MTogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICBxaXUyOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTM6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgaGl0OiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGJnMTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBiZzI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG4gICAgYmVnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZ1aHVvOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBvdmVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBjb3VudFRpbWU6bnVtYmVyO1xyXG4gICAgdGltZUNvdW50Om51bWJlcjtcclxuICAgIGZpdFRvcDpudW1iZXI7XHJcbiAgICBmaXRCb3Q6bnVtYmVyO1xyXG4gICAgbGV2ZWw6bnVtYmVyO1xyXG4gICAgY2xpY2tOb3c6bnVtYmVyO1xyXG4gICAgc3RhcnRUaW1lOm51bWJlcjtcclxuICAgIG92ZXJUaW1lOm51bWJlcjtcclxuICAgIHdpblRpbWU6bnVtYmVyO1xyXG4gICAgY2xpY2tDb3VudDpudW1iZXI7XHJcbiAgICB0aW1lU3RhcnQ6bnVtYmVyO1xyXG4gICAgcm91dGVfQXJyYXk6IGFueVtdO1xyXG4gICAgbm93X0FycmF5OiBhbnlbXTtcclxuICAgIGJhbGxfQXJyYXk6IGFueVtdO1xyXG4gICAgTGluZV9BcnJheTogYW55W107XHJcbiAgICBQb3NfQXJyYXk6IGFueVtdO1xyXG4gICAgdGltZV9BcnJheTogYW55W107XHJcbiAgICBjb2xvcl9BcnJheTogYW55W107XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICBsZXZlbExhYmVsOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBzdGF0aWMgX2luc3RhbmNlOiBhbnk7XHJcbiAgICBtb3ZlQXJyYXk6IG51bWJlcltdO1xyXG4gICAgcmVwZWF0OiBudW1iZXI7XHJcbiAgICBudW1iZXJSZXBlYXQ6IG51bWJlcjtcclxuICAgIHJvdW5kOiBudW1iZXI7XHJcbiAgICBwYXVzZTogYm9vbGVhbjtcclxuICAgIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuZml0KCk7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLnpJbmRleCA9IDEwMDtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuYmcxID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcxXCIpO1xyXG4gICAgICAgIHRoaXMuYmcyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmcyXCIpO1xyXG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInRpbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzaG93QnRuXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZ1aHVvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdXNlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJvdW5kID0gMDsgXHJcbiAgICAgICAgdGhpcy5sZXZlbCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSA2MDtcclxuICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gIT0gMCl7XHJcbiAgICAgICAgICAgIHRoaXMubGV2ZWwgPSBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b207XHJcbiAgICAgICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMTIwMDAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMubGV2ZWxMYWJlbC5zdHJpbmcgPSB0aGlzLmxldmVsICsgXCJcIjtcclxuICAgICAgICB0aGlzLnRpbWVDb3VudCA9IDAuMTtcclxuICAgICAgICB0aGlzLmNsaWNrTm93ID0gMDtcclxuICAgICAgICB0aGlzLmNsaWNrQ291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5yb3V0ZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW92ZUFycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLlBvc19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGltZV9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY29sb3JfQXJyYXkgPSBbXTtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uc3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gMDtcclxuICAgICAgICB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICB0aGlzLndpblRpbWUgPSAwO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsID0gMDtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+agueaNruaYr+WQpuWFqOmdouWxj++8jOWBmueLrOeri+mAgumFjeaWuemdolxyXG4gICAgZml0KCl7XHJcbiAgICAgICAgdGhpcy5maXRUb3AgPSA0NTA7ICAvLzYwMFxyXG4gICAgICAgIHRoaXMuZml0Qm90ID0gLTYwMDsgLy8tNzAwXHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5zZXRGaXQoKTtcclxuICAgICAgICBpZighamcpe1xyXG4gICAgICAgICAgICB0aGlzLmZpdFRvcCA9IDYwMDtcclxuICAgICAgICAgICAgdGhpcy5maXRCb3QgPSAtNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat5YWo6Z2i5bGPXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZyAoKSB7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IHNpemUud2lkdGg7XHJcbiAgICAgICAgbGV0IGhlaWdodCA9IHNpemUuaGVpZ2h0O1xyXG4gICAgICAgIGlmICgoaGVpZ2h0IC8gd2lkdGgpID4gKDE2LjIgLyA5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdCAoKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSB0aGlzLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH1cclxuICAgIC8v6L+U5Zue6aaW6aG1XHJcbiAgICBiYWNrU2NlbmUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+S4i+S4gOWFs++8jOaIluiAhemHjeaWsOW8gOWni++8jOaIluiAhei/lOWbnuS4iuS4gOWFs++8jOagueaNrmxldmVs5Yaz5a6aXHJcbiAgICByZVN0YXJ0KHR5cGUpe1xyXG4gICAgICAgIC8vIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSAhPSAwKXtcclxuICAgICAgICAvLyAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIHRoaXMudGltZUNvdW50ID0gMC4xO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gMDtcclxuICAgICAgICB0aGlzLnJlcGVhdCA9IC0xO1xyXG4gICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gLTE7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucm91dGVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm5vd19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5tb3ZlQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnRpbWVfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gW107XHJcbiAgICAgICAgaWYodHlwZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5iZ01vdmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLmJnTW92ZSgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICAvL+iOt+iDnFxyXG4gICAgcGFzc0xldmVsKCl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgdGltZUNvdW50ID0gMDtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0xOyBpPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSwyKTtcclxuICAgICAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAudG8odGltZUFycmF5W2stMV0se3g6dGhpcy5iYWxsX0FycmF5W2tdLngseTp0aGlzLmJhbGxfQXJyYXlba10ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoayA9PSB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWxsLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTdW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlU3RhcnQoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5aSx6LSlXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSAmJiB0aGlzLmNvdW50VGltZSA+PSAwKXtcclxuICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2tdKVxyXG4gICAgICAgICAgICAgICAgLnRvKDIse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwucG9zaXRpb24gPSBjYy52MyhiYWxsLngsYmFsbC55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVTdGFydCh0eXBlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF55CG5aSq6ZizXHJcbiAgICBjbGVhclN1bigpe1xyXG4gICAgICAgIGZvcihsZXQgaz0wOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10ucmVtb3ZlRnJvbVBhcmVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrQ291bnQgKz0gMTtcclxuICAgICAgICAgICAgbGV0IGNsaWNrVGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRpbWVfQXJyYXkucHVzaCgoY2xpY2tUaW1lIC0gdGhpcy50aW1lU3RhcnQpKVxyXG4gICAgICAgICAgICB0aGlzLnRpbWVTdGFydCA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTsgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLmdldENoaWxkQnlOYW1lKFwiZ3VhbmdcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IHRoaXMubm93X0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gdGhpcy5jbGlja05vdztcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJUaW1lID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zdGFydFRpbWUgPiAwICYmIHRoaXMub3ZlclRpbWUgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICs9ICh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmluaXNoX3RpbWUgPSBwYXJzZUludCgodGhpcy5vdmVyVGltZSAtIHRoaXMuc3RhcnRUaW1lKS8xMDArXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRpbWUgPSAwOyB0aGlzLm92ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsIDwgNCAmJiB0aGlzLmxldmVsID4gMSljb2xvciA9IFwieXJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMubGV2ZWwgPj0gNCkgY29sb3IgPSBcInlyYlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXaW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdW5kICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN1bkFycmF5ID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLm1vdmVBcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbbV0gPSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCh0aGlzLm1vdmVBcnJheVttXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtPTAgOyBtPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7bSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gPT0gdGhpcy5yZXBlYXQgfHwgbSA9PSB0aGlzLm51bWJlclJlcGVhdCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5BcnJheS5wdXNoKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5DTElDS19EQVRBID0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6MSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6dHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kOnRoaXMucm91bmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVkU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VuU3BlZWQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlU3BlZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvckxpc3Q6dGhpcy5jb2xvcl9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOmZpbmlzaF90aW1lLzEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW5MaXN0OnN1bkFycmF5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcFRpbWVMaXN0OnRoaXMudGltZV9BcnJheSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPj0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmxldmVsID49IDE1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxldmVsICs9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZnVodW8gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGV2ZWwgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmxldmVsTGFiZWwuc3RyaW5nID0gdGhpcy5sZXZlbCArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzTGV2ZWwoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0TG9zcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/miafooYzlpLHotKVcclxuICAgIHNldExvc3MoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlXYXJuaW5nKCk7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub3ZlclRpbWUgPSB0aGlzLmdldFRpbWUoKTtcclxuICAgICAgICBpZih0aGlzLnN0YXJ0VGltZSA+IDAgJiYgdGhpcy5vdmVyVGltZSA+IDApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgKz0gKHRoaXMub3ZlclRpbWUgLSB0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBmaW5pc2hfdGltZSA9IHBhcnNlSW50KCh0aGlzLm92ZXJUaW1lIC0gdGhpcy5zdGFydFRpbWUpLzEwMCtcIlwiKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IDA7IHRoaXMub3ZlclRpbWUgPSAwO1xyXG4gICAgICAgIGxldCBjb2xvciA9IFwieVwiO1xyXG4gICAgICAgIGlmKHRoaXMubGV2ZWwgPCA0ICYmIHRoaXMubGV2ZWwgPiAxKWNvbG9yID0gXCJ5clwiO1xyXG4gICAgICAgIGVsc2UgaWYodGhpcy5sZXZlbCA+PSA0KSBjb2xvciA9IFwieXJiXCI7XHJcbiAgICAgICAgdGhpcy5yb3VuZCArPSAxO1xyXG4gICAgICAgIGxldCBzdW5BcnJheSA9IFtdO1xyXG4gICAgICAgIGlmKHRoaXMubW92ZUFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IG09MCA7IG08dGhpcy5tb3ZlQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2godGhpcy5tb3ZlQXJyYXlbbV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGZvcihsZXQgbT0wIDsgbTx0aGlzLmJhbGxfQXJyYXkubGVuZ3RoO20rKyl7XHJcbiAgICAgICAgICAgICAgICBpZihtID09IHRoaXMucmVwZWF0IHx8IG0gPT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bkFycmF5LnB1c2goMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgc3VuQXJyYXkucHVzaCgwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSA9IFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZToxLFxyXG4gICAgICAgICAgICBzdWNjZXNzOmZhbHNlLFxyXG4gICAgICAgICAgICByb3VuZDp0aGlzLnJvdW5kLFxyXG4gICAgICAgICAgICB0b3RhbFN1bkNvdW50OnRoaXMubm93X0FycmF5Lmxlbmd0aCxcclxuICAgICAgICAgICAgbW92ZWRTdW5Db3VudDpHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1vdmVOdW1iZXIsXHJcbiAgICAgICAgICAgIHN1blNwZWVkOkdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV0ubW92ZVNwZWVkLFxyXG4gICAgICAgICAgICBvdmVybGFwU3VuQ291bnQ6R2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5yZXBlYXQsXHJcbiAgICAgICAgICAgIGNvbG9yTGlzdDp0aGlzLmNvbG9yX0FycmF5LFxyXG4gICAgICAgICAgICBkdXJhdGlvbjpmaW5pc2hfdGltZS8xMCxcclxuICAgICAgICAgICAgZGlmZmljdWx0eUxldmVsOnRoaXMubGV2ZWwsXHJcbiAgICAgICAgICAgIHN1bkxpc3Q6c3VuQXJyYXksXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDp0aGlzLnRpbWVfQXJyYXksXHJcbiAgICAgICAgICAgIHJlbWFpbmRlcjp0aGlzLmNvdW50VGltZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldERhdGEoKTtcclxuICAgICAgICBpZih0aGlzLmZ1aHVvID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKDEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5sZXZlbCA+IDIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sZXZlbCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5sZXZlbExhYmVsLnN0cmluZyA9IHRoaXMubGV2ZWwgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mdWh1byA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmZ1aHVvID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb3NlTGV2ZWwoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgIGNjLnR3ZWVuKG92ZXIpXHJcbiAgICAgICAgLnRvKDAuMjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5byA5aeL5ri45oiPXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2UgJiYgdGhpcy5jb3VudFRpbWUgPiAwKXtcclxuICAgICAgICAgICAgdGhpcy5wYXVzZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3VuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsKVxyXG4gICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjI1NSxzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aJp+ihjOWkqumYs+i/kOihjOWKqOeUu++8jOS7peWPiuWQjumdouenu+WKqOWKqOeUu1xyXG4gICAgcnVuR2FtZSgpe1xyXG4gICAgICAgIGxldCB0aW1lID0gLTY1MDtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIHRpbWUgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lKjEwMDAgKyB0aW1lO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXAgPSB0aGlzLm5vd19BcnJheVtpXS50aW1lQ291bnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGVtcCA+IDAuNSkgdGVtcCA9IDAuNTtcclxuICAgICAgICAgICAgICAgICAgICBpZihpICE9IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGwgJiYgdGhpcy5ub3dfQXJyYXlbaV0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVMaW5lKGNjLnYyKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KSxjYy52Mih0aGlzLm5vd19BcnJheVtpXS54LHRoaXMubm93X0FycmF5W2ldLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0udGltZS10ZW1wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKHRoaXMubm93X0FycmF5W2ldLnRpbWUtdGVtcCx7eDp0aGlzLm5vd19BcnJheVtpXS54LHk6dGhpcy5ub3dfQXJyYXlbaV0ueX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMSx7c2NhbGU6MX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKGksdGhpcy5ub3dfQXJyYXlbaV0uY29sb3IsdGhpcy5ub3dfQXJyYXlbaV0uc3BlZWQsdGhpcy5ub3dfQXJyYXlbaV0ucmVwZWF0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSB0aGlzLm5vd19BcnJheS5sZW5ndGggLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW5HYW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tb3ZlTnVtYmVyPDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdXNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgdGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/orr7nva7np7vliqjph43lj6DmlbDmja5cclxuICAgIGNyZWF0ZU1vdmUoKXtcclxuICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICBsZXQgaW5mbyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgICAgIC8v5pS55Y+Y56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgICAgIGlmKGluZm8ubW92ZVNwZWVkID49IDIpe1xyXG4gICAgICAgICAgICAgICAgc3BlZWQgPSA3IC0gaW5mby5tb3ZlU3BlZWQvMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihpbmZvLnJlcGVhdCA9PSAxKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVwZWF0ICA9IHBhcnNlSW50KChNYXRoLnJhbmRvbSgpKihpbmZvLm51bWJlci0xKSsxKSArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRlbXBOdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5yZXBlYXQgPSA0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yZXBlYXQgID4gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKjQgKyBcIlwiKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnJlcGVhdCAgPT0gKGluZm8ubnVtYmVyLTEpKSAgLy/lpoLmnpzmmK/mnIDlkI7kuIDkuKog5LiN6IO96Lef56ys5LiA5Liq6YeN5Y+gXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJSZXBlYXQgPSB0aGlzLnJlcGVhdCAgLSBwYXJzZUludCggKE1hdGgucmFuZG9tKCkqMyArIDIpKyBcIlwiKVxyXG4gICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0IF0gPSB0ZW1wTnVtYmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXsgLy8gMCAxIDIgMyA0IDUgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gNiAtIDMgLSAxICA9IDIgNCAgMDEgNFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ICA9PSAwKSB0aGlzLnJlcGVhdCAgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gaW5mby5udW1iZXIgLSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZigoaW5mby5udW1iZXItMS10aGlzLnJlcGVhdCApID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKChpbmZvLm51bWJlci0xLXRoaXMucmVwZWF0ICkgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyUmVwZWF0ID0gdGhpcy5yZXBlYXQgLSAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wTnVtYmVyID0gIHRoaXMuUG9zX0FycmF5W3RoaXMubnVtYmVyUmVwZWF0XTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoKGluZm8ubnVtYmVyLTEtdGhpcy5yZXBlYXQgKSA+IDIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHBhcnNlSW50KE1hdGgucmFuZG9tKCkqKGluZm8ubnVtYmVyLXRoaXMucmVwZWF0IC0yKSArIFwiXCIpICsgdGhpcy5yZXBlYXQgICsgMiA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBOdW1iZXIgPSAgdGhpcy5Qb3NfQXJyYXlbdGhpcy5udW1iZXJSZXBlYXRdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlclJlcGVhdCA9IHRoaXMucmVwZWF0IC0gMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcE51bWJlciA9ICB0aGlzLlBvc19BcnJheVt0aGlzLm51bWJlclJlcGVhdF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W3RoaXMucmVwZWF0XSA9IHRlbXBOdW1iZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAvLzAgMSAyIDMgNCA1IDYgNyA4IDlcclxuICAgICAgICAgICAgICAgIC8v5Y+v56e75Yqo5Yy65YiGXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoMCwwKTtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgej0wOyB6PGluZm8ubnVtYmVyOyB6Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W3pdID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcD0wOyBwPGluZm8ubW92ZU51bWJlcjsgcCsrKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtpbmZvLm51bWJlci0xLXBdID0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCB0aW1lT3V0ID0gMDtcclxuICAgICAgICAgICAgICAgIC8v5omT5Lmx5Y+v56e75Yqo6aG65bqPXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5tb3ZlQXJyYXlbMF0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCByPWluZm8ubnVtYmVyLTE7IHI+PTA7IHItLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W3JdID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbcl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQXJyYXlbMF0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy/lsIbph43lj6DnmoTorr7nva7kuLrkuI3lj6/np7vliqggIDEgMSAxIDEgMCAwIDEgMCAwIDAgICAvIDIgN1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBrID0wOyBrPHRoaXMubW92ZUFycmF5Lmxlbmd0aDtrKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBtID0gdGhpcy5tb3ZlQXJyYXkubGVuZ3RoLTE7IG0gPj0gMDsgbS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG0gIT0gayAmJiB0aGlzLm1vdmVBcnJheVttXSA9PSAwICYmIG0hPSB0aGlzLnJlcGVhdCAmJiBtIT0gdGhpcy5udW1iZXJSZXBlYXQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVBcnJheVtrXSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSAgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm1vdmVBcnJheSBbaV0gPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVPdXQgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSB0aGlzLmdldFBvczIodHJ1ZSxpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuUG9zX0FycmF5W2ldID0gcG9zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB0aW1lT3V0KjMwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v56e75Yqo5ZCO5pWw5o2uIOmHjeaWsOWIt+S4gOmBjei1i+WAvFxyXG4gICAgdXBkYXRlQXJyYXkoKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLm5vd19BcnJheS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICB0aGlzLm5vd19BcnJheVtpXS54ID0gdGhpcy5Qb3NfQXJyYXlbaV0ueDtcclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXlbaV0ueSA9IHRoaXMuUG9zX0FycmF5W2ldLnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lpKrpmLPliJ3lp4vljJblkI7np7vliqjmlrnms5VcclxuICAgIG1vdmVBY3Rpb24oKXtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFycmF5KCk7XHJcbiAgICAgICAgbGV0IG1vdmVBcnJheSA9IHRoaXMubW92ZUFycmF5O1xyXG4gICAgICAgIGxldCBpbmZvID0gR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXTtcclxuICAgICAgICAvL+aUueWPmOenu+WKqOmAn+W6plxyXG4gICAgICAgIHZhciBzcGVlZCA9IDc7XHJcbiAgICAgICAgaWYoaW5mby5tb3ZlU3BlZWQgPj0gMil7XHJcbiAgICAgICAgICAgIHNwZWVkID0gNyAtIGluZm8ubW92ZVNwZWVkLzI7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgaWYoaW5mby5tb3ZlTnVtYmVyID4gMCl7XHJcbiAgICAgICAgICAgIC8vMCAxIDIgMyA0IDUgNiA3IDggOVxyXG4gICAgICAgICAgICAvL+WPr+enu+WKqOWMuuWIhlxyXG4gICAgICAgICAgICAvL+WwhumHjeWPoOeahOiuvue9ruS4uuS4jeWPr+enu+WKqCAgMSAxIDEgMSAwIDAgMSAwIDAgMCAgIC8gMiA3XHJcbiAgICAgICAgICAgIGZvcihsZXQgayA9MDsgazx0aGlzLm1vdmVBcnJheS5sZW5ndGg7aysrKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubW92ZUFycmF5W2tdPT0xICYmIChrID09IHRoaXMucmVwZWF0IHx8IGsgPT0gdGhpcy5udW1iZXJSZXBlYXQpKXtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IG0gPSB0aGlzLm1vdmVBcnJheS5sZW5ndGgtMTsgbSA+PSAwOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihtICE9IGsgJiYgdGhpcy5tb3ZlQXJyYXlbbV0gPT0gMCAmJiBtIT0gdGhpcy5yZXBlYXQgJiYgbSE9IHRoaXMubnVtYmVyUmVwZWF0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W21dID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUFycmF5W2tdID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGxhc3ROdW1iZXIgPSAwO1xyXG4gICAgICAgICAgICAvL+mUgeWumuacgOWQjuS4gOS4quWPr+enu+WKqOeahFxyXG4gICAgICAgICAgICBmb3IobGV0IGogPTA7IGo8bW92ZUFycmF5Lmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2pdPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICBsYXN0TnVtYmVyID0gajtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IobGV0IGkgPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYobW92ZUFycmF5W2ldID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgIT0gbGFzdE51bWJlcil7ICAgIC8v5aaC5p6c5LiN5piv5pyA5ZCO5LiA5Liq56e75Yqo55qEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0aW1lID0gc3BlZWQqdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtpXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWUse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5W2ldfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8v5aaC5p6c5piv5pyA5ZCO5LiA5LiqXHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRpbWUgPSBzcGVlZCp0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbF9BcnJheVtpXS54LHRoaXMuYmFsbF9BcnJheVtpXS55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5iYWxsX0FycmF5W2ldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8odGltZSx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbaV19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5q+P5qyh6YeN5paw5byA5aeL5paw5LiA6L2u5YS/5ri45oiPXHJcbiAgICBiZWdpbkdhbWUoKXtcclxuICAgICAgICB0aGlzLmJlZ2luID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMudGltZVN0YXJ0ID0gdGhpcy5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5wYXVzZSA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNob3dCdG5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIC8v5pqC5pe25L2c5bqfXHJcbiAgICAvLyBnZXRSYW5kb21BcnJheShsYXN0TnVtYmVyKXtcclxuICAgIC8vICAgICBsZXQgbnVtID0gIHBhcnNlSW50KE1hdGgucmFuZG9tKCkqOCAtIDQgKyBcIlwiKTtcclxuICAgIC8vICAgICBsZXQgamcgPSBudW0gKyBsYXN0TnVtYmVyO1xyXG4gICAgLy8gICAgIGlmKG51bSA+IDEgfHwgbnVtIDwtMSl7XHJcbiAgICAvLyAgICAgICAgIGlmKCBudW0gPT0gMCB8fCAoIGpnPDAgfHwgamcgPj0gdGhpcy5Qb3NfQXJyYXkubGVuZ3RoKSl7XHJcbiAgICAvLyAgICAgICAgICAgICBqZyA9IHRoaXMuZ2V0UmFuZG9tQXJyYXkobGFzdE51bWJlcik7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgZWxzZXtcclxuICAgIC8vICAgICAgICAgamcgPSB0aGlzLmdldFJhbmRvbUFycmF5KGxhc3ROdW1iZXIpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gamc7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy/liJvlu7rlpKrpmLPmiYDpnIDmlbDmja5cclxuICAgIGNyZWF0ZVN1bigpe1xyXG4gICAgICAgIGxldCBsZXZlbERhdGEgPSBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdO1xyXG4gICAgICAgIGxldCB0aWVtT3V0ID0gMDtcclxuICAgICAgICBmb3IobGV0IGw9MDsgbDxsZXZlbERhdGEubnVtYmVyO2wrKyl7XHJcbiAgICAgICAgICAgIHRpZW1PdXQgKz0gMTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm92ZXIgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3MgPSB0aGlzLmdldFBvcyhmYWxzZSxsKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKHBvcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID09IGxldmVsRGF0YS5udW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3MoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9LCB0aWVtT3V0KjEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liJvlu7rlpKrpmLPkvY3nva7vvIzpopzoibLkv6Hmga/nrYnmlbDmja5cclxuICAgIGNyZWF0ZVBvcygpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge3g6dGhpcy5iYWxsLngseTp0aGlzLmJhbGwueSx0aW1lOjAsdGltZUNvdW50OjAsY29sb3I6MCxzcGVlZDowLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgbGV0IGxldmVsRGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5MRVZFTF9JTkZPW3RoaXMubGV2ZWwtMV07XHJcbiAgICAgICAgLy/popzoibLljLrliIZcclxuICAgICAgICBsZXQgY29sb3JBcnJheSA9IFswLDFdO1xyXG4gICAgICAgIGZvcihsZXQgaj0wOyBqPGxldmVsRGF0YS5udW1iZXItMjtqKyspe1xyXG4gICAgICAgICAgICBsZXQgY29sb3JUZW1wID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSozK1wiXCIpO1xyXG4gICAgICAgICAgICBpZihsZXZlbERhdGEubnVtYmVyIDwgNiAmJiBjb2xvclRlbXAgPT0gMikgY29sb3JUZW1wID0gMDtcclxuICAgICAgICAgICAgY29sb3JBcnJheS5wdXNoKGNvbG9yVGVtcCk7XHJcbiAgICAgICAgICAgIGNvbG9yQXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3JBcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGlmKGxldmVsRGF0YS5udW1iZXIgPT0gNCkgY29sb3JBcnJheSA9IFswLDAsMCwwXTtcclxuICAgICAgICB0aGlzLmNvbG9yX0FycmF5ID0gY29sb3JBcnJheTtcclxuICAgICAgICAvL+WtmOWCqOWkqumYs+aVsOaNrlxyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGxldmVsRGF0YS5udW1iZXI7aSsrKXtcclxuICAgICAgICAgICAgbGV0IHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuNi10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LHRoaXMuUG9zX0FycmF5W2ldLngsdGhpcy5Qb3NfQXJyYXlbaV0ueSwxKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnksMSkrdGltZUNvdW50O1xyXG4gICAgICAgICAgICBkYXRhID0ge3g6dGhpcy5Qb3NfQXJyYXlbaV0ueCx5OnRoaXMuUG9zX0FycmF5W2ldLnksdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnQsY29sb3I6Y29sb3JBcnJheVtpXSxzcGVlZDpsZXZlbERhdGEubW92ZVNwZWVkLHJlcGVhdDpmYWxzZX07XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmVwZWF0ID09IGkpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5yZXBlYXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5udW1iZXJSZXBlYXQgPT0gaSl7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnJlcGVhdCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ydW5HYW1lKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlu+8jE7kuKrlpKrpmLPkvY3nva7nmoTmlrnms5XvvIzlkoxQT1My5YiG5byA5Lik5Liq5pa55rOV77yM6Ziy5q2i6YCS5b2S5rqi5Ye6XHJcbiAgICBnZXRQb3ModHlwZSxudW0pe1xyXG4gICAgICAgIGxldCBwb3NYID0gTWF0aC5yYW5kb20oKSo2MjAgLSAzMTA7XHJcbiAgICAgICAgbGV0IHBvc1kgPSBNYXRoLnJhbmRvbSgpKih0aGlzLmZpdFRvcC10aGlzLmZpdEJvdCkgKyB0aGlzLmZpdEJvdDtcclxuICAgICAgICBsZXQgcG9pbnQgPSBjYy52Mihwb3NYLHBvc1kpO1xyXG4gICAgICAgIGlmKHRoaXMuUG9zX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0aGlzLlBvc19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgbGV0IHBkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IG51bSkgcGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgZGlzdGFuY2UgPSB0aGlzLmdldERpc3RhbmNlKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3ModHlwZSxudW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPT0gdHJ1ZSAmJiBpID09ICh0aGlzLlBvc19BcnJheS5sZW5ndGgtMSkpe1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb2ludDtcclxuICAgIH1cclxuICAgIC8v6I635Y+W77yMTuS4quWkqumYs+WPr+enu+WKqOS9jee9rueahOaWueazle+8jOWSjFBPU+WIhuW8gOeul+mYsuatoumAkuW9kua6ouWHulxyXG4gICAgZ2V0UG9zMih0eXBlLG51bSl7XHJcbiAgICAgICAgbGV0IHBvc1ggPSBNYXRoLnJhbmRvbSgpKjYyMCAtIDMxMDtcclxuICAgICAgICBsZXQgcG9zWSA9IE1hdGgucmFuZG9tKCkqKHRoaXMuZml0VG9wLXRoaXMuZml0Qm90KSArIHRoaXMuZml0Qm90O1xyXG4gICAgICAgIGxldCBwb2ludCA9IGNjLnYyKHBvc1gscG9zWSk7XHJcbiAgICAgICAgaWYodGhpcy5Qb3NfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuUG9zX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRpc3RhbmNlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBsZXQgcGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gbnVtKSBwZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBkaXN0YW5jZSA9IHRoaXMuZ2V0RGlzdGFuY2UyKHBvc1gscG9zWSx0aGlzLlBvc19BcnJheVtpXS54LHRoaXMuUG9zX0FycmF5W2ldLnkscGQpXHJcbiAgICAgICAgICAgICAgICBpZihkaXN0YW5jZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ID0gdGhpcy5nZXRQb3MyKHR5cGUsbnVtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlID09IHRydWUgJiYgaSA9PSAodGhpcy5Qb3NfQXJyYXkubGVuZ3RoLTEpKXtcclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9pbnQ7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOeCueS5i+mXtOi3neemu++8jOi/lOWbnuWIpOaWreaYr+WQpuWcqOS4gOWumuiMg+WbtOWGhSDlsIbmnaXmj5Dlh7rliLDlt6XlhbfnsbtcclxuICAgIGdldERpc3RhbmNlKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heE1vdmUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGlmKGRpc3RhbmNlIDwgR2FtZURhdGEuX2luc3RhbmNlLkxFVkVMX0lORk9bdGhpcy5sZXZlbC0xXS5tYXhNb3ZlKXtcclxuICAgICAgICAgICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuICAgIC8v5ZG95Lit5Yqo55S7XHJcbiAgICBoaXRBY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gdHJ1ZTsgdGhpcy5oaXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5oaXQuc2V0UG9zaXRpb25cclxuICAgICAgICB0aGlzLmhpdC5zZXRQb3NpdGlvbih0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueCszNSx0aGlzLmJhbGxfQXJyYXlbZGF0YV0ueSszNSk7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5oaXQpXHJcbiAgICAgICAgLnRvKDAse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4yLHtwb3NpdGlvbjpjYy52Myh0aGlzLmhpdC54LTM1LHRoaXMuaGl0LnktMzUsMCl9KVxyXG4gICAgICAgIC5kZWxheSgwLjIpXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5oaXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5Yib6YCg5aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBpZihjb2xvciA9PSAwKWJhbGwgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLnFpdTEpO1xyXG4gICAgICAgIGVsc2UgaWYoY29sb3IgPT0gMSliYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUyKTtcclxuICAgICAgICBlbHNlIGlmKGNvbG9yID09IDIpYmFsbCA9IGNjLmluc3RhbnRpYXRlKHRoaXMucWl1Myk7XHJcbiAgICAgICAgYmFsbC5wYXJlbnQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJTdW5cIik7XHJcbiAgICAgICAgYmFsbC56SW5kZXggPSB0aGlzLm5vd19BcnJheS5sZW5ndGggLSBudW1iZXI7XHJcbiAgICAgICAgYmFsbC5zZXRQb3NpdGlvbih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSk7XHJcbiAgICAgICAgYmFsbC5nZXRDb21wb25lbnQoXCJTdW5cIikuaW5pdChudW1iZXIsY29sb3Isc3BlZWQscmVwZWF0KTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkucHVzaChiYWxsKTtcclxuICAgIH1cclxuICAgIC8v6ZSA5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uui/nue6v1xyXG4gICAgY3JlYXRlTGluZShzdGFydCxlbmQsdGltZSl7XHJcbiAgICAgICAgbGV0IGxpbmUgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLmxpbmVQcmVmYWIpO1xyXG4gICAgICAgIGxpbmUucGFyZW50ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKTtcclxuICAgICAgICBsaW5lLnNldFBvc2l0aW9uKHN0YXJ0Lngsc3RhcnQueSk7XHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v6I635Y+W5Lik54K55LmL6Ze055qE6KeS5bqm77yM5bCG5p2l6YO95Y+v5pS+5bel5YW357G7XHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7TnmoTot53nprsg6L+U5Zue5a+55bqU5pe26Ze0XHJcbiAgICBjYWxjdWxhdGVEaXN0YW5jZSh4MSwgeTEsIHgyLCB5MiwgbnVtKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICBsZXQgdGltZSA9IDA7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvODAwICogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiAxMjAwKSBkaXN0YW5jZSA9IDEyMDA7XHJcbiAgICAgICAgICAgIHRpbWUgPSBkaXN0YW5jZS8xMjAwICogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGlmKGRpc3RhbmNlID4gMTIwMCkgZGlzdGFuY2UgPSAxMjAwO1xyXG4gICAgICAgICAgICB0aW1lID0gZGlzdGFuY2UvMTIwMCAqIDEuNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aW1lO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Tot53nprsgIOi/lOWbnui3neemu+WIpOaWrVxyXG4gICAgZ2V0RGlzdGFuY2UyKHgxLCB5MSwgeDIsIHkyLG51bSkge1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGR4ID0geDIgLSB4MTtcclxuICAgICAgICBjb25zdCBkeSA9IHkyIC0geTE7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGlmKGRpc3RhbmNlID4gMTYwKXtcclxuICAgICAgICAgICAgaWYobnVtID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPCBHYW1lRGF0YS5faW5zdGFuY2UuTEVWRUxfSU5GT1t0aGlzLmxldmVsLTFdLm1heERpc3RhbmNlKSBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvL+iDjOaZr+enu+WKqFxyXG4gICAgYmdNb3ZlKHR5cGUpe1xyXG4gICAgICAgIGxldCByYW5kb20gPSBNYXRoLnJhbmRvbSgpKjMwMCArIDMwMDtcclxuICAgICAgICBsZXQgcG9zWCA9IE1hdGgucmFuZG9tKCkqNjAwIC0gMzAwO1xyXG4gICAgICAgIGxldCB5MSA9IHRoaXMuYmcxLnkgLSByYW5kb20qdHlwZTtcclxuICAgICAgICBsZXQgdGltZTEgPSAwLjcqKHJhbmRvbS80MDApO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgIC50byh0aW1lMSx7eDpwb3NYfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJnMSlcclxuICAgICAgICAuZGVsYXkoMC4zKVxyXG4gICAgICAgIC50byh0aW1lMSx7eTp5MX0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRoaXMub3ZlciA9PSBmYWxzZSkgdGhpcy5zdGFydEdhbWUoKTtcclxuICAgICAgICB9LCB0aW1lMSoxNTAwKTtcclxuICAgIH1cclxuICAgIC8v5pe26Ze05qC85byP6L2s5o2iXHJcbiAgICBnZXRUaW1lTWFyZ2luKHNlY29uZDpudW1iZXIpIHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH1cclxuICAgIC8v5aaC5p6c5piv5YCS6K6h5pe2IOiwg+eUqOatpOaWueazlVxyXG4gICAgdXBkYXRlQ291bnREb3duVGltZSAoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY291bnRUaW1lID4gMCAmJiB0aGlzLnBhdXNlID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSB0aGlzLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aW1lLm5vZGUpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yNSx7c2NhbGU6MS41LGNvbG9yOmNjLmNvbG9yKDI1NSwwLDApfSlcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtzY2FsZToxLGNvbG9yOmNjLmNvbG9yKDI1NSwyNTUsMjU1KX0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldExvc3MoKTtcclxuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tDb3VudCA+IDApIHRpbWUgPSBwYXJzZUludChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUvdGhpcy5jbGlja0NvdW50ICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSBwYXJzZUludCh0aW1lLzEwMCArIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lIC8xMDtcclxuICAgICAgICAgICAgICAgIGlmKHRpbWUgPiAxMDAwMCkgdGltZSA9IChNYXRoLnJhbmRvbSgpKjEwKzUpKjEwMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayh0aW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5LiK5Lyg5q+P5qyh5pON5L2c5pWw5o2uXHJcbiAgICBzZXREYXRhKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdBTUVfREFUQSA9IFtdO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEEucHVzaChHYW1lRGF0YS5faW5zdGFuY2UuQ0xJQ0tfREFUQSk7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkNMSUNLX2luaXQoKTtcclxuICAgICAgICBsZXQgZGF0YSA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhtYXRjaElkKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuS4iuS8oOaVsOaNrjpcIilcclxuICAgICAgICBIdHRwVXRpbC51cGxvYWRVc2VyTG9nRGF0YShwb3N0RGF0YSxmdW5jdGlvbigpe30pXHJcbiAgICB9XHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkICgpe1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hJZFwiKTtcclxuICAgICAgICBpZihtYXRjaElkID09IFwidW5kaWZlbmRcIiB8fCBtYXRjaElkPT1udWxsKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBjaGFyID0gcGFyc2VJbnQobWF0Y2hJZFsxMF0pO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5yb3VuZCA9PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICBjaGFyICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkICA9IG1hdGNoSWQuc2xpY2UoMCwgMTApICsgY2hhciArIFwiXCI7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tYXRjaElkID0gbWF0Y2hJZDtcclxuICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH1cclxuICAgIC8v5qOA5rWLbWF0Y2hJZCDlpoLmnpzmnInnvJPlrZjku6XliY3nmoRuYW5hbmHmlbDmja7muIXpmaRcclxuICAgIGNvbnRhaW5zTmFuYW5hKHN0cikge1xyXG4gICAgICAgIHJldHVybiAvbmEvaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmjpLooYzmppzmlbDmja5cclxuICAgIHNldFJhbmsodGltZSl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInR5cGVcIjoxLFxyXG4gICAgICAgICAgICBcInJlYWN0aW9uVGltZVwiOiB0aW1lLFxyXG4gICAgICAgICAgICBcInRvdGFsU3VuQ291bnRcIjogR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgyKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/kvZzlvIrvvIzmtYvor5XnlKhcclxuICAgIHNob3dOdW1iZXIoKXtcclxuICAgICAgICBpZih0aGlzLnNob3cgPT0gZmFsc2UpIHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnNob3cgPT0gdHJ1ZSkgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5zaG93TnVtYmVyKHRoaXMuc2hvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GameOver.js b/temp/quick-scripts/dst/assets/Script/GameOver.js index 11347a5..b4c635c 100644 --- a/temp/quick-scripts/dst/assets/Script/GameOver.js +++ b/temp/quick-scripts/dst/assets/Script/GameOver.js @@ -56,9 +56,7 @@ var NewClass = /** @class */ (function (_super) { _this.four = null; _this.five = null; return _this; - // update (dt) {} } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { this.count.string = GameData_1.default._instance.GM_INFO.total; @@ -66,6 +64,10 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; } this.time.string = GameData_1.default._instance.GM_INFO.mean_Time + "s"; + this.init(); + }; + //初始化数据 + NewClass.prototype.init = function () { this.listData = []; this.selfData = null; this.one.active = false; @@ -73,17 +75,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; - // this.setData(); this.getRank(); }; - NewClass.prototype.success = function (data) { - }; - NewClass.prototype.back = function () { + //打开排行榜 + NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; + //重新开始玩 NewClass.prototype.again = function () { cc.director.loadScene("GameScene"); }; + //获取排行榜 NewClass.prototype.getRank = function () { var postData = { "page": 1, @@ -91,6 +93,7 @@ var NewClass = /** @class */ (function (_super) { }; serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); }; + //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { this.listData = data.data.list; @@ -117,6 +120,7 @@ var NewClass = /** @class */ (function (_super) { } } }; + //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { var hitNode = null; if (num == 0) { @@ -144,6 +148,7 @@ var NewClass = /** @class */ (function (_super) { this.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); } }; + //设置头像 NewClass.prototype.setPic = function (node, pic) { node.active = false; var url = pic; @@ -213,4 +218,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRix1Q0FBa0M7QUFFbEMsZ0RBQTBDO0FBR3BDLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBMEpDO1FBdkpHLFdBQUssR0FBYSxJQUFJLENBQUM7UUFHdkIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUd0QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixXQUFLLEdBQVksSUFBSSxDQUFDO1FBRXRCLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFZLElBQUksQ0FBQzs7UUFzSXJCLGlCQUFpQjtJQUNyQixDQUFDO0lBbklHLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztZQUN6QyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1NBQzlFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FB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LENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ0U7SUFFcEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzsyQ0FDSTtJQUV0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ0c7SUFuQkosUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTBKNUI7SUFBRCxlQUFDO0NBMUpELEFBMEpDLENBMUpxQyxFQUFFLENBQUMsU0FBUyxHQTBKakQ7a0JBMUpvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gXCIuL0dhbWVEYXRhXCI7XHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL0xpc3RWaWV3L0xpc3RcIjtcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuaW1wb3J0IFJxIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgdGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmNvdW50LnN0cmluZyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsO1xyXG4gICAgICAgIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSA+IDEwKXtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID0gKHBhcnNlSW50KE1hdGgucmFuZG9tKCkqMTArXCJcIikrNSkvMTBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aW1lLnN0cmluZyA9IEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLm1lYW5fVGltZSArIFwic1wiO1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgLy8gdGhpcy5zZXREYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG5cclxuICAgIHN1Y2Nlc3MoZGF0YSl7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBiYWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFnYWluKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwicGFnZVwiOjEsXHJcbiAgICAgICAgICAgIFwicGFnZVNpemVcIjoxMDBcclxuICAgICAgICB9OyBcclxuICAgICAgICBIdHRwVXRpbC5yYW5rRGF0YSgyLHRoaXMuZ2V0UmFua0RhdGEuYmluZCh0aGlzKSxwb3N0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICAgICAgdGhpcy5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5sZW5ndGggPiA0KXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRhdGEubmlja05hbWU9IHRoaXMuc2VsZkRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNCkgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9dGhpcy5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0aGlzLmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0aGlzLmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0aGlzLmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IHRoaXMubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9KGkrMSkgKyBcIlwiOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gKHRoaXMubGlzdERhdGEubGVuZ3RoLTEpICYmIHNlbGYgPT0gZmFsc2Upe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZihpPDUpIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICB2YXIgaGl0Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgaWYobnVtID09IDApe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50d287XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50aHJlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDQpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5maXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihoaXROb2RlKXtcclxuICAgICAgICAgICAgaGl0Tm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZihkYXRhLm5pY2tOYW1lLmxlbmd0aCA+IDQpe1xyXG4gICAgICAgICAgICAgICAgZGF0YS5uaWNrTmFtZT0gZGF0YS5uaWNrTmFtZS5zdWJzdHJpbmcoMCw0KSArIFwiLi4uXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWMoaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksZGF0YS5waWMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFBpYyhub2RlLHBpYyl7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBsZXQgdXJsID0gcGljO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgIFxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRix1Q0FBa0M7QUFFbEMsZ0RBQTBDO0FBR3BDLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBMklDO1FBeklHLFdBQUssR0FBYSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFhLElBQUksQ0FBQztRQUV0QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsU0FBRyxHQUFZLElBQUksQ0FBQztRQUVwQixXQUFLLEdBQVksSUFBSSxDQUFDO1FBRXRCLFVBQUksR0FBWSxJQUFJLENBQUM7UUFFckIsVUFBSSxHQUFZLElBQUksQ0FBQzs7SUEySHpCLENBQUM7SUF4SEcsZUFBZTtJQUNmLHdCQUFLLEdBQUw7UUFDSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3JELElBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLEVBQUM7WUFDekMsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQTtTQUM5RTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFRLENBQUMsU0FB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LEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ087SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDRTtJQUVwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0k7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDRztJQUVyQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBaEJKLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0EySTVCO0lBQUQsZUFBQztDQTNJRCxBQTJJQyxDQTNJcUMsRUFBRSxDQUFDLFNBQVMsR0EySWpEO2tCQTNJb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmltcG9ydCBScSBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICB0aW1lOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHNlbGZOb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgb25lOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdHdvOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdGhyZWU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmb3VyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZml2ZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuY291bnQuc3RyaW5nID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWw7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lID4gMTApe1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5tZWFuX1RpbWUgPSAocGFyc2VJbnQoTWF0aC5yYW5kb20oKSoxMCtcIlwiKSs1KS8xMFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWUuc3RyaW5nID0gR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8ubWVhbl9UaW1lICsgXCJzXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOjEwMFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGRhdGEuZGF0YS5saXN0O1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgICAgIGxldCByYW5rRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLmxlbmd0aCA+IDQpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmRGF0YS5uaWNrTmFtZT0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5zdWJzdHJpbmcoMCw0KSArIFwiLi4uXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuc2VsZkRhdGEudG90YWxTdW5Db3VudDtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD10aGlzLmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgICAgICByYW5rRGF0YS5wdXNoKHtyYW5rOihpKzEpLCBuYW1lOnRoaXMubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRoaXMubGlzdERhdGFbaV0udG90YWxTdW5Db3VudCwgcGljOnRoaXMubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPT0gdGhpcy5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcIjk5K1wiOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGk8NSkgdGhpcy5zZXRSYW5rKGksdGhpcy5saXN0RGF0YVtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+agueaNruWGheWuueWhq+WFheaOkuihjOamnFxyXG4gICAgc2V0UmFuayhudW0sZGF0YSl7XHJcbiAgICAgICAgdmFyIGhpdE5vZGUgPSBudWxsO1xyXG4gICAgICAgIGlmKG51bSA9PSAwKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAxKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudHdvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAyKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMudGhyZWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDMpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5mb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSA0KXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZml2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoaGl0Tm9kZSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYoZGF0YS5uaWNrTmFtZS5sZW5ndGggPiA0KXtcclxuICAgICAgICAgICAgICAgIGRhdGEubmlja05hbWU9IGRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNCkgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBkYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBkYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLGRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9ICAgXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgcHVibGljIHNldFBpYyhub2RlLHBpYyl7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBsZXQgdXJsID0gcGljO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgIFxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GuideManager.js b/temp/quick-scripts/dst/assets/Script/GuideManager.js index 844941b..eea6123 100644 --- a/temp/quick-scripts/dst/assets/Script/GuideManager.js +++ b/temp/quick-scripts/dst/assets/Script/GuideManager.js @@ -34,12 +34,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来 var GameData_1 = require("./GameData"); var Notification_1 = require("./Notification"); var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; @@ -53,15 +48,16 @@ var NewClass = /** @class */ (function (_super) { _this.qiu1 = null; _this.linePrefab = null; return _this; - // update (dt) {} } // onLoad () {} NewClass.prototype.start = function () { - this.custom = 1; + GameData_1.default._instance.GM_INFO.custom = 0; this.init(); this.startGuide(0); }; + //初始化数据 NewClass.prototype.init = function () { + this.custom = 1; this.ball.zIndex = 100; this.Pos_Array = []; this.ball_Array = []; @@ -69,11 +65,11 @@ var NewClass = /** @class */ (function (_super) { this.clickNow = 0; this.tip = null; }; + //开始引导方法 NewClass.prototype.startGuide = function (type) { var _this = this; var num = this.custom; var time = 0.5; - var delay = 1.5; var name = "tip" + num; if (type != 0) { cc.tween(this.node) @@ -86,9 +82,8 @@ var NewClass = /** @class */ (function (_super) { _this.createSun1(); else if (_this.custom == 3) _this.createSun2(); - else if (_this.custom == 4) { + else if (_this.custom == 4) _this.begin = true; - } else if (_this.custom == 5) cc.director.loadScene("GameScene"); }) @@ -101,47 +96,19 @@ var NewClass = /** @class */ (function (_super) { cc.tween(this.tip) .to(time, { opacity: 255 }) .start(); - // cc.tween(tip) - // .to(time,{opacity:255}) - // .delay(delay) - // .to(time,{opacity:0}) - // .call(() =>{ - // this.custom += 1; - // if(type != 0) this.custom = 2; - // if( this.custom == 2) this.createSun1(); - // else if( this.custom == 3) this.createSun2(); - // else if( this.custom == 4) this.begin = true; - // else if( this.custom == 5) cc.director.loadScene("GameScene"); - // }) - // .start(); } }; - //创建太阳 - NewClass.prototype.createSun1 = function () { - var _this = this; - this.ball_Array = []; - this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); - var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); - this.ball.opacity = 0; - cc.tween(this.ball) - .to(time1, { position: this.Pos_Array[0] }) - .call(function () { - _this.createBall(0, 0, 0, false); - }) - .delay(1) - .call(function () { - _this.startGuide(0); - }) - .start(); - }; + //清除所有太阳 NewClass.prototype.beginClick = function () { for (var i = 0; i < this.ball_Array.length; i++) { this.ball_Array[i].getComponent("Sun").move = false; } }; + //点击开始游戏,或者点击跳过引导 NewClass.prototype.clickBtn = function () { cc.director.loadScene("GameScene"); }; + //点击下一步按钮 NewClass.prototype.next = function () { var _this = this; var time = 0.5; @@ -149,11 +116,10 @@ var NewClass = /** @class */ (function (_super) { .to(time, { opacity: 0 }) .call(function () { _this.custom += 1; - // if(type != 0) this.custom = 2; if (_this.custom == 2) - _this.createSun1(); + _this.createSun(true); else if (_this.custom == 3) - _this.createSun2(); + _this.createSun(false); else if (_this.custom == 4) _this.begin = true; else if (_this.custom == 5) @@ -161,33 +127,53 @@ var NewClass = /** @class */ (function (_super) { }) .start(); }; - NewClass.prototype.createSun2 = function () { + //创建太阳 + NewClass.prototype.createSun = function (type) { var _this = this; - var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); - var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); - this.ball.opacity = 255; - this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); - cc.tween(this.ball) - .to(time2, { position: this.Pos_Array[1] }) - .call(function () { - _this.createBall(1, 0, 0, false); - }) - .delay(0.5) - .call(function () { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); - }) - .to(time3, { position: this.Pos_Array[2] }) - .call(function () { - _this.createBall(2, 0, 0, false); - _this.ball.opacity = 0; - }) - .delay(0.2) - .call(function () { - _this.destroyLine(); - _this.startGuide(0); - }) - .start(); + if (type == true) { + this.ball_Array = []; + this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); + var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); + this.ball.opacity = 0; + cc.tween(this.ball) + .to(time1, { position: this.Pos_Array[0] }) + .call(function () { + _this.createBall(0, 0, 0, false); + }) + .delay(1) + .call(function () { + _this.startGuide(0); + }) + .start(); + } + else { + var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); + var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); + this.ball.opacity = 255; + this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); + cc.tween(this.ball) + .to(time2, { position: this.Pos_Array[1] }) + .call(function () { + _this.createBall(1, 0, 0, false); + }) + .delay(0.5) + .call(function () { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); + }) + .to(time3, { position: this.Pos_Array[2] }) + .call(function () { + _this.createBall(2, 0, 0, false); + _this.ball.opacity = 0; + }) + .delay(0.2) + .call(function () { + _this.destroyLine(); + _this.startGuide(0); + }) + .start(); + } }; + //创建太阳 NewClass.prototype.createBall = function (number, color, speed, repeat) { var ball = null; ball = cc.instantiate(this.qiu1); @@ -198,6 +184,7 @@ var NewClass = /** @class */ (function (_super) { ball.getComponent("Sun").move = true; this.ball_Array.push(ball); }; + //获取两点之间角度创建连线用 NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { var dx = x2 - x1; var dy = y2 - y1; @@ -207,42 +194,53 @@ var NewClass = /** @class */ (function (_super) { var time = distance / 800 * 0.8; return time; }; - //移动创建下一个太阳 - NewClass.prototype.moveSun = function () { - }; - //获胜 + //引导成功 NewClass.prototype.passLevel = function () { var _this = this; - this.destroyLine(); - var timeArray = []; - var timeCount = 0; - var ball = this.ball_Array[0]; - for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); - timeArray.push(time); - } - var _loop_1 = function (k) { + var win = this.node.getChildByName("Win"); + win.active = true; + win.setScale(0); + cc.tween(win) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.6) + .call(function () { + win.active = false; setTimeout(function () { - cc.tween(ball) - .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.ball.active = false; - _this.startGuide(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray[k - 1] + 0.1); - }; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_1(k); - } + _this.destroyLine(); + var timeArray = []; + var timeCount = 0; + var ball = _this.ball_Array[0]; + for (var i = 1; i < _this.ball_Array.length; i++) { + var time = _this.calculateDistance(_this.ball_Array[i].x, _this.ball_Array[i].y, _this.ball_Array[i - 1].x, _this.ball_Array[i - 1].y); + timeArray.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball) + .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.ball.active = false; + _this.startGuide(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray[k - 1] + 0.1); + }; + for (var k = 1; k < _this.ball_Array.length; k++) { + _loop_1(k); + } + }, 400); + }) + .start(); }; //点击太阳执行方法 NewClass.prototype.clickSun = function (data) { @@ -260,42 +258,19 @@ var NewClass = /** @class */ (function (_super) { _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; }, 200); if (this.clickNow == 3) { - var win_1 = this.node.getChildByName("Win"); - win_1.active = true; - win_1.setScale(0); - cc.tween(win_1) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.6) - .call(function () { - win_1.active = false; - setTimeout(function () { - _this.passLevel(); - }, 400); - }) - .start(); + this.passLevel(); } } else { - GameData_1.default._instance.AudioManager.playWarning(); - this.begin = false; - this.loseLevel(1); - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); + this.loseLevel(); } } }; - NewClass.prototype.loseLevel = function (type) { + //失败事件 + NewClass.prototype.loseLevel = function () { var _this = this; + this.begin = false; + GameData_1.default._instance.AudioManager.playWarning(); this.destroyLine(); var ball = this.ball_Array[0]; var _loop_2 = function (k) { @@ -317,7 +292,19 @@ var NewClass = /** @class */ (function (_super) { for (var k = 1; k < this.ball_Array.length; k++) { _loop_2(k); } + //结束页面动画 + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) + .start(); }; + //点击太阳事件 NewClass.prototype.clearSun = function () { for (var k = 0; k < this.ball_Array.length; k++) { this.ball_Array[k].removeFromParent(); @@ -330,15 +317,7 @@ var NewClass = /** @class */ (function (_super) { var timestamp = new Date().getTime(); return timestamp; }; - NewClass.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; + //创造连线,参数起点,终点,连线时间 NewClass.prototype.createLine = function (start, end, time) { var line = cc.instantiate(this.linePrefab); line.parent = this.node.getChildByName("Line"); @@ -353,6 +332,17 @@ var NewClass = /** @class */ (function (_super) { .to(time, { fillRange: 1 }) .start(); }; + //摧毁连线 + NewClass.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //获取两个点之间的角度 用于写连线 确定连线方向 NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; return -angle; @@ -393,4 +383,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHdWlkZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7QUFDbEYsdUNBQWtDO0FBQ2xDLCtDQUE4QztBQUN4QyxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXFWQztRQW5WRyx3QkFBd0I7UUFFeEIsWUFBTSxHQUFZLElBQUksQ0FBQztRQUV2QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBYyxJQUFJLENBQUM7UUFFdkIsZ0JBQVUsR0FBYyxJQUFJLENBQUM7O1FBMFU3QixpQkFBaUI7SUFDckIsQ0FBQztJQXBVRyxlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELHVCQUFJLEdBQUo7UUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELDZCQUFVLEdBQVYsVUFBVyxJQUFJO1FBQWYsaUJB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Q0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdGLEdBQUcsQ0FBQyxDQUFDO1FBQ0wsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2xCLEVBQUUsQ0FBQyxLQUFLLEVBQUMsRUFBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO2FBQ3RDLElBQUksQ0FBQztZQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLElBQUksQ0FBQztZQUNGLEtBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0YsR0FBRyxDQUFDLENBQUM7UUFDVCxDQUFDLENBQUM7YUFDRCxFQUFFLENBQUMsS0FBSyxFQUFDLEVBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQzthQUN0QyxJQUFJLENBQUM7WUFDRixLQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsSUFBSSxDQUFDO1lB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QUMsRUFBQyxDQUFDO2FBQ3RCLEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELGlDQUFjLEdBQWQsVUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLEdBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEIsQ0FBQztJQUVELDJCQUFRLEdBQVI7UUFDSSwyQkFBWSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsNEJBQVMsR0FBVDtRQUNJLDJCQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQTlVRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNLO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MENBQ0c7SUFFckI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzswQ0FDRztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO2dEQUNTO0lBVlosUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXFWNUI7SUFBRCxlQUFDO0NBclZELEFBcVZDLENBclZxQyxFQUFFLENBQUMsU0FBUyxHQXFWakQ7a0JBclZvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5pbXBvcnQgR2FtZURhdGEgZnJvbSAnLi9HYW1lRGF0YSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uJztcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGRpYWxvZzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIGN1c3RvbTogbnVtYmVyO1xyXG4gICAgUG9zX0FycmF5OiBhbnk7XHJcbiAgICBiYWxsX0FycmF5OiBhbnk7XHJcbiAgICBiZWdpbjogYm9vbGVhbjtcclxuICAgIHRpcDogY2MuTm9kZTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLmN1c3RvbSA9IDE7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmJhbGwuekluZGV4ID0gMTAwO1xyXG4gICAgICAgIHRoaXMuUG9zX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2xpY2tOb3cgPSAwO1xyXG4gICAgICAgIHRoaXMudGlwID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydEd1aWRlKHR5cGUpe1xyXG4gICAgICAgIGxldCBudW0gPSB0aGlzLmN1c3RvbTtcclxuICAgICAgICBsZXQgdGltZSA9IDAuNTtcclxuICAgICAgICBsZXQgZGVsYXkgPSAxLjU7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBcInRpcFwiICsgbnVtO1xyXG5cclxuICAgICAgICBpZih0eXBlIT0wKXtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KXtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoIHRoaXMuY3VzdG9tID09IDUpIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGhpcy50aXAgPSB0aGlzLmRpYWxvZy5nZXRDaGlsZEJ5TmFtZShuYW1lKTtcclxuICAgICAgICAgICAgdGhpcy50aXAuYWN0aXZlID0gdHJ1ZTsgdGhpcy50aXAub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMudGlwKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgLy8gY2MudHdlZW4odGlwKVxyXG4gICAgICAgICAgICAvLyAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAvLyAuZGVsYXkoZGVsYXkpXHJcbiAgICAgICAgICAgIC8vIC50byh0aW1lLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAvLyAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIC8vICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgLy8gICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgIC8vICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgIC8vICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KSAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgIC8vICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICBcclxuICAgICAgICAgICAgLy8gfSlcclxuICAgICAgICAgICAgLy8gLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yib5bu65aSq6ZizXHJcbiAgICBjcmVhdGVTdW4xKCl7XHJcbiAgICAgICAgdGhpcy5iYWxsX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkucHVzaChjYy52MigtMjUwLC0yMTYpLGNjLnYyKDIwMCwtMTE1KSxjYy52MigtMzUsLTUwMCkpO1xyXG4gICAgICAgIGxldCB0aW1lMSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksdGhpcy5Qb3NfQXJyYXlbMF0ueCx0aGlzLlBvc19BcnJheVswXS55KVxyXG4gICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMDtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGwpXHJcbiAgICAgICAgLnRvKHRpbWUxLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVswXX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQmFsbCgwLDAsMCxmYWxzZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZGVsYXkoMSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYmVnaW5DbGljaygpe1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpXS5nZXRDb21wb25lbnQoXCJTdW5cIikubW92ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGlja0J0bigpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBuZXh0KCl7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAwLjU7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy50aXApXHJcbiAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MH0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgIC8vIGlmKHR5cGUgIT0gMCkgdGhpcy5jdXN0b20gPSAyO1xyXG4gICAgICAgICAgICBpZiggdGhpcy5jdXN0b20gPT0gMikgIHRoaXMuY3JlYXRlU3VuMSgpO1xyXG4gICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgIGVsc2UgaWYoIHRoaXMuY3VzdG9tID09IDQpICB0aGlzLmJlZ2luID0gdHJ1ZTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gNSkgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG5cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZVN1bjIoKXtcclxuICAgICAgICBsZXQgdGltZTIgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuUG9zX0FycmF5WzBdLngsdGhpcy5Qb3NfQXJyYXlbMF0ueSx0aGlzLlBvc19BcnJheVsxXS54LHRoaXMuUG9zX0FycmF5WzFdLnkpXHJcbiAgICAgICAgbGV0IHRpbWUzID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLlBvc19BcnJheVsxXS54LHRoaXMuUG9zX0FycmF5WzFdLnksdGhpcy5Qb3NfQXJyYXlbMl0ueCx0aGlzLlBvc19BcnJheVsyXS55KVxyXG4gICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5Qb3NfQXJyYXlbMV0ueCx0aGlzLlBvc19BcnJheVsxXS55KSxcclxuICAgICAgICAwLjUpO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAudG8odGltZTIse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5WzFdfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDEsMCwwLGZhbHNlKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5kZWxheSgwLjUpXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGwueCx0aGlzLmJhbGwueSksY2MudjIodGhpcy5Qb3NfQXJyYXlbMl0ueCx0aGlzLlBvc19BcnJheVsyXS55KSxcclxuICAgICAgICAgICAgMC41KTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50byh0aW1lMyx7cG9zaXRpb246dGhpcy5Qb3NfQXJyYXlbMl19KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhbGwoMiwwLDAsZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBiYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUxKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIGJhbGwuZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjg7XHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/np7vliqjliJvlu7rkuIvkuIDkuKrlpKrpmLNcclxuICAgIG1vdmVTdW4oKXtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy/ojrfog5xcclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICBsZXQgdGltZUFycmF5ID0gW107XHJcbiAgICAgICAgbGV0IHRpbWVDb3VudCA9IDA7XHJcbiAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgZm9yKGxldCBpPTE7IGk8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCB0aW1lID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGxfQXJyYXlbaV0ueCx0aGlzLmJhbGxfQXJyYXlbaV0ueSxcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSk7XHJcbiAgICAgICAgICAgIHRpbWVBcnJheS5wdXNoKHRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihiYWxsKVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWVBcnJheVtrLTFdLHt4OnRoaXMuYmFsbF9BcnJheVtrXS54LHk6dGhpcy5iYWxsX0FycmF5W2tdLnl9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2tdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0R3VpZGUoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9LCB0aW1lQ291bnQqMTAwMCk7XHJcbiAgICAgICAgICAgIHRpbWVDb3VudCArPSAodGltZUFycmF5W2stMV0rMC4xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/ngrnlh7vlpKrpmLPmiafooYzmlrnms5VcclxuICAgIGNsaWNrU3VuKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIGlmKGRhdGEgPT0gdGhpcy5jbGlja05vdyl7XHJcbiAgICAgICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuQXVkaW9NYW5hZ2VyLnBsYXlBdWRpb0J1dHRvbigpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTGluZShjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdLnkpLFxyXG4gICAgICAgICAgICAgICAgICAgIGNjLnYyKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS54LHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93XS55KSxcclxuICAgICAgICAgICAgICAgICAgICAwLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGlja05vdyArPSAxO1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udG90YWwgKz0gMTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuYmFsbF9BcnJheVt0aGlzLmNsaWNrTm93LTFdKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS5nZXRDaGlsZEJ5TmFtZShcImd1YW5nXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jbGlja05vdyA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgd2luID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSB0cnVlOyB3aW4uc2V0U2NhbGUoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4od2luKVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjQpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMDEse3NjYWxlOjIuNX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMzUse3NjYWxlOjF9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5kZWxheSgwLjYpXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3NMZXZlbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCA0MDApO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvc2VMZXZlbCgxKVxyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjI1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4xNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjEse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsb3NlTGV2ZWwodHlwZSl7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95TGluZSgpO1xyXG4gICAgICAgIGxldCBiYWxsID0gdGhpcy5iYWxsX0FycmF5WzBdO1xyXG4gICAgICAgIGZvcihsZXQgaz0xOyBrPCB0aGlzLmJhbGxfQXJyYXkubGVuZ3RoOyBrKyspe1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLmJhbGxfQXJyYXlba10pXHJcbiAgICAgICAgICAgIC50bygwLjYse3g6YmFsbC54LHk6YmFsbC55fSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJhbGxfQXJyYXlba10uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBpZihrID09IHRoaXMuYmFsbF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclN1bigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tID0gMTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0R3VpZGUoMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+W5pe26Ze05oizXHJcbiAgICBnZXRUaW1lKCl7XHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH1cclxuXHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlTGluZShzdGFydCxlbmQsdGltZSl7XHJcbiAgICAgICAgbGV0IGxpbmUgPSBjYy5pbnN0YW50aWF0ZSh0aGlzLmxpbmVQcmVmYWIpO1xyXG4gICAgICAgIGxpbmUucGFyZW50ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKTtcclxuICAgICAgICBsaW5lLnNldFBvc2l0aW9uKHN0YXJ0Lngsc3RhcnQueSk7XHJcbiAgICBcclxuICAgICAgICBjb25zdCBkeCA9IGVuZC54IC0gc3RhcnQueDtcclxuICAgICAgICBjb25zdCBkeSA9IGVuZC55IC0gc3RhcnQueTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgbGluZS5oZWlnaHQgPSBkaXN0YW5jZTtcclxuICAgICAgICBsaW5lLmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgbGluZS5hbmdsZSA9IC10aGlzLmNhbGN1bGF0ZUFuZ2xlKHN0YXJ0Lngsc3RhcnQueSxlbmQueCxlbmQueSk7XHJcbiAgICAgICAgY2MudHdlZW4obGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAudG8odGltZSx7ZmlsbFJhbmdlOjF9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub24oXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRpc2FibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vZmYoXCJjbGlja1N1blwiLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHdWlkZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0NBQWtDO0FBQ2xDLHVDQUFrQztBQUNsQywrQ0FBOEM7QUFDeEMsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7UUFBQSxxRUFrVEM7UUFqVEcsd0JBQXdCO1FBRXhCLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsVUFBSSxHQUFZLElBQUksQ0FBQztRQUVyQixVQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGdCQUFVLEdBQWMsSUFBSSxDQUFDOztJQXlTakMsQ0FBQztJQWxTRyxlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU87SUFDUCx1QkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxRQUFRO0lBQ1IsNkJBQVUsR0FBVixVQUFXLElBQUk7UUFBZixpQkF3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QUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxHQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xCLENBQUM7SUFDRCwyQkFBUSxHQUFSO1FBQ0ksMkJBQVksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELDRCQUFTLEdBQVQ7UUFDSSwyQkFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUE3U0Q7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzs0Q0FDSztJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBRXJCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7MENBQ0c7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztnREFDUztJQVRaLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FrVDVCO0lBQUQsZUFBQztDQWxURCxBQWtUQyxDQWxUcUMsRUFBRSxDQUFDLFNBQVMsR0FrVGpEO2tCQWxUb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v5q2k6aG16Z2i5Li65byV5a+86aG16Z2i77yM5ZCO57ut5pu05paw5oiQ5qih5p2/77yM5pqC5pe25YG35oeS5aSN5Yi25Li75ri45oiP5Zy65pmv5Luj56CB6L+b5p2lXHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tICcuL0dhbWVEYXRhJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9Ob3RpZmljYXRpb24nO1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGRpYWxvZzogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGJhbGw6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHFpdTE6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgbGluZVByZWZhYjogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIGNsaWNrTm93Om51bWJlcjtcclxuICAgIGN1c3RvbTogbnVtYmVyO1xyXG4gICAgUG9zX0FycmF5OiBhbnk7XHJcbiAgICBiYWxsX0FycmF5OiBhbnk7XHJcbiAgICBiZWdpbjogYm9vbGVhbjtcclxuICAgIHRpcDogY2MuTm9kZTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gPSAwO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgIHRoaXMuYmFsbC56SW5kZXggPSAxMDA7XHJcbiAgICAgICAgdGhpcy5Qb3NfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJhbGxfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmJlZ2luID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbGlja05vdyA9IDA7XHJcbiAgICAgICAgdGhpcy50aXAgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vlvJXlr7zmlrnms5VcclxuICAgIHN0YXJ0R3VpZGUodHlwZSl7XHJcbiAgICAgICAgbGV0IG51bSA9IHRoaXMuY3VzdG9tO1xyXG4gICAgICAgIGxldCB0aW1lID0gMC41O1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ0aXBcIiArIG51bTtcclxuICAgICAgICBpZih0eXBlIT0wKXtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAudG8odGltZSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tICs9IDE7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlICE9IDApIHRoaXMuY3VzdG9tID0gMjtcclxuICAgICAgICAgICAgICAgIGlmKCB0aGlzLmN1c3RvbSA9PSAyKSAgdGhpcy5jcmVhdGVTdW4xKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSAzKSAgdGhpcy5jcmVhdGVTdW4yKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA0KSAgdGhpcy5iZWdpbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLnRpcCA9IHRoaXMuZGlhbG9nLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcC5hY3RpdmUgPSB0cnVlOyB0aGlzLnRpcC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgY2MudHdlZW4odGhpcy50aXApXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5riF6Zmk5omA5pyJ5aSq6ZizXHJcbiAgICBiZWdpbkNsaWNrKCl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W2ldLmdldENvbXBvbmVudChcIlN1blwiKS5tb3ZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlvIDlp4vmuLjmiI/vvIzmiJbogIXngrnlh7vot7Pov4flvJXlr7xcclxuICAgIGNsaWNrQnRuKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuIvkuIDmraXmjInpkq5cclxuICAgIG5leHQoKXtcclxuICAgICAgICBsZXQgdGltZSA9IDAuNTtcclxuICAgICAgICBjYy50d2Vlbih0aGlzLnRpcClcclxuICAgICAgICAudG8odGltZSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gKz0gMTtcclxuICAgICAgICAgICAgaWYoIHRoaXMuY3VzdG9tID09IDIpICB0aGlzLmNyZWF0ZVN1bih0cnVlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gMykgIHRoaXMuY3JlYXRlU3VuKGZhbHNlKTtcclxuICAgICAgICAgICAgZWxzZSBpZiggdGhpcy5jdXN0b20gPT0gNCkgIHRoaXMuYmVnaW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBlbHNlIGlmKCB0aGlzLmN1c3RvbSA9PSA1KSBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIm+W7uuWkqumYs1xyXG4gICAgY3JlYXRlU3VuKHR5cGUpe1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLlBvc19BcnJheS5wdXNoKGNjLnYyKC0yNTAsLTIxNiksY2MudjIoMjAwLC0xMTUpLGNjLnYyKC0zNSwtNTAwKSk7XHJcbiAgICAgICAgICAgIGxldCB0aW1lMSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksdGhpcy5Qb3NfQXJyYXlbMF0ueCx0aGlzLlBvc19BcnJheVswXS55KVxyXG4gICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUxLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVswXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDAsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDEpXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWUyID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLlBvc19BcnJheVswXS54LHRoaXMuUG9zX0FycmF5WzBdLnksdGhpcy5Qb3NfQXJyYXlbMV0ueCx0aGlzLlBvc19BcnJheVsxXS55KVxyXG4gICAgICAgICAgICBsZXQgdGltZTMgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSx0aGlzLlBvc19BcnJheVsyXS54LHRoaXMuUG9zX0FycmF5WzJdLnkpXHJcbiAgICAgICAgICAgIHRoaXMuYmFsbC5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzFdLngsdGhpcy5Qb3NfQXJyYXlbMV0ueSksXHJcbiAgICAgICAgICAgIDAuNSk7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbClcclxuICAgICAgICAgICAgLnRvKHRpbWUyLHtwb3NpdGlvbjp0aGlzLlBvc19BcnJheVsxXX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWxsKDEsMCwwLGZhbHNlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuNSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsLngsdGhpcy5iYWxsLnkpLGNjLnYyKHRoaXMuUG9zX0FycmF5WzJdLngsdGhpcy5Qb3NfQXJyYXlbMl0ueSksXHJcbiAgICAgICAgICAgICAgICAwLjUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudG8odGltZTMse3Bvc2l0aW9uOnRoaXMuUG9zX0FycmF5WzJdfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUJhbGwoMiwwLDAsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgwKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yib5bu65aSq6ZizXHJcbiAgICBjcmVhdGVCYWxsKG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpe1xyXG4gICAgICAgIGxldCBiYWxsID0gbnVsbDtcclxuICAgICAgICBiYWxsID0gY2MuaW5zdGFudGlhdGUodGhpcy5xaXUxKTtcclxuICAgICAgICBiYWxsLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlN1blwiKTtcclxuICAgICAgICBiYWxsLnpJbmRleCA9IHRoaXMuUG9zX0FycmF5Lmxlbmd0aCAtIG51bWJlcjtcclxuICAgICAgICBiYWxsLnNldFBvc2l0aW9uKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55KTtcclxuICAgICAgICBiYWxsLmdldENvbXBvbmVudChcIlN1blwiKS5pbml0KG51bWJlcixjb2xvcixzcGVlZCxyZXBlYXQpO1xyXG4gICAgICAgIGJhbGwuZ2V0Q29tcG9uZW50KFwiU3VuXCIpLm1vdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheS5wdXNoKGJhbGwpO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bkuKTngrnkuYvpl7Top5LluqbliJvlu7rov57nur/nlKhcclxuICAgIGNhbGN1bGF0ZURpc3RhbmNlKHgxLCB5MSwgeDIsIHkyKSB7XHJcbiAgICAgICAgY29uc3QgZHggPSB4MiAtIHgxO1xyXG4gICAgICAgIGNvbnN0IGR5ID0geTIgLSB5MTtcclxuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHgqZHggKyBkeSpkeSk7XHJcbiAgICAgICAgaWYoZGlzdGFuY2UgPiA4MDApIGRpc3RhbmNlID0gODAwO1xyXG4gICAgICAgIGNvbnN0IHRpbWUgPSBkaXN0YW5jZS84MDAgKiAwLjg7XHJcbiAgICAgICAgcmV0dXJuIHRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy/lvJXlr7zmiJDlip9cclxuICAgIHBhc3NMZXZlbCgpe1xyXG4gICAgICAgIGxldCB3aW4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5cIik7XHJcbiAgICAgICAgd2luLmFjdGl2ZSA9IHRydWU7IHdpbi5zZXRTY2FsZSgwKTtcclxuICAgICAgICBjYy50d2Vlbih3aW4pXHJcbiAgICAgICAgLmRlbGF5KDAuNClcclxuICAgICAgICAudG8oMC4wMSx7c2NhbGU6Mi41fSlcclxuICAgICAgICAudG8oMC4zNSx7c2NhbGU6MX0pXHJcbiAgICAgICAgLmRlbGF5KDAuNilcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgd2luLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVzdHJveUxpbmUoKTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQXJyYXkgPSBbXTtcclxuICAgICAgICAgICAgICAgIGxldCB0aW1lQ291bnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGk9MTsgaTwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsX0FycmF5W2ldLngsdGhpcy5iYWxsX0FycmF5W2ldLnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtpLTFdLngsdGhpcy5iYWxsX0FycmF5W2ktMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGltZUFycmF5LnB1c2godGltZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGs9MTsgazwgdGhpcy5iYWxsX0FycmF5Lmxlbmd0aDsgaysrKXtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4oYmFsbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnRvKHRpbWVBcnJheVtrLTFdLHt4OnRoaXMuYmFsbF9BcnJheVtrXS54LHk6dGhpcy5iYWxsX0FycmF5W2tdLnl9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5wb3NpdGlvbiA9IGNjLnYzKGJhbGwueCxiYWxsLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmFsbC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydEd1aWRlKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHRpbWVDb3VudCoxMDAwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lQ291bnQgKz0gKHRpbWVBcnJheVtrLTFdKzAuMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDQwMCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v54K55Ye75aSq6Ziz5omn6KGM5pa55rOVXHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICBpZih0aGlzLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICBpZihkYXRhID09IHRoaXMuY2xpY2tOb3cpe1xyXG4gICAgICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkF1ZGlvTWFuYWdlci5wbGF5QXVkaW9CdXR0b24oKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuY2xpY2tOb3cgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUxpbmUoY2MudjIodGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXS55KSxcclxuICAgICAgICAgICAgICAgICAgICBjYy52Mih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueCx0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vd10ueSksXHJcbiAgICAgICAgICAgICAgICAgICAgMC4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xpY2tOb3cgKz0gMTtcclxuICAgICAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnRvdGFsICs9IDE7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmJhbGxfQXJyYXlbdGhpcy5jbGlja05vdy0xXSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsX0FycmF5W3RoaXMuY2xpY2tOb3ctMV0uZ2V0Q2hpbGRCeU5hbWUoXCJndWFuZ1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0sIDIwMCk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNsaWNrTm93ID09IDMpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFzc0xldmVsKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9zZUxldmVsKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+Wksei0peS6i+S7tlxyXG4gICAgbG9zZUxldmVsKCl7XHJcbiAgICAgICAgdGhpcy5iZWdpbiA9IGZhbHNlO1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5BdWRpb01hbmFnZXIucGxheVdhcm5pbmcoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lMaW5lKCk7XHJcbiAgICAgICAgbGV0IGJhbGwgPSB0aGlzLmJhbGxfQXJyYXlbMF07XHJcbiAgICAgICAgZm9yKGxldCBrPTE7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMuYmFsbF9BcnJheVtrXSlcclxuICAgICAgICAgICAgLnRvKDAuNix7eDpiYWxsLngseTpiYWxsLnl9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmKGsgPT0gdGhpcy5iYWxsX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhbGwub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWxsLnBvc2l0aW9uID0gY2MudjMoYmFsbC54LGJhbGwueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyU3VuKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b20gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHdWlkZSgxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KClcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/nu5PmnZ/pobXpnaLliqjnlLtcclxuICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAudG8oMC4yNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgLnRvKDAuMix7b3BhY2l0eTowfSlcclxuICAgICAgICAuZGVsYXkoMC4xKVxyXG4gICAgICAgIC50bygwLjE1LHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vlpKrpmLPkuovku7ZcclxuICAgIGNsZWFyU3VuKCl7XHJcbiAgICAgICAgZm9yKGxldCBrPTA7IGs8IHRoaXMuYmFsbF9BcnJheS5sZW5ndGg7IGsrKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMuYmFsbF9BcnJheVtrXSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYmFsbF9BcnJheSA9IFtdO1xyXG4gICAgfVxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gdGltZXN0YW1wO1xyXG4gICAgfVxyXG4gICAgLy/liJvpgKDov57nur/vvIzlj4LmlbDotbfngrnvvIznu4jngrnvvIzov57nur/ml7bpl7RcclxuICAgIGNyZWF0ZUxpbmUoc3RhcnQsZW5kLHRpbWUpe1xyXG4gICAgICAgIGxldCBsaW5lID0gY2MuaW5zdGFudGlhdGUodGhpcy5saW5lUHJlZmFiKTtcclxuICAgICAgICBsaW5lLnBhcmVudCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIik7XHJcbiAgICAgICAgbGluZS5zZXRQb3NpdGlvbihzdGFydC54LHN0YXJ0LnkpO1xyXG4gICAgXHJcbiAgICAgICAgY29uc3QgZHggPSBlbmQueCAtIHN0YXJ0Lng7XHJcbiAgICAgICAgY29uc3QgZHkgPSBlbmQueSAtIHN0YXJ0Lnk7XHJcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gTWF0aC5zcXJ0KGR4KmR4ICsgZHkqZHkpO1xyXG4gICAgICAgIGxpbmUuaGVpZ2h0ID0gZGlzdGFuY2U7XHJcbiAgICAgICAgbGluZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgIGxpbmUuYW5nbGUgPSAtdGhpcy5jYWxjdWxhdGVBbmdsZShzdGFydC54LHN0YXJ0LnksZW5kLngsZW5kLnkpO1xyXG4gICAgICAgIGNjLnR3ZWVuKGxpbmUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5pGn5q+B6L+e57q/XHJcbiAgICBkZXN0cm95TGluZSgpIHtcclxuICAgICAgICBmb3IobGV0IGkgPTA7IGk8IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW4ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkxpbmVcIikuY2hpbGRyZW5baV0pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGluZVwiKS5jaGlsZHJlbltpXS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLmNoaWxkcmVuW2ldID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMaW5lXCIpLnJlbW92ZUFsbENoaWxkcmVuKCk7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4pOS4queCueS5i+mXtOeahOinkuW6piDnlKjkuo7lhpnov57nur8g56Gu5a6a6L+e57q/5pa55ZCRXHJcbiAgICBjYWxjdWxhdGVBbmdsZSh4MSwgeTEsIHgyLCB5Mikge1xyXG4gICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoeTIteTEseDIteDEpKjE4MCAvIE1hdGguUEkgLSA5MDtcclxuICAgICAgICByZXR1cm4gLWFuZ2xlO1xyXG4gICAgfVxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIE5vdGlmaWNhdGlvbi5vbihcImNsaWNrU3VuXCIsIHRoaXMuY2xpY2tTdW4sIHRoaXMpO1xyXG4gICAgfVxyXG4gICAgb25EaXNhYmxlICgpIHtcclxuICAgICAgICBOb3RpZmljYXRpb24ub2ZmKFwiY2xpY2tTdW5cIiwgdGhpcy5jbGlja1N1bik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Helloworld.js b/temp/quick-scripts/dst/assets/Script/Helloworld.js deleted file mode 100644 index 275ac0a..0000000 --- a/temp/quick-scripts/dst/assets/Script/Helloworld.js +++ /dev/null @@ -1,249 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Helloworld.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e1b90/rohdEk4SdmmEZANaD', 'Helloworld'); -// Script/Helloworld.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var GameData_1 = require("./GameData"); -var List_1 = require("./ListView/List"); -var serverAPI_1 = require("./crypto/serverAPI"); -// import { apiSign } from "./crypto/sign"; -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Player = null; - _this.selfNode = null; - _this.phone = null; - return _this; - } - Helloworld.prototype.onLoad = function () { - this.Player.getChildByName("rank").active = false; - this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); - this.listData = []; - this.selfData = null; - this.rankNumber = 100; - this.rankTotal = 100; - this.selfNode.opacity = 0; - }; - Helloworld.prototype.start = function () { - this.Player.active = false; - this.getRank(); - }; - Helloworld.prototype.getRankData = function (data) { - if (data) { - // console.log(data); - this.listData = data.data.list; - this.selfData = data.data.info; - var rankData = []; - var self = false; - for (var i = 0; i <= this.listData.length - 1; i++) { - rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic }); - if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) { - self = true; - this.rankNumber = i; - this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; - } - if (i == (this.listData.length - 1) && self == false) { - this.rankNumber = i; - this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; - } - } - this.rankList.setData(rankData); - if (this.selfData.nickName.length > 6) { - this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "..."; - } - this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; - this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; - this.setPic(this.selfData.pic); - this.setPic2(this.selfData.pic); - if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { - this.selfNode.getChildByName("rank").getChildByName("one").active = true; - } - else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") { - this.selfNode.getChildByName("rank").getChildByName("two").active = true; - } - else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") { - this.selfNode.getChildByName("rank").getChildByName("three").active = true; - } - else { - // this.selfNode.getChildByName("four").active = true; - } - this.selfNode.opacity = 255; - if (this.selfData.totalSunCount == 0) - this.selfNode.opacity = 0; - } - }; - Helloworld.prototype.backClick = function () { - cc.director.loadScene("LoadScene"); - }; - Helloworld.prototype.playerAction = function () { - var _this = this; - //-254 377 210 453 - this.Player.getChildByName("rank").active = false; - var time = 1; - this.tween = cc.tween(this.Player) - .to(2, { position: cc.v3(210, 453, 0) }) - .call(function () { - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }) - .start(); - time = (this.listData.length - this.rankNumber) / this.listData.length; - if (this.listData.length >= 99) { - if (this.rankNumber >= 99) { - time = (Math.random() * 49 + 1) / 100; - var matchId = cc.sys.localStorage.getItem("matchNumber"); - if (matchId == null || matchId == undefined) { - time = 0; - } - } - } - else { - } - setTimeout(function () { - if (_this.tween) - _this.tween.stop(); - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }, time * 2000); - }; - Helloworld.prototype.getRank = function () { - var postData = { - "page": 1, - "pageSize": 100 - }; - serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); - }; - Helloworld.prototype.setPic = function (pic) { - var _this = this; - this.phone.node.parent.getChildByName("icon").active = false; - this.phone.node.active = false; - var url = pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.phone.node.parent.getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - } - else { - console.log(err, texture); - } - }); - }; - Helloworld.prototype.setPic2 = function (pic) { - var _this = this; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - var url = pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.Player.opacity = 255; - _this.Player.getChildByName("mask").getChildByName("icon").active = false; - _this.Player.getChildByName("mask").getChildByName("phone").active = true; - _this.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) - .spriteFrame = new cc.SpriteFrame(texture); - setTimeout(function () { - _this.playerAction(); - }, 500); - // console.log("设置头像成功",err); - } - else { - _this.Player.opacity = 255; - // console.log("设置头像失败",url); - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - console.log(err, texture); - setTimeout(function () { - _this.playerAction(); - }, 500); - } - }); - }; - __decorate([ - property(cc.Node) - ], Helloworld.prototype, "Player", void 0); - __decorate([ - property(cc.Node) - ], Helloworld.prototype, "selfNode", void 0); - __decorate([ - property(cc.Sprite) - ], Helloworld.prototype, "phone", void 0); - Helloworld = __decorate([ - ccclass - ], Helloworld); - return Helloworld; -}(cc.Component)); -exports.default = Helloworld; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxIZWxsb3dvcmxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUFrQztBQUNsQyx3Q0FBbUM7QUFDbkMsZ0RBQTBDO0FBQzFDLDJDQUEyQztBQUVyQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUc1QztJQUF3Qyw4QkFBWTtJQUFwRDtRQUFBLHFFQXNNQztRQW5NRyxZQUFNLEdBQVksSUFBSSxDQUFDO1FBR3ZCLGNBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsV0FBSyxHQUFjLElBQUksQ0FBQzs7SUE2TDVCLENBQUM7SUFwTEcsMkJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMEJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGdDQUFXLEdBQVgsVUFBWSxJQUFJO1FBQ1osSUFBRyxJQUFJ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IjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR2FtZURhdGEgZnJvbSBcIi4vR2FtZURhdGFcIjtcclxuaW1wb3J0IExpc3QgZnJvbSBcIi4vTGlzdFZpZXcvTGlzdFwiO1xyXG5pbXBvcnQgSHR0cFV0aWwgZnJvbSBcIi4vY3J5cHRvL3NlcnZlckFQSVwiO1xyXG4vLyBpbXBvcnQgeyBhcGlTaWduIH0gZnJvbSBcIi4vY3J5cHRvL3NpZ25cIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBIZWxsb3dvcmxkIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIFBsYXllcjogY2MuTm9kZSA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSlcclxuICAgIHBob25lOiBjYy5TcHJpdGUgPSBudWxsO1xyXG5cclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAgICAgLy/mjpLooYzmppxcclxuICAgIHR3ZWVuOiBjYy5Ud2VlbjxjYy5Ob2RlPjtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyO1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7XHJcblxyXG4gICAgb25Mb2FkKCkge1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJhbmtMaXN0ID0gY2MuZmluZChcIlNjcm9sbFZpZXdcIiwgdGhpcy5ub2RlKS5nZXRDb21wb25lbnQoTGlzdCk7XHJcbiAgICAgICAgdGhpcy5saXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZkRhdGEgPSBudWxsO1xyXG4gICAgICAgIHRoaXMucmFua051bWJlciA9IDEwMDtcclxuICAgICAgICB0aGlzLnJhbmtUb3RhbD0gMTAwO1xyXG4gICAgICAgIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ2V0UmFuaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJhbmtEYXRhKGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5saXN0RGF0YSA9IGRhdGEuZGF0YS5saXN0O1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgICAgIGxldCByYW5rRGF0YSA9IFtdO1xyXG4gICAgICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD10aGlzLmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgICAgICByYW5rRGF0YS5wdXNoKHtyYW5rOihpKzEpLCBuYW1lOnRoaXMubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRoaXMubGlzdERhdGFbaV0udG90YWxTdW5Db3VudCwgcGljOnRoaXMubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgICAgICBpZihHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPT0gdGhpcy5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPShpKzEpICsgXCJcIjsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZihpID09ICh0aGlzLmxpc3REYXRhLmxlbmd0aC0xKSAmJiBzZWxmID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS5uaWNrTmFtZS5sZW5ndGggPiA2KXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZkRhdGEubmlja05hbWU9IHRoaXMuc2VsZkRhdGEubmlja05hbWUuc3Vic3RyaW5nKDAsNikgKyBcIi4uLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLnNlbGZEYXRhLnRvdGFsU3VuQ291bnQ7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRQaWMyKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPT0gXCIxXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID09IFwiMlwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9PSBcIjNcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInRocmVlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIC8vIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmb3VyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0aGlzLnNlbGZEYXRhLnRvdGFsU3VuQ291bnQgPT0gMCkgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBiYWNrQ2xpY2soKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJMb2FkU2NlbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcGxheWVyQWN0aW9uKCl7XHJcbiAgICAgICAgLy8tMjU0IDM3NyAgMjEwIDQ1M1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgXHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOjEwMFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRQaWMyKHBpYyl7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLlBsYXllci5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5qcGcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXHJcbiAgICAgICAgICAgICAgICAuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6K6+572u5aS05YOP5oiQ5YqfXCIsZXJyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6K6+572u5aS05YOP5aSx6LSlXCIsdXJsKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Load.js b/temp/quick-scripts/dst/assets/Script/Load.js index b01614e..f7065f3 100644 --- a/temp/quick-scripts/dst/assets/Script/Load.js +++ b/temp/quick-scripts/dst/assets/Script/Load.js @@ -34,45 +34,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; var GameData_1 = require("./GameData"); var Storage_1 = require("./Storage"); -// import {StorageMessage} from "./StorageMessage"; -// import { apiSign } from "./crypto/sign"; var NewClass = /** @class */ (function (_super) { __extends(NewClass, _super); function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } NewClass.prototype.start = function () { + this.Authentication(); + }; + //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 + NewClass.prototype.Authentication = function () { var userId = Storage_1.StorageMessage.getStorage("user"); - if (userId == "undifend" || userId == null) { - this.setId(); + if (userId == "undifend" || userId == null || userId == "") { + this.setUserId(); } else { var data = Storage_1.StorageMessage.getStorage("user"); - data = this.getId(data); + data = this.getUserId(data); var timestamp = parseInt(new Date().getTime() / 1000 + ""); if ((timestamp - data[2]) > 86400) { - this.setId(); + this.setUserId(); return; } - GameData_1.default._instance.GM_INFO.userId = data[1]; - GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); + GameData_1.default._instance.GM_INFO.userId = parseInt(data[1]); } }; - NewClass.prototype.setId = function () { - GameData_1.default._instance.GM_INFO.userId = this.getUserId(); + //设置userId,链接有获取,没有跳转授权 + NewClass.prototype.setUserId = function () { + GameData_1.default._instance.GM_INFO.userId = this.getUserId(null); if (GameData_1.default._instance.GM_INFO.userId == null) { var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; window.location.href = url; @@ -85,77 +77,36 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); } }; - NewClass.prototype.createTexture = function () { - var _this = this; - var url = "http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg"; - cc.assetManager.loadRemote(url, function (err, texture) { - console.log(err, texture); - if (texture) { - var sprite = _this.node.getChildByName("icon").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - } - }); - }; - NewClass.prototype.getUserId = function () { + //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId + NewClass.prototype.getUserId = function (str) { var pathStr = window.location.search; var arr = pathStr.split("&"); + if (str != null) + arr = pathStr.split("?"); if (pathStr.length >= 0 && arr.length > 0) { var arr2_1 = []; arr.map(function (item) { arr2_1.push(item.split("=")[1]); }); - // GameData._instance.GM_INFO.userId = arr2[0] + ""; - return arr2_1[0]; - } - else { - return null; - } - }; - NewClass.prototype.getId = function (str) { - var pathStr = str; - var arr = pathStr.split("?"); - if (pathStr.length >= 0 && arr.length > 0) { - var arr2_2 = []; - arr.map(function (item) { - arr2_2.push(item.split("=")[1]); - }); - // GameData._instance.GM_INFO.userId = arr2[1] + ""; - return arr2_2; + return str == null ? arr2_1[0] : arr2_1; } else { return null; } }; + //开始游戏,跳转至引导页面 NewClass.prototype.startGame = function () { - GameData_1.default._instance.GM_INFO.custom = 0; cc.director.loadScene("GuideScene"); }; + //备用,用来测试跳转 指定关卡 NewClass.prototype.clickBtn = function (event, data) { GameData_1.default._instance.GM_INFO.custom = parseInt(data); cc.director.loadScene("GameScene"); }; - NewClass.prototype.openLevel = function () { - this.node.getChildByName("Level").active = true; - }; - NewClass.prototype.closeBtn = function () { - this.node.getChildByName("Level").active = false; - }; - NewClass.prototype.back = function (data) { - // debugger; - }; - NewClass.prototype.openBtn = function () { - GameData_1.default._instance.GM_INFO.custom = 0; - cc.director.loadScene("GuideScene"); - }; + //打开排行榜 NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; - __decorate([ - property(cc.Label) - ], NewClass.prototype, "label", void 0); - __decorate([ - property - ], NewClass.prototype, "text", void 0); NewClass = __decorate([ ccclass ], NewClass); @@ -174,4 +125,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGO0FBQzVFLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBQzVELHVDQUFrQztBQUNsQyxxQ0FBMkM7QUFHM0MsbURBQW1EO0FBQ25ELDJDQUEyQztBQUczQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXNIQztRQW5IRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBR3ZCLFVBQUksR0FBVyxPQUFPLENBQUM7O1FBK0d2QixpQkFBaUI7SUFDckIsQ0FBQztJQTdHRyx3QkFBSyxHQUFMO1FBQ0ksSUFBSSxNQUFNLEdBQUcsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLEVBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO2FBQ0c7WUFDQSxJQUFJLElBQUksR0FBRyx3QkFBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDekQsSUFBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUM7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixPQUFPO2FBQ1Y7WUFDRCxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBRUQsd0JBQUssR0FBTDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELElBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUM7WUFDekMsSUFBSSxHQUFHLEdBQUcsNkVBQTZFLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN0RyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDOUI7YUFDRztZQUNBLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLE1BQU0sR0FBRyxTQUFTLEdBQUcsa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQzFELFdBQVcsR0FBRyxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsR0FBRyxTQUFTLENBQUM7WUFDdkUsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuRjtJQUNMLENBQUM7SUFFRCxnQ0FBYSxHQUFiO1FBQUEsaUJBU0M7UUFSRyxJQUFJLEdBQUcsR0FBRyx3R0FBd0csQ0FBQztRQUNuSCxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBQyxHQUFHLEVBQUUsT0FBb0I7WUFDdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsT0FBTyxDQUFDLENBQUE7WUFDeEIsSUFBRyxPQUFPLEVBQUM7Z0JBQ1AsSUFBSSxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEUsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEQ7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFTyw0QkFBUyxHQUFqQjtRQUNJLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRXJDLElBQUksR0FBRyxHQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFHLENBQUMsSUFBRSxHQUFHLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRTtZQUNsQyxJQUFJLE1BQUksR0FBQyxFQUFFLENBQUM7WUFDWixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQUEsSUFBSTtnQkFDUixNQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNqQyxDQUFDLENBQUMsQ0FBQTtZQUNGLG9EQUFvRDtZQUNwRCxPQUFPLE1BQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUE7U0FDZDtJQUNMLENBQUM7SUFFTyx3QkFBSyxHQUFiLFVBQWMsR0FBRztRQUNiLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUVsQixJQUFJLEdBQUcsR0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBRyxDQUFDLElBQUUsR0FBRyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxNQUFJLEdBQUMsRUFBRSxDQUFDO1lBQ1osR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUk7Z0JBQ1IsTUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDakMsQ0FBQyxDQUFDLENBQUE7WUFDRixvREFBb0Q7WUFDcEQsT0FBTyxNQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUE7U0FDZDtJQUNMLENBQUM7SUFFRCw0QkFBUyxHQUFUO1FBQ0ksa0JBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdEMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELDJCQUFRLEdBQVIsVUFBUyxLQUFLLEVBQUMsSUFBSTtRQUNmLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCw0QkFBUyxHQUFUO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsMkJBQVEsR0FBUjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDckQsQ0FBQztJQUVELHVCQUFJLEdBQUosVUFBSyxJQUFJO1FBQ0wsWUFBWTtJQUNoQixDQUFDO0lBRUQsMEJBQU8sR0FBUDtRQUNJLGtCQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCwyQkFBUSxHQUFSO1FBQ0ksRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkMsQ0FBQztJQWhIRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzJDQUNJO0lBR3ZCO1FBREMsUUFBUTswQ0FDYztJQU5OLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FzSDVCO0lBQUQsZUFBQztDQXRIRCxBQXNIQyxDQXRIcUMsRUFBRSxDQUFDLFNBQVMsR0FzSGpEO2tCQXRIb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcbmltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9IGZyb20gXCIuL1N0b3JhZ2VcIjtcclxuaW1wb3J0IEh0dHBVdGlsIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuaW1wb3J0IFJxIGZyb20gXCIuL2NyeXB0by9zZXJ2ZXJBUElcIjtcclxuLy8gaW1wb3J0IHtTdG9yYWdlTWVzc2FnZX0gZnJvbSBcIi4vU3RvcmFnZU1lc3NhZ2VcIjtcclxuLy8gaW1wb3J0IHsgYXBpU2lnbiB9IGZyb20gXCIuL2NyeXB0by9zaWduXCI7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgbGFiZWw6IGNjLkxhYmVsID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHlcclxuICAgIHRleHQ6IHN0cmluZyA9ICdoZWxsbyc7XHJcblxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBsZXQgdXNlcklkID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgaWYodXNlcklkID09IFwidW5kaWZlbmRcIiB8fCB1c2VySWQ9PW51bGwpe1xyXG4gICAgICAgICAgICB0aGlzLnNldElkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLmdldElkKGRhdGEpO1xyXG4gICAgICAgICAgICBsZXQgdGltZXN0YW1wID0gcGFyc2VJbnQobmV3IERhdGUoKS5nZXRUaW1lKCkvMTAwMCArIFwiXCIpO1xyXG4gICAgICAgICAgICBpZigodGltZXN0YW1wIC0gZGF0YVsyXSkgPiA4NjQwMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldElkKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gZGF0YVsxXTtcclxuICAgICAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gcGFyc2VJbnQoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0SWQoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSB0aGlzLmdldFVzZXJJZCgpO1xyXG4gICAgICAgIGlmKEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9PSBudWxsKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cDovL2FwaS5zcGFya3VzLmNuL2FwaS91c2VyL2F1dGgvbG9naW4/ZG9tYWluPWh1aTMyNTc5V2RZUHNnWXEmY2FsbGJhY2s9XCIrbG9jYXRpb24uaHJlZjtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCB0aW1lc3RhbXAgPSBwYXJzZUludChuZXcgRGF0ZSgpLmdldFRpbWUoKS8xMDAwICsgXCJcIik7XHJcbiAgICAgICAgICAgIGxldCBpZFRlbXAgPSBcImdhbWVJZD1cIiArIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmdhbWVJZCArIFxyXG4gICAgICAgICAgICBcIj91c2VySWQ9IFwiICsgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkICsgXCI/dGltZT1cIiArIHRpbWVzdGFtcDtcclxuICAgICAgICAgICAgU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShcInVzZXJcIixpZFRlbXApO1xyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVUZXh0dXJlKCl7XHJcbiAgICAgICAgbGV0IHVybCA9IFwiaHR0cDovL3N0YXRpYy5zcGFya3VzLmNuL3Nob290LXN1bi9hc3NldHMvcmVzb3VyY2VzL25hdGl2ZS83YS83YThiNDFhZC05NDI1LTQ0ZTItOGY1NS03NzQwZjEyYjBlMGEuanBnXCI7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCAoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICB2YXIgc3ByaXRlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRVc2VySWQoKSB7XHJcbiAgICAgICAgbGV0IHBhdGhTdHIgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoO1xyXG5cclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCImXCIpO1xyXG4gICAgICAgIGlmIChwYXRoU3RyLmxlbmd0aD49IDAmJmFyci5sZW5ndGg+MCkge1xyXG4gICAgICAgICAgICBsZXQgYXJyMj1bXTtcclxuICAgICAgICAgICAgYXJyLm1hcChpdGVtPT57XHJcbiAgICAgICAgICAgICAgICBhcnIyLnB1c2goaXRlbS5zcGxpdChcIj1cIilbMV0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC8vIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IGFycjJbMF0gKyBcIlwiO1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyMlswXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElkKHN0cikge1xyXG4gICAgICAgIGxldCBwYXRoU3RyID0gc3RyO1xyXG5cclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCI/XCIpO1xyXG4gICAgICAgIGlmIChwYXRoU3RyLmxlbmd0aD49IDAmJmFyci5sZW5ndGg+MCkge1xyXG4gICAgICAgICAgICBsZXQgYXJyMj1bXTtcclxuICAgICAgICAgICAgYXJyLm1hcChpdGVtPT57XHJcbiAgICAgICAgICAgICAgICBhcnIyLnB1c2goaXRlbS5zcGxpdChcIj1cIilbMV0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC8vIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IGFycjJbMV0gKyBcIlwiO1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyMjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy5jdXN0b20gPSAwO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuXHJcbiAgICBvcGVuTGV2ZWwoKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJMZXZlbFwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNsb3NlQnRuKCl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiTGV2ZWxcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYmFjayhkYXRhKXtcclxuICAgICAgICAvLyBkZWJ1Z2dlcjtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuQnRuKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uY3VzdG9tID0gMDtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHdWlkZVNjZW5lXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5SYW5rKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiUmFua1NjZW5lXCIpO1xyXG5cclxuICAgIH1cclxuICAgXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBQzVELHVDQUFrQztBQUNsQyxxQ0FBMkM7QUFHM0M7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBbUVBLENBQUM7SUFqRUcsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0RBQWdEO0lBQ3hDLGlDQUFjLEdBQXRCO1FBQ0ksSUFBSSxNQUFNLEdBQUcsd0JBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLElBQUksSUFBSSxHQUFHLHdCQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBQztnQkFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixPQUFPO2FBQ1Y7WUFDRCxrQkFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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InNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHksIHJlcXVpcmVDb21wb25lbnR9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVEYXRhIGZyb20gXCIuL0dhbWVEYXRhXCI7XHJcbmltcG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/pibTmnYPvvIzliKTmlq3mnInml6DnvJPlrZh1c2VyaWQs5pyJ55qE6K+d5Yik5pat5piv5ZCm6L+H5pyf77yM5rKh5pyJ55qE6K+d6YeN5paw6I635Y+WdXNlcmlkIOW5tuS4lOe8k+WtmOS4ilxyXG4gICAgcHJpdmF0ZSBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCB1c2VySWQgPSBTdG9yYWdlTWVzc2FnZS5nZXRTdG9yYWdlKFwidXNlclwiKTtcclxuICAgICAgICBpZih1c2VySWQgPT0gXCJ1bmRpZmVuZFwiIHx8IHVzZXJJZD09bnVsbCB8fCB1c2VySWQgPT0gXCJcIil7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VXNlcklkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShcInVzZXJcIik7XHJcbiAgICAgICAgICAgIGRhdGEgPSB0aGlzLmdldFVzZXJJZChkYXRhKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgaWYoKHRpbWVzdGFtcCAtIGRhdGFbMl0pID4gODY0MDApe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRVc2VySWQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhWzFdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+iuvue9rnVzZXJJZCzpk77mjqXmnInojrflj5bvvIzmsqHmnInot7PovazmjojmnYNcclxuICAgIHByaXZhdGUgc2V0VXNlcklkKCl7XHJcbiAgICAgICAgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID0gdGhpcy5nZXRVc2VySWQobnVsbCk7XHJcbiAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IG51bGwpe1xyXG4gICAgICAgICAgICBsZXQgdXJsID0gXCJodHRwOi8vYXBpLnNwYXJrdXMuY24vYXBpL3VzZXIvYXV0aC9sb2dpbj9kb21haW49aHVpMzI1NzlXZFlQc2dZcSZjYWxsYmFjaz1cIitsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgbGV0IHRpbWVzdGFtcCA9IHBhcnNlSW50KG5ldyBEYXRlKCkuZ2V0VGltZSgpLzEwMDAgKyBcIlwiKTtcclxuICAgICAgICAgICAgbGV0IGlkVGVtcCA9IFwiZ2FtZUlkPVwiICsgR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8uZ2FtZUlkICsgXHJcbiAgICAgICAgICAgIFwiP3VzZXJJZD0gXCIgKyBHYW1lRGF0YS5faW5zdGFuY2UuR01fSU5GTy51c2VySWQgKyBcIj90aW1lPVwiICsgdGltZXN0YW1wO1xyXG4gICAgICAgICAgICBTdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKFwidXNlclwiLGlkVGVtcCk7XHJcbiAgICAgICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCA9IHBhcnNlSW50KEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ojrflj5Z1c2VyIGlkIOacieWPguaVsOS4uuiOt+WPlmdhbWVpZCB1c2VyaWQg5pe26Ze05oiz77yMIOaXoOWPguaVsOS4uuWPquiOt+WPlumTvuaOpeWwvue8gOS4iueahHVzZXJJZFxyXG4gICAgcHJpdmF0ZSBnZXRVc2VySWQoc3RyKSB7ICAgIFxyXG4gICAgICAgIGxldCBwYXRoU3RyID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaDtcclxuICAgICAgICBsZXQgYXJyPXBhdGhTdHIuc3BsaXQoXCImXCIpO1xyXG4gICAgICAgIGlmKHN0ciAhPSBudWxsKSBhcnI9cGF0aFN0ci5zcGxpdChcIj9cIik7XHJcbiAgICAgICAgaWYgKHBhdGhTdHIubGVuZ3RoPj0gMCYmYXJyLmxlbmd0aD4wKSB7XHJcbiAgICAgICAgICAgIGxldCBhcnIyPVtdO1xyXG4gICAgICAgICAgICBhcnIubWFwKGl0ZW09PntcclxuICAgICAgICAgICAgICAgIGFycjIucHVzaChpdGVtLnNwbGl0KFwiPVwiKVsxXSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgcmV0dXJuIHN0ciA9PSBudWxsID8gYXJyMlswXTphcnIyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/lvIDlp4vmuLjmiI/vvIzot7Povazoh7PlvJXlr7zpobXpnaJcclxuICAgIHN0YXJ0R2FtZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkd1aWRlU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+Wkh+eUqO+8jOeUqOadpea1i+ivlei3s+i9rCDmjIflrprlhbPljaFcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIEdhbWVEYXRhLl9pbnN0YW5jZS5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/RankManager.js b/temp/quick-scripts/dst/assets/Script/RankManager.js new file mode 100644 index 0000000..dd7090d --- /dev/null +++ b/temp/quick-scripts/dst/assets/Script/RankManager.js @@ -0,0 +1,228 @@ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/RankManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var GameData_1 = require("./GameData"); +var List_1 = require("./ListView/List"); +var serverAPI_1 = require("./crypto/serverAPI"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Player = null; + _this.selfNode = null; + _this.phone = null; + return _this; + } + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { + this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; + this.listData = []; + this.selfData = null; + this.rankNumber = 100; + this.rankTotal = 100; + this.selfNode.opacity = 0; + }; + RankManager.prototype.start = function () { + this.Player.active = false; + this.getRank(); + }; + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var postData = { + "page": 1, + "pageSize": 100 + }; + //回调进getRankData + serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { + if (data) { + console.log(data); + this.listData = data.data.list; + this.selfData = data.data.info; + var rankData = []; + var self = false; + for (var i = 0; i <= this.listData.length - 1; i++) { + rankData.push({ rank: (i + 1), name: this.listData[i].nickName, total: this.listData[i].totalSunCount, pic: this.listData[i].pic }); + if (GameData_1.default._instance.GM_INFO.userId == this.listData[i].userId) { + self = true; + this.rankNumber = i; + this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; + } + if (i == (this.listData.length - 1) && self == false) { + this.rankNumber = i; + this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; + } + } + this.rankList.setData(rankData); + if (this.selfData.nickName.length > 6) { + this.selfData.nickName = this.selfData.nickName.substring(0, 6) + "..."; + } + this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; + this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; + this.setPic(this.selfData.pic); + if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { + this.selfNode.getChildByName("rank").getChildByName("one").active = true; + } + else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "2") { + this.selfNode.getChildByName("rank").getChildByName("two").active = true; + } + else if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "3") { + this.selfNode.getChildByName("rank").getChildByName("three").active = true; + } + else { + // this.selfNode.getChildByName("four").active = true; + } + this.selfNode.opacity = 255; + if (this.selfData.totalSunCount == 0) + this.selfNode.opacity = 0; + } + }; + //返回按钮 + RankManager.prototype.backClick = function () { + cc.director.loadScene("LoadScene"); + }; + //最上方用户动画 + RankManager.prototype.playerAction = function () { + var _this = this; + //-254 377 210 453 + this.Player.getChildByName("rank").active = false; + var time = 1; + this.tween = cc.tween(this.Player) + .to(2, { position: cc.v3(210, 453, 0) }) + .call(function () { + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }) + .start(); + time = (this.listData.length - this.rankNumber) / this.listData.length; + if (this.listData.length >= 99) { + if (this.rankNumber >= 99) { + time = (Math.random() * 49 + 1) / 100; + var matchId = cc.sys.localStorage.getItem("matchNumber"); + if (matchId == null || matchId == undefined) { + time = 0; + } + } + } + setTimeout(function () { + if (_this.tween) + _this.tween.stop(); + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }, time * 2000); + }; + //设置头像 + RankManager.prototype.setPic = function (pic) { + var _this = this; + this.phone.node.parent.getChildByName("icon").active = false; + this.phone.node.active = false; + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + if (errNo == "5093") { + _this.phone.node.parent.getChildByName("icon").active = true; + _this.Player.getChildByName("mask").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + console.error('Error fetching X-Info:', error); + }); + var self = this; + cc.assetManager.loadRemote(pic, { ext: '.jpg' }, function (err, texture) { + self.Player.opacity = 255; + if (texture) { + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + .spriteFrame = new cc.SpriteFrame(texture); + setTimeout(function () { + self.playerAction(); + }, 500); + } + else { + self.Player.getChildByName("mask").getChildByName("icon").active = true; + setTimeout(function () { + self.playerAction(); + }, 500); + } + }); + }; + __decorate([ + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); + __decorate([ + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); + __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ + ccclass + ], RankManager); + return RankManager; +}(cc.Component)); +exports.default = RankManager; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBa0M7QUFDbEMsd0NBQW1DO0FBQ25DLGdEQUEwQztBQUNwQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUM1QyxLQUFLO0FBRUw7SUFBeUMsK0JBQVk7SUFBckQ7UUFBQSxxRUFvS0M7UUFsS0csWUFBTSxHQUFZLElBQUksQ0FBQztRQUV2QixjQUFRLEdBQVksSUFBSSxDQUFDO1FBRXpCLFdBQUssR0FBYyxJQUFJLENBQUM7O0lBOEo1QixDQUFDO0lBdEpHLDRCQUFNLEdBQU47UUFDSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU87SUFDUCwwQkFBSSxHQUFKO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRSxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCwyQkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxP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LENBQUMsQ0FBVSxRQUFROytDQUNiO0lBRXZCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBVSxXQUFXO2lEQUNkO0lBRXpCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBUSxRQUFROzhDQUNaO0lBTlAsV0FBVztRQUQvQixPQUFPO09BQ2EsV0FBVyxDQW9LL0I7SUFBRCxrQkFBQztDQXBLRCxBQW9LQyxDQXBLd0MsRUFBRSxDQUFDLFNBQVMsR0FvS3BEO2tCQXBLb0IsV0FBVyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHYW1lRGF0YSBmcm9tIFwiLi9HYW1lRGF0YVwiO1xyXG5pbXBvcnQgTGlzdCBmcm9tIFwiLi9MaXN0Vmlldy9MaXN0XCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi9jcnlwdG8vc2VydmVyQVBJXCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6MTAwXHJcbiAgICAgICAgfTsgXHJcbiAgICAgICAgLy/lm57osIPov5tnZXRSYW5rRGF0YVxyXG4gICAgICAgIEh0dHBVdGlsLnJhbmtEYXRhKDIsdGhpcy5nZXRSYW5rRGF0YS5iaW5kKHRoaXMpLHBvc3REYXRhKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICAgICAgdGhpcy5zZWxmRGF0YSA9IGRhdGEuZGF0YS5pbmZvO1xyXG4gICAgICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9dGhpcy5saXN0RGF0YS5sZW5ndGgtMTtpKyspe1xyXG4gICAgICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0aGlzLmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0aGlzLmxpc3REYXRhW2ldLnRvdGFsU3VuQ291bnQsIHBpYzp0aGlzLmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICAgICAgaWYoR2FtZURhdGEuX2luc3RhbmNlLkdNX0lORk8udXNlcklkID09IHRoaXMubGlzdERhdGFbaV0udXNlcklkKXtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSBpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSAodGhpcy5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFwiOTkrXCI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZkRhdGEubmlja05hbWUubGVuZ3RoID4gNil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lPSB0aGlzLnNlbGZEYXRhLm5pY2tOYW1lLnN1YnN0cmluZygwLDYpICsgXCIuLi5cIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50O1xyXG4gICAgICAgICAgICB0aGlzLnNldFBpYyh0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID09IFwiMVwiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwib25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua0xhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9PSBcIjJcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPT0gXCIzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwiZm91clwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGhpcy5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRoaXMuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57mjInpkq5cclxuICAgIGJhY2tDbGljaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5pyA5LiK5pa555So5oi35Yqo55S7XHJcbiAgICBwbGF5ZXJBY3Rpb24oKXtcclxuICAgICAgICAvLy0yNTQgMzc3ICAyMTAgNDUzXHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0aW1lID0gMTtcclxuICAgICAgICB0aGlzLnR3ZWVuID0gY2MudHdlZW4odGhpcy5QbGF5ZXIpXHJcbiAgICAgICAgLnRvKDIse3Bvc2l0aW9uOmNjLnYzKDIxMCw0NTMsMCl9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB0aW1lID0gKHRoaXMubGlzdERhdGEubGVuZ3RoIC0gdGhpcy5yYW5rTnVtYmVyKS90aGlzLmxpc3REYXRhLmxlbmd0aDtcclxuICAgICAgICBpZih0aGlzLmxpc3REYXRhLmxlbmd0aCA+PSA5OSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmFua051bWJlciA+PSA5OSl7XHJcbiAgICAgICAgICAgICAgICB0aW1lID0gKE1hdGgucmFuZG9tKCkqNDkrMSkvMTAwXHJcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoTnVtYmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYobWF0Y2hJZCA9PSBudWxsIHx8IG1hdGNoSWQgPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy50d2Vlbil0aGlzLnR3ZWVuLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKVxyXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSAgcGFyc2VJbnQodGltZSoxMDAgKyBcIlwiKSArIFwiJVwiO1xyXG4gICAgICAgIH0sIHRpbWUqMjAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgLy/orr7nva7lpLTlg49cclxuICAgIHB1YmxpYyBzZXRQaWMocGljKXtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBob25lLm5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLlBsYXllci5vcGFjaXR5ID0gMDtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGZldGNoKHBpYylcclxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1MZW5ndGgnKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgaWYoZXJyTm8gPT0gXCI1MDkzXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUocGljLCB7ZXh0OicuanBnJ30sKGVyciwgdGV4dHVyZTpjYy5UZXh0dXJlMkQpID0+IHtcclxuICAgICAgICAgICAgc2VsZi5QbGF5ZXIub3BhY2l0eSA9IDI1NTtcclxuICAgICAgICAgICAgaWYodGV4dHVyZSl7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLm5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYucGhvbmUuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpXHJcbiAgICAgICAgICAgICAgICAuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Storage.js b/temp/quick-scripts/dst/assets/Script/Storage.js index 21cf50c..e2e4f67 100644 --- a/temp/quick-scripts/dst/assets/Script/Storage.js +++ b/temp/quick-scripts/dst/assets/Script/Storage.js @@ -16,8 +16,7 @@ cc._RF.push(module, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageMessage = void 0; -// var jequry = require("jquery"); -// var coinManager = require("coinManager"); +//缓存浏览器数据 var StorageMessage = { getStorage: function (key) { var result = null; @@ -33,9 +32,6 @@ var StorageMessage = { //主动拉起分享接口 var temp = JSON.stringify(value); cc.sys.localStorage.setItem(key, temp); - // debugger; - // var temp = cc.sys.localStorage.getItem(key); - // debugger; }, removeStorage: function (key) { //主动删除消息接口 @@ -57,4 +53,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLGtDQUFrQztBQUNsQyw0Q0FBNEM7QUFDNUMsSUFBSSxjQUFjLEdBQUc7SUFDakIsVUFBVSxFQUFHLFVBQVMsR0FBRztRQUNyQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQy9DO1FBRUQsSUFBRyxNQUFNLEVBQUM7WUFDUixNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxVQUFVLEVBQUcsVUFBUyxHQUFHLEVBQUMsS0FBSztRQUMzQixVQUFVO1FBQ1YsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3RDLFlBQVk7UUFDWiwrQ0FBK0M7UUFDL0MsWUFBWTtJQUNoQixDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gdmFyIGplcXVyeSA9IHJlcXVpcmUoXCJqcXVlcnlcIik7XG4vLyB2YXIgY29pbk1hbmFnZXIgPSByZXF1aXJlKFwiY29pbk1hbmFnZXJcIik7XG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgLy8gdmFyIHRlbXAgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgfSxcbiAgICByZW1vdmVTdG9yYWdlIDogZnVuY3Rpb24oa2V5KXtcbiAgICAgIC8v5Li75Yqo5Yig6Zmk5raI5oGv5o6l5Y+jXG4gICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpXG4gICAgICB9XG4gICAgfSxcbn07XG5cbmV4cG9ydCB7IFN0b3JhZ2VNZXNzYWdlIH07Il19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVM7QUFDVCxJQUFJLGNBQWMsR0FBRztJQUNqQixVQUFVLEVBQUcsVUFBUyxHQUFHO1FBQ3JCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBQztZQUNsQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFHLE1BQU0sRUFBQztZQUNSLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRyxVQUFTLEdBQUcsRUFBQyxLQUFLO1FBQzNCLFVBQVU7UUFDVixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUNELGFBQWEsRUFBRyxVQUFTLEdBQUc7UUFDMUIsVUFBVTtRQUNWLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUNwQztJQUNILENBQUM7Q0FDSixDQUFDO0FBRU8sd0NBQWMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvL+e8k+WtmOa1j+iniOWZqOaVsOaNrlxudmFyIFN0b3JhZ2VNZXNzYWdlID0ge1xuICAgIGdldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICAgIHZhciByZXN1bHQgPSBjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYocmVzdWx0KXtcbiAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIHNldFN0b3JhZ2UgOiBmdW5jdGlvbihrZXksdmFsdWUpe1xuICAgICAgICAvL+S4u+WKqOaLiei1t+WIhuS6q+aOpeWPo1xuICAgICAgICB2YXIgdGVtcCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdGVtcClcbiAgICB9LFxuICAgIHJlbW92ZVN0b3JhZ2UgOiBmdW5jdGlvbihrZXkpe1xuICAgICAgLy/kuLvliqjliKDpmaTmtojmga/mjqXlj6NcbiAgICAgIGlmKGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKXtcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSlcbiAgICAgIH1cbiAgICB9LFxufTtcblxuZXhwb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfTsiXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Sun.js b/temp/quick-scripts/dst/assets/Script/Sun.js index 839ff08..ac10567 100644 --- a/temp/quick-scripts/dst/assets/Script/Sun.js +++ b/temp/quick-scripts/dst/assets/Script/Sun.js @@ -47,15 +47,19 @@ var NewClass = /** @class */ (function (_super) { function NewClass() { return _super !== null && _super.apply(this, arguments) || this; } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { + }; + //初始化数据 + NewClass.prototype.init = function (_id, color, speed, repeat) { this.touch = true; this.move = false; - this._color = 0; - this._speed = 0; - var shan = this.node.getChildByName("shan"); - cc.tween(shan) + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) .repeatForever(cc.tween() .to(1, { opacity: 0, scale: 0.5, }) .delay(0.2) @@ -63,51 +67,45 @@ var NewClass = /** @class */ (function (_super) { .delay(0.5)) .start(); }; - NewClass.prototype.init = function (_id, color, speed, repeat) { - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - }; + //用于作弊 测试 NewClass.prototype.showNumber = function (type) { this.node.getChildByName("number").active = type; if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; - NewClass.prototype.clickBtn = function () { - var temp = this.node.parent.parent.name; - // console.log(temp,this.move,this.touch); - if (this.move == false && this.touch == true) { - if (this.node.parent.parent.name == "GameNode") { - if (this.node.parent.parent.getComponent("GameManager").begin == true) { - cc.tween(this.node.getChildByName("action")) - .to(0.5, { opacity: 0, scale: 1.8 }) - .start(); - cc.tween(this.node) - .to(0.3, { scale: 1.3 }) - .to(0.3, { scale: 1 }) - .start(); + //点击事件 + NewClass.prototype.clickBtn = function (event, data) { + if (data === "1") { + if (this.move == false && this.touch == true) { + if (this.node.parent.parent.name == "GameNode") { + if (this.node.parent.parent.getComponent("GameManager").begin == true) { + cc.tween(this.node.getChildByName("action")) + .to(0.5, { opacity: 0, scale: 1.8 }) + .start(); + cc.tween(this.node) + .to(0.3, { scale: 1.3 }) + .to(0.3, { scale: 1 }) + .start(); + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + else { this.touch = false; this.node.zIndex = -1; Notification_1.Notification.emit("clickSun", this.id_Number); } } - else { + } + else { + if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { this.touch = false; this.node.zIndex = -1; Notification_1.Notification.emit("clickSun", this.id_Number); } } }; - NewClass.prototype.clickBtn2 = function () { - if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - }; - NewClass.prototype.update = function (dt) { - }; NewClass = __decorate([ ccclass ], NewClass); @@ -126,4 +124,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTdW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsK0NBQThDO0FBRzlDO0lBQXNDLDRCQUFZO0lBQWxEOztJQWlGQSxDQUFDO0lBekVHLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ2IsYUFBYSxDQUNWLEVBQUUsQ0FBQyxLQUFLLEVBQUU7YUFDVCxFQUFFLENBQUMsQ0FBQyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFFLENBQUM7YUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsQ0FBQzthQUM3QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQ2Q7YUFDQSxLQUFLLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFRCx1QkFBSSxHQUFKLFVBQUssR0FBRyxFQUFDLEtBQUssRUFBQyxLQUFLLEVBQUMsTUFBTTtRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFJLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBRUQsNkJBQVUsR0FBVixVQUFXLElBQUk7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUcsSUFBSSxJQUFJLElBQUk7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUMvRixDQUFDO0lBRUQsMkJBQVEsR0FBUjtRQUNJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEMsMENBQTBDO1FBQzFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7WUFDekMsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBQztnQkFDMUMsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUM7b0JBQ2pFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7eUJBQzNDLEVBQUUsQ0FBQyxHQUFHLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsQ0FBQzt5QkFDN0IsS0FBSyxFQUFFLENBQUM7b0JBQ1QsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO3lCQUNsQixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxDQUFDO3lCQUNuQixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDO3lCQUNqQixLQUFLLEVBQUUsQ0FBQztvQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztvQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLDJCQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ2hEO2FBQ0o7aUJBQ0c7Z0JBQ0EsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN0QiwyQkFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2hEO1NBRUo7SUFDTCxDQUFDO0lBRUQsNEJBQVMsR0FBVDtRQUNJLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFDO1lBQ3pGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLDJCQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEQ7SUFDTCxDQUFDO0lBRUQseUJBQU0sR0FBTixVQUFRLEVBQUU7SUFDVixDQUFDO0lBaEZnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBaUY1QjtJQUFELGVBQUM7Q0FqRkQsQUFpRkMsQ0FqRnFDLEVBQUUsQ0FBQyxTQUFTLEdBaUZqRDtrQkFqRm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVNYW5hZ2VyIGZyb20gJy4vR2FtZU1hbmFnZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgaWRfTnVtYmVyOm51bWJlclxyXG4gICAgX3NwZWVkOm51bWJlclxyXG4gICAgX2NvbG9yOm51bWJlclxyXG4gICAgdG91Y2g6Ym9vbGVhblxyXG4gICAgX3JlcGVhdDpib29sZWFuXHJcbiAgICBtb3ZlOmJvb2xlYW5cclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG5cclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICB0aGlzLnRvdWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9jb2xvciA9IDA7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSAwO1xyXG4gICAgICAgIHZhciBzaGFuID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic2hhblwiKTtcclxuXHJcbiAgICAgICAgY2MudHdlZW4oc2hhbilcclxuICAgICAgICAucmVwZWF0Rm9yZXZlcihcclxuICAgICAgICAgICAgY2MudHdlZW4oKVxyXG4gICAgICAgICAgICAudG8oMSx7b3BhY2l0eTowLHNjYWxlOjAuNSx9KVxyXG4gICAgICAgICAgICAuZGVsYXkoMC4yKVxyXG4gICAgICAgICAgICAudG8oMSx7b3BhY2l0eToyNTUsc2NhbGU6MS4yfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuNSlcclxuICAgICAgICApXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoX2lkLGNvbG9yLHNwZWVkLHJlcGVhdCl7XHJcbiAgICAgICAgdGhpcy5pZF9OdW1iZXIgID0gX2lkO1xyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gY29sb3I7XHJcbiAgICAgICAgdGhpcy5fc3BlZWQgPSBzcGVlZDtcclxuICAgICAgICB0aGlzLl9yZXBlYXQgPSByZXBlYXQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd051bWJlcih0eXBlKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIikuYWN0aXZlID0gdHlwZTtcclxuICAgICAgICBpZih0eXBlID09IHRydWUpXHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuaWRfTnVtYmVyICsgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjbGlja0J0bigpe1xyXG4gICAgICAgIHZhciB0ZW1wID0gdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQubmFtZTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0ZW1wLHRoaXMubW92ZSx0aGlzLnRvdWNoKTtcclxuICAgICAgICBpZiggdGhpcy5tb3ZlID09IGZhbHNlICYmIHRoaXMudG91Y2ggPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50Lm5hbWUgPT0gXCJHYW1lTm9kZVwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFjdGlvblwiKSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC41LHtvcGFjaXR5OjAsc2NhbGU6MS44fSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMyx7c2NhbGU6MS4zfSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbi5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMudG91Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbi5lbWl0KFwiY2xpY2tTdW5cIix0aGlzLmlkX051bWJlcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrQnRuMigpe1xyXG4gICAgICAgIGlmKCB0aGlzLnRvdWNoID09IHRydWUgJiYgdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQuZ2V0Q29tcG9uZW50KFwiR3VpZGVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgTm90aWZpY2F0aW9uLmVtaXQoXCJjbGlja1N1blwiLHRoaXMuaWRfTnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlIChkdCkge1xyXG4gICAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,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dCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuaW1wb3J0IEdhbWVNYW5hZ2VyIGZyb20gJy4vR2FtZU1hbmFnZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuL05vdGlmaWNhdGlvbic7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICBpZF9OdW1iZXI6bnVtYmVyXHJcbiAgICBfc3BlZWQ6bnVtYmVyXHJcbiAgICBfY29sb3I6bnVtYmVyXHJcbiAgICB0b3VjaDpib29sZWFuXHJcbiAgICBfcmVwZWF0OmJvb2xlYW5cclxuICAgIG1vdmU6Ym9vbGVhblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdChfaWQsY29sb3Isc3BlZWQscmVwZWF0KXtcclxuICAgICAgICB0aGlzLnRvdWNoID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlkX051bWJlciAgPSBfaWQ7XHJcbiAgICAgICAgdGhpcy5fY29sb3IgPSBjb2xvcjtcclxuICAgICAgICB0aGlzLl9zcGVlZCA9IHNwZWVkO1xyXG4gICAgICAgIHRoaXMuX3JlcGVhdCA9IHJlcGVhdDtcclxuICAgICAgICAvL+WkqumYs+WKqOeUu1xyXG4gICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNoYW5cIikpXHJcbiAgICAgICAgLnJlcGVhdEZvcmV2ZXIoXHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKClcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MCxzY2FsZTowLjUsfSlcclxuICAgICAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAgICAgLnRvKDEse29wYWNpdHk6MjU1LHNjYWxlOjEuMn0pXHJcbiAgICAgICAgICAgIC5kZWxheSgwLjUpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/nlKjkuo7kvZzlvIog5rWL6K+VXHJcbiAgICBzaG93TnVtYmVyKHR5cGUpe1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKS5hY3RpdmUgPSB0eXBlO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gdHJ1ZSlcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGhpcy5pZF9OdW1iZXIgKyBcIlwiO1xyXG4gICAgfVxyXG4gICAgLy/ngrnlh7vkuovku7ZcclxuICAgIGNsaWNrQnRuKGV2ZW50LGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEgPT09IFwiMVwiKXtcclxuICAgICAgICAgICAgaWYoIHRoaXMubW92ZSA9PSBmYWxzZSAmJiB0aGlzLnRvdWNoID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLnBhcmVudC5wYXJlbnQubmFtZSA9PSBcIkdhbWVOb2RlXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpLmJlZ2luID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJhY3Rpb25cIikpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MCxzY2FsZToxLjh9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxLjN9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAudG8oMC4zLHtzY2FsZToxfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG91Y2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub2RlLnpJbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS56SW5kZXggPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYoIHRoaXMudG91Y2ggPT0gdHJ1ZSAmJiB0aGlzLm5vZGUucGFyZW50LnBhcmVudC5nZXRDb21wb25lbnQoXCJHdWlkZU1hbmFnZXJcIikuYmVnaW4gPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuekluZGV4ID0gLTE7XHJcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb24uZW1pdChcImNsaWNrU3VuXCIsdGhpcy5pZF9OdW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/test.js b/temp/quick-scripts/dst/assets/Script/test.js deleted file mode 100644 index 9edf8ea..0000000 --- a/temp/quick-scripts/dst/assets/Script/test.js +++ /dev/null @@ -1,51 +0,0 @@ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/test.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'f7f5dfmKidObZiMLtuBdAiq', 'test'); -// Script/test.ts - -if (this.level == 1) { - var data = { x: -200, y: -380, time: 0, timeCount: 0 }; - var timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -200, -380)); - var time = this.calculateDistance(this.ball.x, this.ball.y, -200, -380) + timeCount; - data = { x: -200, y: -380, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -250, -300)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -250, -300) + timeCount; - data = { x: -250, y: -300, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -300, 500)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -300, 500) + timeCount; - data = { x: -300, y: 500, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, 280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, 280) + timeCount; - data = { x: 208, y: 280, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, -280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, -280) + timeCount; - data = { x: 208, y: -280, time: time, timeCount: timeCount }; - this.now_Array.push(data); -} - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFx0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7SUFDZixJQUFJLElBQUksR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUM7SUFDOUMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLFNBQVMsQ0FBQztJQUMvRSxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxDQUFDO0lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0YsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBQyxTQUFTLENBQUM7SUFDbkUsSUFBSSxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsQ0FBQztJQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxQixTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RixJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsR0FBQyxTQUFTLENBQUM7SUFDbEUsSUFBSSxHQUFHLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFMUIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNGLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsR0FBQyxTQUFTLENBQUM7SUFDakUsSUFBSSxHQUFHLEVBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxDQUFDO0lBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLEdBQUcsQ0FBQyxHQUFDLFNBQVMsQ0FBQztJQUNsRSxJQUFJLEdBQUcsRUFBQyxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM3QiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImlmKHRoaXMubGV2ZWwgPT0gMSl7XHJcbiAgICBsZXQgZGF0YSA9IHt4Oi0yMDAseTotMzgwLHRpbWU6MCx0aW1lQ291bnQ6MH07XHJcbiAgICBsZXQgdGltZUNvdW50ID0gdGhpcy50aW1lQ291bnQgKyAoMC44LXRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksLTIwMCwtMzgwKSk7XHJcbiAgICBsZXQgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksLTIwMCwtMzgwKSt0aW1lQ291bnQ7XHJcbiAgICBkYXRhID0ge3g6LTIwMCx5Oi0zODAsdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnR9O1xyXG4gICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuXHJcbiAgICB0aW1lQ291bnQgPSB0aGlzLnRpbWVDb3VudCArICgwLjgtdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSwtMjUwLC0zMDApKTtcclxuICAgIHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS54LFxyXG4gICAgICAgIHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS55LC0yNTAsLTMwMCkrdGltZUNvdW50O1xyXG4gICAgZGF0YSA9IHt4Oi0yNTAseTotMzAwLHRpbWU6dGltZSx0aW1lQ291bnQ6dGltZUNvdW50fTtcclxuICAgIHRoaXMubm93X0FycmF5LnB1c2goZGF0YSk7XHJcblxyXG4gICAgdGltZUNvdW50ID0gdGhpcy50aW1lQ291bnQgKyAoMC44LXRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5iYWxsLngsdGhpcy5iYWxsLnksLTMwMCw1MDApKTtcclxuICAgIHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS54LFxyXG4gICAgICAgIHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS55LC0zMDAsNTAwKSt0aW1lQ291bnQ7XHJcbiAgICBkYXRhID0ge3g6LTMwMCx5OjUwMCx0aW1lOnRpbWUsdGltZUNvdW50OnRpbWVDb3VudH07XHJcbiAgICB0aGlzLm5vd19BcnJheS5wdXNoKGRhdGEpO1xyXG5cclxuICAgIHRpbWVDb3VudCA9IHRoaXMudGltZUNvdW50ICsgKDAuOC10aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMuYmFsbC54LHRoaXMuYmFsbC55LDIwOCwyODApKTtcclxuICAgIHRpbWUgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS54LFxyXG4gICAgICAgIHRoaXMubm93X0FycmF5W3RoaXMubm93X0FycmF5Lmxlbmd0aC0xXS55LDIwOCwyODApK3RpbWVDb3VudDtcclxuICAgIGRhdGEgPSB7eDoyMDgseToyODAsdGltZTp0aW1lLHRpbWVDb3VudDp0aW1lQ291bnR9O1xyXG4gICAgdGhpcy5ub3dfQXJyYXkucHVzaChkYXRhKTtcclxuXHJcbiAgICB0aW1lQ291bnQgPSB0aGlzLnRpbWVDb3VudCArICgwLjgtdGhpcy5jYWxjdWxhdGVEaXN0YW5jZSh0aGlzLmJhbGwueCx0aGlzLmJhbGwueSwyMDgsLTI4MCkpO1xyXG4gICAgdGltZSA9IHRoaXMuY2FsY3VsYXRlRGlzdGFuY2UodGhpcy5ub3dfQXJyYXlbdGhpcy5ub3dfQXJyYXkubGVuZ3RoLTFdLngsXHJcbiAgICAgICAgdGhpcy5ub3dfQXJyYXlbdGhpcy5ub3dfQXJyYXkubGVuZ3RoLTFdLnksMjA4LC0yODApK3RpbWVDb3VudDtcclxuICAgIGRhdGEgPSB7eDoyMDgseTotMjgwLHRpbWU6dGltZSx0aW1lQ291bnQ6dGltZUNvdW50fTtcclxuICAgIHRoaXMubm93X0FycmF5LnB1c2goZGF0YSk7XHJcbn0iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/tool/AudioManager.js b/temp/quick-scripts/dst/assets/Script/tool/AudioManager.js new file mode 100644 index 0000000..9e4155e --- /dev/null +++ b/temp/quick-scripts/dst/assets/Script/tool/AudioManager.js @@ -0,0 +1,305 @@ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/tool/AudioManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '971c4vub4BJpqrSCLPJ8g1V', 'AudioManager'); +// Script/AudioManager.js + +"use strict"; + +cc.Class({ + "extends": cc.Component, + properties: { + //背景音乐 + audioGameBgm0: { + "default": null, + type: cc.AudioClip + }, + // 按钮点击 + audioButtonClick: { + "default": null, + type: cc.AudioClip + }, + // 报警音效 + audioWarning: { + "default": null, + type: cc.AudioClip + }, + //游戏开始音效 + audioWin: { + "default": null, + type: cc.AudioClip + }, + reward: false, + finish: false, + rewardCount: 0 + }, + ctor: function ctor() { + this.mAudioMap = {}; + /** + * 默认音量大小 + * @type {number} + */ + + this.bgMusicVolume = 0.1; + this.effectMusicVolume = 1; + this.mMusicSwitch = 1; + this.mEffectSwitch = 1; + }, + play: function play(audioSource, loop, callback, isBgMusic) { + if (isBgMusic && !this.mMusicSwitch) return; + if (!isBgMusic && !this.mEffectSwitch) return; + var volume = isBgMusic ? this.bgMusicVolume : this.effectMusicVolume; + + if (cc.sys.isBrowser) { + if (audioSource == this.brickSound) { + volume = 0.1; + } + + var context = cc.audioEngine.play(audioSource, loop, volume); + + if (callback) { + cc.audioEngine.setFinishCallback(context, function () { + callback.call(this); + }.bind(this)); + } + + this.mAudioMap[audioSource] = context; + return audioSource; + } else { + var context = wx.createInnerAudioContext(); + context.autoplay = true; + context.loop = loop; + context.obeyMuteSwitch = true; + context.volume = volume; + + if (callback) { + context.onEnded(function () { + callback.call(this); + }.bind(this)); + } else { + context.offEnded(); + } // var audioPath = cc.url.raw("resources/BallMaster/sounds" + audioSource.name + ".mp3"); + + + context.src = audioSource.nativeUrl; + context.play(); + this.mAudioMap[audioSource] = context; + return audioSource; + } + }, + save: function save() {// cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Music_Volume, this.mMusicSwitch); + // cc.wwx.Storage.setItem(cc.wwx.Storage.Key_Setting_Effect_Volume, this.mEffectSwitch); + }, + onLoad: function onLoad() { + var _this = this; + + // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Music_Volume, function(volume) { + // this.mMusicSwitch = parseInt(volume); + // }.bind(this), 1); + // cc.wwx.Storage.getItem(cc.wwx.Storage.Key_Setting_Effect_Volume, function(volume) { + // this.mEffectSwitch = parseInt(volume); + // }.bind(this), 1); + this.reward = false; + this.finish = false; + this.rewardCount = 0; + window.addEventListener('rewardCanUse', function () { + // 此时激励可用 游戏内部逻辑 + _this.reward = true; + }); + 'undefined' != typeof window['reward'] ? window.dispatchEvent(window['reward']) : ""; + this.preload(); + }, + preload: function preload() { + if (!(cc.sys.platform === cc.sys.WECHAT_GAME)) { + return; + } + + var musics = [this.audioGameBgm0]; + musics.forEach(function (path) {// var musicPath = wxDownloader.REMOTE_SERVER_ROOT + path; + // if (musicPath != wxDownloader.REMOTE_SERVER_ROOT && musicPath.endsWith('.mp3')) { + // cc.loader.load(musicPath, function(err, remoteUrl) { + // if (err) { + // cc.error(err.message || err); + // return; + // } + // }); + // } + }); + }, + getAudioMusicSwitch: function getAudioMusicSwitch() { + return this.mMusicSwitch; + }, + getAudioEffectSwitch: function getAudioEffectSwitch() { + return this.mEffectSwitch; + }, + trunAudioSound: function trunAudioSound(on) { + this.switchMusic(on); + this.switchEffect(on); + }, + switchMusic: function switchMusic(on) { + if (this.mMusicSwitch != (on ? 1 : 0)) { + this.mMusicSwitch = 1 - this.mMusicSwitch; // this.save(); + } + + if (on) { + this.playMusicGame(); + } else { + this.stopMusic(); + } + }, + switchEffect: function switchEffect(on) { + if (this.mEffectSwitch != (on ? 1 : 0)) { + this.mEffectSwitch = 1 - this.mEffectSwitch; // this.save(); + } + }, + onHide: function onHide() { + cc.audioEngine.pauseAll(); // if (CC_JSB) { + // } else { + // for (var key in this.mAudioMap) { + // if (key === this.mMusicKey) { + // this.mAudioMap[key].pause(); + // } else { + // this.mAudioMap[key].stop(); + // } + // } + // } + }, + onShow: function onShow() { + cc.audioEngine.resumeAll(); // if (CC_JSB) { + // } else { + // if (!this.mMusicSwitch) return; + // var context = this.mAudioMap[this.mMusicKey]; + // if (context) { + // context.play(); + // } + // } + }, + playMusic: function playMusic(key, callback, loop) { + loop = typeof loop == 'undefined' || loop ? true : false; + this.stopMusic(); + this.mMusicKey = this.play(key, loop, callback, true); + }, + + /** + * 游戏背景音乐 + */ + playMusicGame: function playMusicGame() { + this.playMusic(this.audioGameBgm0); + }, + + /** + * 停止背景音乐播放 + */ + stopMusic: function stopMusic() { + // cc.wwx.OutPut.log('stopMusic audio effect wx: ' + this.mMusicKey); + var context = this.mAudioMap[this.mMusicKey]; + + if (typeof context != 'undefined') { + if (cc.sys.isBrowser) { + cc.audioEngine.stop(context); + } else { + context.stop(); + } + + cc.audioEngine.stop(context); + } + }, + // 炸弹、火箭爆炸音效 + playBomb: function playBomb() { + return this.play(this.audioBomb, false); + }, + //激光音效 + playJiGuang: function playJiGuang() { + return this.play(this.audioJiGuang, false); + }, + //技能音效 + playItem1: function playItem1() { + return this.play(this.audioItem1, false); + }, + + /* + * 游戏开始音效 + * + */ + playGameStart: function playGameStart() { + return this.play(this.audioGameStart, false); + }, + + /* + * 失败的游戏结束 + */ + playGameOver: function playGameOver() { + return this.play(this.audioGameOver, false); + }, + + /* + * 成功的游戏结束 + */ + playGameResultFailed: function playGameResultFailed() { + return this.play(this.audioGameResultFail, false); + }, + + /* + * 成功的游戏结束 + */ + playGameResultSuccess: function playGameResultSuccess() { + return this.play(this.audioGameResultSuccess, false); + }, + + /** + * 报警的音效 + */ + playWarning: function playWarning() { + return this.play(this.audioWarning, false); + }, + playWin: function playWin() { + return this.play(this.audioWin, false); + }, + + /* + * 方块碰撞的声音 + */ + playBrick: function playBrick() { + return this.play(this.brickSound, false); + }, + //方块破碎的声音 + brickBoom: function brickBoom() { + return this.play(this.audioObj, false); + }, + + /** + * 按钮 + */ + playAudioButton: function playAudioButton() { + return this.play(this.audioButtonClick, false); + }, + playRandomMatch: function playRandomMatch() { + this.playMusic(this.randomMatchSound); + }, + playMatchFoundSound: function playMatchFoundSound() { + this.stopMusic(); + return this.play(this.matchFoundSound, false); + } +}); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxBdWRpb01hbmFnZXIuanMiXSwibmFtZXMiOlsiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJhdWRpb0dhbWVCZ20wIiwidHlwZSIsIkF1ZGlvQ2xpcCIsImF1ZGlvQnV0dG9uQ2xpY2siLCJhdWRpb1dhcm5pbmciLCJhdWRpb1dpbiIsInJld2FyZCIsImZpbmlzaCIsInJld2FyZENvdW50IiwiY3RvciIsIm1BdWRpb01hcCIsImJnTXVzaWNWb2x1bWUiLCJlZmZlY3RNdXNpY1ZvbHVtZSIsIm1NdXNpY1N3aXRjaCIsIm1FZmZlY3RTd2l0Y2giLCJwbGF5IiwiYXVkaW9Tb3VyY2UiLCJsb29wIiwiY2FsbGJhY2siLCJpc0JnTXVzaWMiLCJ2b2x1bWUiLCJzeXMiLCJpc0Jyb3dzZXIiLCJicmlja1NvdW5kIiwiY29udGV4dCIsImF1ZGlvRW5naW5lIiwic2V0RmluaXNoQ2FsbGJhY2siLCJjYWxsIiwiYmluZCIsInd4IiwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLCJhdXRvcGxheSIsIm9iZXlNdXRlU3dpdGNoIiwib25FbmRlZCIsIm9mZkVuZGVkIiwic3JjIiwibmF0aXZlVXJsIiwic2F2ZSIsIm9uTG9hZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNwYXRjaEV2ZW50IiwicHJlbG9hZCIsInBsYXRmb3JtIiwiV0VDSEFUX0dBTUUiLCJtdXNpY3MiLCJmb3JFYWNoIiwicGF0aCIsImdldEF1ZGlvTXVzaWNTd2l0Y2giLCJnZXRBdWRpb0VmZmVjdFN3aXRjaCIsInRydW5BdWRpb1NvdW5kIiwib24iLCJzd2l0Y2hNdXNpYyIsInN3aXRjaEVmZmVjdCIsInBsYXlNdXNpY0dhbWUiLCJzdG9wTXVzaWMiLCJvbkhpZGUiLCJwYXVzZUFsbCIsIm9uU2hvdyIsInJlc3VtZUFsbCIsInBsYXlNdXNpYyIsImtleSIsIm1NdXNpY0tleSIsInN0b3AiLCJwbGF5Qm9tYiIsImF1ZGlvQm9tYiIsInBsYXlKaUd1YW5nIiwiYXVkaW9KaUd1YW5nIiwicGxheUl0ZW0xIiwiYXVkaW9JdGVtMSIsInBsYXlHYW1lU3RhcnQiLCJhdWRpb0dhbWVTdGFydCIsInBsYXlHYW1lT3ZlciIsImF1ZGlvR2FtZU92ZXIiLCJwbGF5R2FtZVJlc3VsdEZhaWxlZCIsImF1ZGlvR2FtZVJlc3VsdEZhaWwiLCJwbGF5R2FtZVJlc3VsdFN1Y2Nlc3MiLCJhdWRpb0dhbWVSZXN1bHRTdWNjZXNzIiwicGxheVdhcm5pbmciLCJwbGF5V2luIiwicGxheUJyaWNrIiwiYnJpY2tCb29tIiwiYXVkaW9PYmoiLCJwbGF5QXVkaW9CdXR0b24iLCJwbGF5UmFuZG9tTWF0Y2giLCJyYW5kb21NYXRjaFNvdW5kIiwicGxheU1hdGNoRm91bmRTb3VuZCIsIm1hdGNoRm91bmRTb3VuZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFFTEMsRUFBQUEsVUFBVSxFQUFDO0FBQ1A7QUFDQUMsSUFBQUEsYUFBYSxFQUFDO0FBQ1YsaUJBQVEsSUFERTtBQUVWQyxNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGRSxLQUZQO0FBTVA7QUFDQUMsSUFBQUEsZ0JBQWdCLEVBQUM7QUFDYixpQkFBUSxJQURLO0FBRWJGLE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZLLEtBUFY7QUFXUDtBQUNBRSxJQUFBQSxZQUFZLEVBQUM7QUFDVCxpQkFBUSxJQURDO0FBRVRILE1BQUFBLElBQUksRUFBQ0wsRUFBRSxDQUFDTTtBQUZDLEtBWk47QUFpQlA7QUFDQUcsSUFBQUEsUUFBUSxFQUFDO0FBQ0wsaUJBQVEsSUFESDtBQUVMSixNQUFBQSxJQUFJLEVBQUNMLEVBQUUsQ0FBQ007QUFGSCxLQWxCRjtBQXVCUEksSUFBQUEsTUFBTSxFQUFFLEtBdkJEO0FBd0JQQyxJQUFBQSxNQUFNLEVBQUUsS0F4QkQ7QUF5QlBDLElBQUFBLFdBQVcsRUFB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LG1DQTBRTDtBQUNJLFdBQU8sS0FBSzdELElBQUwsQ0FBVSxLQUFLOEQsc0JBQWYsRUFBc0MsS0FBdEMsQ0FBUDtBQUNILEdBNVFJOztBQTZRTDtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsV0FoUksseUJBaVJMO0FBQ0ksV0FBTyxLQUFLL0QsSUFBTCxDQUFVLEtBQUtYLFlBQWYsRUFBNEIsS0FBNUIsQ0FBUDtBQUVILEdBcFJJO0FBc1JMMkUsRUFBQUEsT0F0UksscUJBdVJMO0FBQ0ksV0FBTyxLQUFLaEUsSUFBTCxDQUFVLEtBQUtWLFFBQWYsRUFBd0IsS0FBeEIsQ0FBUDtBQUNILEdBelJJOztBQTJSTDtBQUNKO0FBQ0E7QUFDSTJFLEVBQUFBLFNBOVJLLHVCQStSTDtBQUNJLFdBQU8sS0FBS2pFLElBQUwsQ0FBVSxLQUFLUSxVQUFmLEVBQTBCLEtBQTFCLENBQVA7QUFDSCxHQWpTSTtBQWtTTDtBQUNBMEQsRUFBQUEsU0FuU0ssdUJBbVNNO0FBQ1AsV0FBTyxLQUFLbEUsSUFBTCxDQUFVLEtBQUttRSxRQUFmLEVBQXdCLEtBQXhCLENBQVA7QUFDSCxHQXJTSTs7QUFzU0w7QUFDSjtBQUNBO0FBQ0lDLEVBQUFBLGVBelNLLDZCQXlTYztBQUNmLFdBQU8sS0FBS3BFLElBQUwsQ0FBVSxLQUFLWixnQkFBZixFQUFpQyxLQUFqQyxDQUFQO0FBQ0gsR0EzU0k7QUE2U0xpRixFQUFBQSxlQTdTSyw2QkE4U0w7QUFDSSxTQUFLeEIsU0FBTCxDQUFlLEtBQUt5QixnQkFBcEI7QUFDSCxHQWhUSTtBQWlUTEMsRUFBQUEsbUJBalRLLGlDQWtUTDtBQUNJLFNBQUsvQixTQUFMO0FBQ0EsV0FBTyxLQUFLeEMsSUFBTCxDQUFVLEtBQUt3RSxlQUFmLEVBQWdDLEtBQWhDLENBQVA7QUFDSDtBQXJUSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuICAgIHByb3BlcnRpZXM6e1xuICAgICAgICAvL+iDjOaZr+mfs+S5kFxuICAgICAgICBhdWRpb0dhbWVCZ20wOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaMiemSrueCueWHu1xuICAgICAgICBhdWRpb0J1dHRvbkNsaWNrOntcbiAgICAgICAgICAgIGRlZmF1bHQ6bnVsbCxcbiAgICAgICAgICAgIHR5cGU6Y2MuQXVkaW9DbGlwXG4gICAgICAgIH0sXG4gICAgICAgIC8vIOaKpeitpumfs+aViFxuICAgICAgICBhdWRpb1dhcm5pbmc6e1xuICAgICAgICAgICAgZGVmYXVsdDpudWxsLFxuICAgICAgICAgICAgdHlwZTpjYy5BdWRpb0NsaXBcbiAgICAgICAgfSxcblxuICAgICAgICAvL+a4uOaIj+W8gOWni+mfs+aViFxuICAgICAgICBhdWRpb1dpbjp7XG4gICAgICAgICAgICBkZWZhdWx0Om51bGwsXG4gICAgICAgICAgICB0eXBlOmNjLkF1ZGlvQ2xpcFxuICAgICAgICB9LFxuXG4gICAgICAgIHJld2FyZDogZmFsc2UsXG4gICAgICAgIGZpbmlzaDogZmFsc2UsXG4gICAgICAgIHJld2FyZENvdW50OiAwXG5cbiAgICB9LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5tQXVkaW9NYXAgPSB7fTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog6buY6K6k6Z+z6YeP5aSn5bCPXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmJnTXVzaWNWb2x1bWUgPSAwLjE7XG4gICAgICAgIHRoaXMuZWZmZWN0TXVzaWNWb2x1bWUgPSAxO1xuXG4gICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMTtcbiAgICAgICAgdGhpcy5tRWZmZWN0U3dpdGNoID0gMTtcbiAgICB9LFxuICAgIHBsYXkgOiBmdW5jdGlvbihhdWRpb1NvdXJjZSwgbG9vcCwgY2FsbGJhY2ssIGlzQmdNdXNpYykge1xuICAgICAgICBpZiAoaXNCZ011c2ljICYmICF0aGlzLm1NdXNpY1N3aXRjaCkgcmV0dXJuO1xuICAgICAgICBpZiAoIWlzQmdNdXNpYyAmJiAhdGhpcy5tRWZmZWN0U3dpdGNoKSByZXR1cm47XG5cbiAgICAgICAgdmFyIHZvbHVtZSA9IGlzQmdNdXNpYyA/IHRoaXMuYmdNdXNpY1ZvbHVtZSA6IHRoaXMuZWZmZWN0TXVzaWNWb2x1bWU7XG5cbiAgICAgICAgaWYgKGNjLnN5cy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIGlmKGF1ZGlvU291cmNlID09IHRoaXMuYnJpY2tTb3VuZCl7XG4gICAgICAgICAgICAgICAgdm9sdW1lID0gMC4xO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIHZhciBjb250ZXh0ID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb1NvdXJjZSwgbG9vcCwgdm9sdW1lKTtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayl7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc2V0RmluaXNoQ2FsbGJhY2soY29udGV4dCwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm1BdWRpb01hcFthdWRpb1NvdXJjZV0gPSBjb250ZXh0O1xuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGNvbnRleHQgPSB3eC5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCgpO1xuICAgICAgICAgICAgY29udGV4dC5hdXRvcGxheSA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0Lmxvb3AgPSBsb29wO1xuICAgICAgICAgICAgY29udGV4dC5vYmV5TXV0ZVN3aXRjaCA9IHRydWU7XG4gICAgICAgICAgICBjb250ZXh0LnZvbHVtZSA9IHZvbHVtZTtcblxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vbkVuZGVkKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRleHQub2ZmRW5kZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAvLyB2YXIgYXVkaW9QYXRoID0gY2MudXJsLnJhdyhcInJlc291cmNlcy9CYWxsTWFzdGVyL3NvdW5kc1wiICsgYXVkaW9Tb3VyY2UubmFtZSArIFwiLm1wM1wiKTtcbiAgICAgICAgICAgIGNvbnRleHQuc3JjID0gYXVkaW9Tb3VyY2UubmF0aXZlVXJsO1xuICAgICAgICAgICAgY29udGV4dC5wbGF5KClcbiAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2F1ZGlvU291cmNlXSA9IGNvbnRleHQ7XG4gICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIGF1ZGlvU291cmNlO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHNhdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19NdXNpY19Wb2x1bWUsIHRoaXMubU11c2ljU3dpdGNoKTtcbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2Uuc2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCB0aGlzLm1FZmZlY3RTd2l0Y2gpO1xuICAgIH0sXG4gICAgb25Mb2FkKCkge1xuICAgICAgICAvLyBjYy53d3guU3RvcmFnZS5nZXRJdGVtKGNjLnd3eC5TdG9yYWdlLktleV9TZXR0aW5nX011c2ljX1ZvbHVtZSwgZnVuY3Rpb24odm9sdW1lKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm1NdXNpY1N3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgLy8gY2Mud3d4LlN0b3JhZ2UuZ2V0SXRlbShjYy53d3guU3RvcmFnZS5LZXlfU2V0dGluZ19FZmZlY3RfVm9sdW1lLCBmdW5jdGlvbih2b2x1bWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubUVmZmVjdFN3aXRjaCA9IHBhcnNlSW50KHZvbHVtZSk7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSwgMSk7XG5cbiAgICAgICAgdGhpcy5yZXdhcmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2ggPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yZXdhcmRDb3VudCA9IDA7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXdhcmRDYW5Vc2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyDmraTml7bmv4DlirHlj6/nlKgg5ri45oiP5YaF6YOo6YC76L6RXG4gICAgICAgICAgICB0aGlzLnJld2FyZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICd1bmRlZmluZWQnICE9IHR5cGVvZiB3aW5kb3dbJ3Jld2FyZCddID8gXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KHdpbmRvd1sncmV3YXJkJ10pOlwiXCJcblxuICAgICAgICB0aGlzLnByZWxvYWQoKTtcbiAgICB9LFxuICAgIHByZWxvYWQgOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCEoY2Muc3lzLnBsYXRmb3JtID09PSBjYy5zeXMuV0VDSEFUX0dBTUUpKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHZhciBtdXNpY3MgPSBbXG4gICAgICAgICAgICB0aGlzLmF1ZGlvR2FtZUJnbTAsXG4gICAgICAgIF07XG4gICAgICAgIG11c2ljcy5mb3JFYWNoKGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgICAgIC8vIHZhciBtdXNpY1BhdGggPSB3eERvd25sb2FkZXIuUkVNT1RFX1NFUlZFUl9ST09UICsgcGF0aDtcbiAgICAgICAgICAgIC8vIGlmIChtdXNpY1BhdGggIT0gd3hEb3dubG9hZGVyLlJFTU9URV9TRVJWRVJfUk9PVCAmJiBtdXNpY1BhdGguZW5kc1dpdGgoJy5tcDMnKSkge1xuICAgICAgICAgICAgLy8gICAgIGNjLmxvYWRlci5sb2FkKG11c2ljUGF0aCwgZnVuY3Rpb24oZXJyLCByZW1vdGVVcmwpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2MuZXJyb3IoZXJyLm1lc3NhZ2UgfHwgZXJyKTtcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vICAgICAgICAgfVxuICAgICAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICBnZXRBdWRpb011c2ljU3dpdGNoKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLm1NdXNpY1N3aXRjaDtcblxuICAgIH0sXG4gICAgZ2V0QXVkaW9FZmZlY3RTd2l0Y2goKVxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICB9LFxuICAgIHRydW5BdWRpb1NvdW5kKG9uKVxuICAgIHtcbiAgICAgICAgdGhpcy5zd2l0Y2hNdXNpYyhvbik7XG4gICAgICAgIHRoaXMuc3dpdGNoRWZmZWN0KG9uKVxuICAgIH0sXG4gICAgc3dpdGNoTXVzaWMgOiBmdW5jdGlvbihvbikge1xuICAgICAgICBpZiAodGhpcy5tTXVzaWNTd2l0Y2ggIT0gKG9uPzE6MCkpXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMubU11c2ljU3dpdGNoID0gMS10aGlzLm1NdXNpY1N3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgaWYob24pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRoaXMucGxheU11c2ljR2FtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3dpdGNoRWZmZWN0IDogZnVuY3Rpb24ob24pIHtcbiAgICAgICAgaWYgKHRoaXMubUVmZmVjdFN3aXRjaCAhPSAob24/MTowKSl7XG4gICAgICAgICAgICB0aGlzLm1FZmZlY3RTd2l0Y2ggPSAxLXRoaXMubUVmZmVjdFN3aXRjaDtcbiAgICAgICAgICAgIC8vIHRoaXMuc2F2ZSgpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIG9uSGlkZSAoKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnBhdXNlQWxsKCk7XG5cbiAgICAgICAgLy8gaWYgKENDX0pTQikge1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgZm9yICh2YXIga2V5IGluIHRoaXMubUF1ZGlvTWFwKSB7XG4gICAgICAgIC8vICAgICAgICAgaWYgKGtleSA9PT0gdGhpcy5tTXVzaWNLZXkpIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5tQXVkaW9NYXBba2V5XS5wYXVzZSgpO1xuICAgICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICAgICAgICAgIHRoaXMubUF1ZGlvTWFwW2tleV0uc3RvcCgpO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfVxuICAgIH0sXG5cbiAgICBvblNob3cgKCkge1xuICAgICAgICBjYy5hdWRpb0VuZ2luZS5yZXN1bWVBbGwoKTtcblxuICAgICAgICAvLyBpZiAoQ0NfSlNCKSB7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICBpZiAoIXRoaXMubU11c2ljU3dpdGNoKSByZXR1cm47XG4gICAgICAgIC8vICAgICB2YXIgY29udGV4dCA9IHRoaXMubUF1ZGlvTWFwW3RoaXMubU11c2ljS2V5XTtcbiAgICAgICAgLy8gICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgIC8vICAgICAgICAgY29udGV4dC5wbGF5KCk7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICB9LFxuICAgIHBsYXlNdXNpYyA6IGZ1bmN0aW9uKGtleSwgY2FsbGJhY2ssIGxvb3ApIHtcblxuICAgICAgICBsb29wID0gdHlwZW9mIGxvb3AgPT0gJ3VuZGVmaW5lZCcgIHx8IGxvb3AgPyB0cnVlIDogZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgdGhpcy5tTXVzaWNLZXkgPSB0aGlzLnBsYXkoa2V5LCBsb29wLCBjYWxsYmFjaywgdHJ1ZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmuLjmiI/og4zmma/pn7PkuZBcbiAgICAgKi9cbiAgICBwbGF5TXVzaWNHYW1lICgpIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5hdWRpb0dhbWVCZ20wKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIOWBnOatouiDjOaZr+mfs+S5kOaSreaUvlxuICAgICAqL1xuICAgIHN0b3BNdXNpYyAoKSB7XG4gICAgICAgIC8vIGNjLnd3eC5PdXRQdXQubG9nKCdzdG9wTXVzaWMgYXVkaW8gZWZmZWN0IHd4OiAnICsgdGhpcy5tTXVzaWNLZXkpO1xuXG4gICAgICAgIHZhciBjb250ZXh0ID0gdGhpcy5tQXVkaW9NYXBbdGhpcy5tTXVzaWNLZXldO1xuXG4gICAgICAgIGlmICh0eXBlb2YoY29udGV4dCkgIT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlmIChjYy5zeXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICAgICAgY2MuYXVkaW9FbmdpbmUuc3RvcChjb250ZXh0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5zdG9wKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYy5hdWRpb0VuZ2luZS5zdG9wKGNvbnRleHQpO1xuXG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8vIOeCuOW8ueOAgeeBq+eureeIhueCuOmfs+aViFxuICAgIHBsYXlCb21iICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvQm9tYiwgZmFsc2UpO1xuICAgIH0sXG4gICAgLy/mv4DlhYnpn7PmlYhcbiAgICBwbGF5SmlHdWFuZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9KaUd1YW5nLCBmYWxzZSk7XG4gICAgfSxcbiAgICAvL+aKgOiDvemfs+aViFxuICAgIHBsYXlJdGVtMSgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9JdGVtMSwgZmFsc2UpO1xuICAgIH0sXG4gICAgLypcbiAgICAgKiDmuLjmiI/lvIDlp4vpn7PmlYhcbiAgICAgKlxuICAgICAqL1xuICAgICBwbGF5R2FtZVN0YXJ0KClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZVN0YXJ0LCBmYWxzZSk7XG4gICAgIH0sXG4gICAgIC8qXG4gICAgICAqIOWksei0peeahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICAgcGxheUdhbWVPdmVyKClcbiAgICAge1xuICAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLmF1ZGlvR2FtZU92ZXIsZmFsc2UpO1xuICAgICB9LFxuICAgIC8qXG4gICAgICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAgICAgKi9cbiAgICBwbGF5R2FtZVJlc3VsdEZhaWxlZCgpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0RmFpbCxmYWxzZSk7XG4gICAgfSxcbiAgICAvKlxuICAqIOaIkOWKn+eahOa4uOaIj+e7k+adn1xuICAqL1xuICAgIHBsYXlHYW1lUmVzdWx0U3VjY2VzcygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9HYW1lUmVzdWx0U3VjY2VzcyxmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmiqXorabnmoTpn7PmlYhcbiAgICAgKi9cbiAgICBwbGF5V2FybmluZygpXG4gICAge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9XYXJuaW5nLGZhbHNlKTtcblxuICAgIH0sXG5cbiAgICBwbGF5V2luKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb1dpbixmYWxzZSk7XG4gICAgfSxcblxuICAgIC8qXG4gICAgICog5pa55Z2X56Kw5pKe55qE5aOw6Z+zXG4gICAgICovXG4gICAgcGxheUJyaWNrKClcbiAgICB7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5icmlja1NvdW5kLGZhbHNlKTtcbiAgICB9LFxuICAgIC8v5pa55Z2X56C056KO55qE5aOw6Z+zXG4gICAgYnJpY2tCb29tKCl7XG4gICAgICAgIHJldHVybiB0aGlzLnBsYXkodGhpcy5hdWRpb09iaixmYWxzZSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiDmjInpkq5cbiAgICAgKi9cbiAgICBwbGF5QXVkaW9CdXR0b24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wbGF5KHRoaXMuYXVkaW9CdXR0b25DbGljaywgZmFsc2UpO1xuICAgIH0sXG5cbiAgICBwbGF5UmFuZG9tTWF0Y2goKVxuICAgIHtcbiAgICAgICAgdGhpcy5wbGF5TXVzaWModGhpcy5yYW5kb21NYXRjaFNvdW5kKTtcbiAgICB9LFxuICAgIHBsYXlNYXRjaEZvdW5kU291bmQoKVxuICAgIHtcbiAgICAgICAgdGhpcy5zdG9wTXVzaWMoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxheSh0aGlzLm1hdGNoRm91bmRTb3VuZCwgZmFsc2UpO1xuICAgIH1cbn0pOyJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/src/__qc_index__.js b/temp/quick-scripts/src/__qc_index__.js index 7b31eaa..ec53bf9 100644 --- a/temp/quick-scripts/src/__qc_index__.js +++ b/temp/quick-scripts/src/__qc_index__.js @@ -1,20 +1,18 @@ -require('./assets/Script/BallAudioManager'); -require('./assets/Script/CtrlFluxayTexture'); require('./assets/Script/GameData'); require('./assets/Script/GameManager'); require('./assets/Script/GameOver'); require('./assets/Script/GuideManager'); -require('./assets/Script/Helloworld'); require('./assets/Script/ListView/ItemRender'); require('./assets/Script/ListView/List'); require('./assets/Script/Load'); require('./assets/Script/Notification'); +require('./assets/Script/RankManager'); require('./assets/Script/Storage'); require('./assets/Script/Sun'); require('./assets/Script/crypto/crypto-js.min'); require('./assets/Script/crypto/serverAPI'); -require('./assets/Script/test'); +require('./assets/Script/tool/AudioManager'); require('./assets/Script/tool/DynamicAtlasManager'); require('./assets/Script/tool/GameTool'); require('./assets/Script/tool/Shake'); diff --git a/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js b/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js deleted file mode 100644 index a33c3b2..0000000 --- a/temp/quick-scripts/src/assets/Script/CtrlFluxayTexture.js +++ /dev/null @@ -1,96 +0,0 @@ -"use strict"; -cc._RF.push(module, 'b48a2ukFF1FlJGSkUcHUIET', 'CtrlFluxayTexture'); -// Script/CtrlFluxayTexture.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: { - m_delayTime: { - "default": 0 - }, - m_fluxayTime: { - "default": 1 - }, - m_intervalTime: { - "default": 1 - }, - m_scale: { - "default": 1 - }, - m_angle: { - "default": 0 - }, - m_reviseStartTime: { - "default": 0 - }, - m_reviseTimeScale: { - "default": 1 - } - }, - ctor: function ctor() { - this._time = 0; - }, - onLoad: function onLoad() { - this._time -= this.m_delayTime; - var sprite = this.node.getComponent(cc.Sprite); - this._material = sprite.getMaterial(0); - - this._material.setProperty("u_scale", this.m_scale); - - this._material.setProperty("u_angle", this.m_angle); - - this.refreshSpriteFrameData(); - }, - update: function update(dt) { - if (this._time > this.m_fluxayTime + this.m_intervalTime) { - this._time = 0; - } - - var u_time = this._time / this.m_fluxayTime; - - if (this._time > this.m_fluxayTime) { - u_time = 1 + (this._time - this.m_fluxayTime) / this.m_intervalTime; - } - - if (this.m_reviseTimeScale != null && this.m_reviseStartTime != null) { - u_time = u_time / this.m_reviseTimeScale; - u_time -= this.m_reviseStartTime; - } - - this._material.setProperty("u_time", u_time); - - this._time += dt; - }, - refreshSpriteFrameData: function refreshSpriteFrameData() { - var sprite = this.node.getComponent(cc.Sprite); - var material = sprite.getMaterial(0); - var frame = sprite.spriteFrame; - - if (frame != null) { - // xMin - var l = frame.uv[0]; // xMax - - var r = frame.uv[6]; // yMax - - var b = frame.uv[3]; // yMin - - var t = frame.uv[5]; // 纹理在合图中的四个边界 uv 坐标 - - var u_uvOffset = new cc.Vec4(l, t, r, b); // 纹理是否旋转 - - var u_uvRotated = frame.isRotated() ? 1.0 : 0.0; // 设置材质的属性 - - if (material.getProperty("u_uvOffset") !== undefined) { - material.setProperty("u_uvOffset", u_uvOffset); - } - - if (material.getProperty("u_uvRotated") !== undefined) { - material.setProperty("u_uvRotated", u_uvRotated); - } - } - } -}); - -cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GameData.js b/temp/quick-scripts/src/assets/Script/GameData.js index f42ae7f..f30c6d4 100644 --- a/temp/quick-scripts/src/assets/Script/GameData.js +++ b/temp/quick-scripts/src/assets/Script/GameData.js @@ -3,12 +3,6 @@ cc._RF.push(module, 'f2f0bI5PsVI+o18xF6G+KVa', 'GameData'); // Script/GameData.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -33,21 +27,15 @@ var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData = /** @class */ (function (_super) { __extends(GameData, _super); function GameData() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } GameData_1 = GameData; - // LEVEL_INFO: { number: number; }[]; - // LEVEL_INFO:[]; - // LIFE-CYCLE CALLBACKS: GameData.prototype.onLoad = function () { if (GameData_1._instance == null) { GameData_1._instance = this; cc.game.addPersistRootNode(this.node); - this.AudioManager = this.node.getComponent('BallAudioManager'); + //设置为常驻,绑定音频以及游戏各类信息 + this.AudioManager = this.node.getComponent('AudioManager'); } else { this.node.destroy(); @@ -55,6 +43,13 @@ var GameData = /** @class */ (function (_super) { } }; GameData.prototype.start = function () { + this.GM_INFO_init(); + this.CLICK_init(); + this.LEVEL_INFO_init(); + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = []; + }; + GameData.prototype.GM_INFO_init = function () { this.GM_INFO = { // isEnd: false, mean_Time: 0, @@ -68,6 +63,26 @@ var GameData = /** @class */ (function (_super) { matchId: null, custom: 0 }; + }; + GameData.prototype.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + totalSunCount: 0, + movedSunCount: 0, + sunSpeed: 0, + overlapSunCount: 0, + colorList: [], + duration: 0, + difficultyLevel: 0, + sunList: [], + stepTimeList: [], + remainder: 120 + }; + }; + GameData.prototype.LEVEL_INFO_init = function () { this.LEVEL_INFO = [ { number: 3, @@ -268,251 +283,10 @@ var GameData = /** @class */ (function (_super) { maxDistance: 200, maxMove: 1200, repeat: 1 - }, - { - number: 5, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 5, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 6, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 7, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 8, - moveNumber: 2, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 8, - moveNumber: 4, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, - { - number: 9, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 9, - moveNumber: 5, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 1 - }, - { - number: 10, - moveNumber: 0, - moveSpeed: 6, - maxDistance: 200, - maxMove: 1200, - repeat: 0 - }, + } ]; - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; - this.GAME_DATA = []; - }; - GameData.prototype.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - totalSunCount: 0, - movedSunCount: 0, - sunSpeed: 0, - overlapSunCount: 0, - colorList: [], - duration: 0, - difficultyLevel: 0, - sunList: [], - stepTimeList: [], - remainder: 120 - }; }; var GameData_1; - __decorate([ - property(cc.Label) - ], GameData.prototype, "label", void 0); - __decorate([ - property - ], GameData.prototype, "text", void 0); GameData = GameData_1 = __decorate([ ccclass ], GameData); diff --git a/temp/quick-scripts/src/assets/Script/GameData.js.map b/temp/quick-scripts/src/assets/Script/GameData.js.map index e262a2c..8245e3a 100644 --- a/temp/quick-scripts/src/assets/Script/GameData.js.map +++ b/temp/quick-scripts/src/assets/Script/GameData.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameData.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class GameData extends cc.Component {\r\n\r\n @property(cc.Label)\r\n label: cc.Label = null;\r\n\r\n @property\r\n text: string = 'hello';\r\n static _instance: any;\r\n GM_INFO: {};\r\n AudioManager: any;\r\n\r\n GAME_DATA: any[];\r\n LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //初始布局最大移动距离\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; };\r\n\r\n // LEVEL_INFO: { number: number; }[];\r\n // LEVEL_INFO:[];\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n \r\n onLoad () {\r\n if (GameData._instance == null) {\r\n GameData._instance = this;\r\n cc.game.addPersistRootNode(this.node);\r\n \r\n this.AudioManager = this.node.getComponent('BallAudioManager');\r\n }\r\n else {\r\n this.node.destroy();\r\n return;\r\n }\r\n }\r\n\r\n start () {\r\n this.GM_INFO = { \r\n // isEnd: false,\r\n mean_Time:0, //平均放箭速度\r\n total:0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId:'100009',\r\n userId:200139,\r\n guide:true, //是否有引导\r\n url:\"http://api.sparkus.cn\",\r\n success:false,\r\n matchId:null,\r\n custom: 0\r\n };\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number:3, //太阳总数 \r\n moveNumber:0, //太阳可移动个数\r\n moveSpeed:0, //太阳移动速度等级\r\n maxDistance:200, //布局后移动最大距离\r\n maxMove:1200,\r\n repeat:0 //是否重叠,现在0 不重叠 1 重叠1个\r\n \r\n },\r\n { //第二难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第三难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第四难度\r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第五难度\r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第六难度\r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第七难度\r\n number:6,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第八难度\r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第九难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十一难度\r\n number:8,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十二难度\r\n number:8,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十三难度\r\n number:9,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十四难度\r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十五难度\r\n number:10,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //11 \r\n number:3,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //12 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //13 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //14 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //15 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //16 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //17 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //18 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //19 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //20 \r\n number:5,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //21 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //22 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //23 \r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //24 \r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //25 \r\n number:6,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //26 \r\n number:6,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //27 \r\n number:6,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //28 \r\n number:6,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //29 \r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //30 \r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //31 \r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //32 \r\n number:7,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //33 \r\n number:7,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //34 \r\n number:7,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //35 \r\n number:8,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //36 \r\n number:8,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //37 \r\n number:8,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //38 \r\n number:8,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //39 \r\n number:8,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //40 \r\n number:8,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //41 \r\n number:8,\r\n moveNumber:4,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //42 \r\n number:9,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //43 \r\n number:9,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //44 \r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //45 \r\n number:10,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n\r\n\r\n\r\n ]\r\n\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n\r\n this.GAME_DATA = [\r\n \r\n ]\r\n }\r\n\r\n CLICK_init(){\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameData.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class GameData extends cc.Component {\r\n\r\n @property(cc.Label)\r\n label: cc.Label = null;\r\n\r\n @property\r\n text: string = 'hello';\r\n static _instance: any;\r\n GM_INFO: {};\r\n AudioManager: any;\r\n\r\n GAME_DATA: any[];\r\n LEVEL_INFO: { //第一难度\r\n number: number; //太阳总数 \r\n moveNumber: number; //太阳可移动个数\r\n moveSpeed: number; //太阳移动速度等级\r\n maxDistance: number; //布局后移动最大距离\r\n maxMove: number; //初始布局最大移动距离\r\n repeat: number; //是否重叠,现在0 不重叠 1 重叠1个\r\n }[];\r\n CLICK_DATA: { type: number; success: boolean; round: number; totalSunCount: number; movedSunCount: number; sunSpeed: number; overlapSunCount: number; colorList: any[]; duration: number; difficultyLevel: number; sunList: any[]; stepTimeList: any[]; remainder: number; };\r\n\r\n // LEVEL_INFO: { number: number; }[];\r\n // LEVEL_INFO:[];\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n \r\n onLoad () {\r\n if (GameData._instance == null) {\r\n GameData._instance = this;\r\n cc.game.addPersistRootNode(this.node);\r\n \r\n this.AudioManager = this.node.getComponent('BallAudioManager');\r\n }\r\n else {\r\n this.node.destroy();\r\n return;\r\n }\r\n }\r\n\r\n start () {\r\n this.GM_INFO = { \r\n // isEnd: false,\r\n mean_Time:0, //平均放箭速度\r\n total:0, //总共对的个数\r\n currSeed: 203213, //用于随机数种子\r\n gameId:'100009',\r\n userId:200139,\r\n guide:true, //是否有引导\r\n url:\"http://api.sparkus.cn\",\r\n success:false,\r\n matchId:null,\r\n custom: 0\r\n };\r\n this.LEVEL_INFO = [\r\n { //第一难度\r\n number:3, //太阳总数 \r\n moveNumber:0, //太阳可移动个数\r\n moveSpeed:0, //太阳移动速度等级\r\n maxDistance:200, //布局后移动最大距离\r\n maxMove:1200,\r\n repeat:0 //是否重叠,现在0 不重叠 1 重叠1个\r\n \r\n },\r\n { //第二难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第三难度\r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第四难度\r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第五难度\r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第六难度\r\n number:6,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第七难度\r\n number:6,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第八难度\r\n number:7,\r\n moveNumber:0,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第九难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:4,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十难度\r\n number:7,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十一难度\r\n number:8,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十二难度\r\n number:8,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十三难度\r\n number:9,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //第十四难度\r\n number:9,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //第十五难度\r\n number:10,\r\n moveNumber:5,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //11 \r\n number:3,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //12 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:0,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //13 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //14 \r\n number:4,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //15 \r\n number:4,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //16 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:0\r\n },\r\n { //17 \r\n number:5,\r\n moveNumber:0,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //18 \r\n number:5,\r\n moveNumber:1,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //19 \r\n number:5,\r\n moveNumber:2,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n },\r\n { //20 \r\n number:5,\r\n moveNumber:3,\r\n moveSpeed:6,\r\n maxDistance:200,\r\n maxMove:1200,\r\n repeat:1\r\n }\r\n\r\n ]\r\n\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n\r\n this.GAME_DATA = [\r\n \r\n ]\r\n }\r\n\r\n CLICK_init(){\r\n this.CLICK_DATA = \r\n {\r\n type:1,\r\n success:false,\r\n round:0,\r\n totalSunCount:0,\r\n movedSunCount:0,\r\n sunSpeed:0,\r\n overlapSunCount:0,\r\n colorList:[],\r\n duration:0,\r\n difficultyLevel:0,\r\n sunList:[],\r\n stepTimeList:[],\r\n remainder:120\r\n }\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GameManager.js b/temp/quick-scripts/src/assets/Script/GameManager.js index 350b5b7..01c96f0 100644 --- a/temp/quick-scripts/src/assets/Script/GameManager.js +++ b/temp/quick-scripts/src/assets/Script/GameManager.js @@ -3,12 +3,6 @@ cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); // Script/GameManager.ts "use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || @@ -29,6 +23,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); +// 主游戏控制类 var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; var GameData_1 = require("./GameData"); var Notification_1 = require("./Notification"); @@ -46,7 +41,6 @@ var GameManager = /** @class */ (function (_super) { _this.bg1 = null; _this.bg2 = null; _this.time = null; - // LIFE-CYCLE CALLBACKS: _this.begin = false; _this.fuhuo = false; _this.over = false; @@ -54,38 +48,11 @@ var GameManager = /** @class */ (function (_super) { _this.levelLabel = null; return _this; } - GameManager.prototype.onLoad = function () { - }; + GameManager.prototype.onLoad = function () { }; GameManager.prototype.start = function () { this.fit(); this.init(); }; - GameManager.prototype.fit = function () { - this.fitTop = 450; //600 - this.fitBot = -600; //-700 - var jg = this.setFit(); - if (!jg) { - this.fitTop = 600; - this.fitBot = -700; - } - }; - GameManager.prototype.getSetScreenResolutionFlag = function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }; - //判断全面屏适配 - GameManager.prototype.setFit = function () { - var flag = this.getSetScreenResolutionFlag(); - if (flag) { - } - else { - } - return flag; - }; //初始化数据 GameManager.prototype.init = function () { this.node.getChildByName("GameOver").zIndex = 100; @@ -133,6 +100,35 @@ var GameManager = /** @class */ (function (_super) { this.schedule(this.updateCountDownTime, 1); this.startGame(); }; + //根据是否全面屏,做独立适配方面 + GameManager.prototype.fit = function () { + this.fitTop = 450; //600 + this.fitBot = -600; //-700 + var jg = this.setFit(); + if (!jg) { + this.fitTop = 600; + this.fitBot = -700; + } + }; + //判断全面屏 + GameManager.prototype.getSetScreenResolutionFlag = function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }; + //判断全面屏适配 + GameManager.prototype.setFit = function () { + var flag = this.getSetScreenResolutionFlag(); + if (flag) { + } + else { + } + return flag; + }; + //返回首页 GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; @@ -167,8 +163,6 @@ var GameManager = /** @class */ (function (_super) { this.bgMove(-1); } }; - GameManager.prototype.begin_Guide = function () { - }; //获取时间戳 GameManager.prototype.getTime = function () { var timestamp = new Date().getTime(); @@ -183,7 +177,7 @@ var GameManager = /** @class */ (function (_super) { var timeCount = 0; var ball_1 = this.ball_Array[0]; for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance2(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); + var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y, 2); timeArray_1.push(time); } var _loop_1 = function (k) { @@ -237,6 +231,7 @@ var GameManager = /** @class */ (function (_super) { } } }; + //清理太阳 GameManager.prototype.clearSun = function () { for (var k = 0; k < this.ball_Array.length; k++) { this.ball_Array[k].removeFromParent(); @@ -257,11 +252,8 @@ var GameManager = /** @class */ (function (_super) { this.createLine(cc.v2(this.ball_Array[this.clickNow - 1].x, this.ball_Array[this.clickNow - 1].y), cc.v2(this.ball_Array[this.clickNow].x, this.ball_Array[this.clickNow].y), 0.2); } this.clickNow += 1; - // GameData._instance.GM_INFO.total += 1; if (this.ball_Array[this.clickNow - 1]) this.ball_Array[this.clickNow - 1].getChildByName("guang").active = false; - // setTimeout(() => { - // }, 200); if (this.clickNow == this.now_Array.length) { this.pause = true; GameData_1.default._instance.GM_INFO.total += this.clickNow; @@ -269,12 +261,9 @@ var GameManager = /** @class */ (function (_super) { if (this.startTime > 0 && this.overTime > 0) { GameData_1.default._instance.GM_INFO.mean_Time += (this.overTime - this.startTime); } - // console.log("成功",GameData._instance.GM_INFO.mean_Time,this.overTime,this.startTime); - // console.log(GameData._instance.GM_INFO.mean_Time); var finish_time = parseInt((this.overTime - this.startTime) / 100 + ""); this.startTime = 0; this.overTime = 0; - // console.log("33333333"); var color = "y"; if (this.level < 4 && this.level > 1) color = "yr"; @@ -319,7 +308,6 @@ var GameManager = /** @class */ (function (_super) { stepTimeList: this.time_Array, remainder: this.countTime }; - this.outPut(); this.setData(); cc.tween(win_1) .delay(0.4) @@ -351,9 +339,9 @@ var GameManager = /** @class */ (function (_super) { else { this.setLoss(); } - // this.hitAction(data) } }; + //执行失败 GameManager.prototype.setLoss = function () { GameData_1.default._instance.AudioManager.playWarning(); this.begin = false; @@ -404,7 +392,6 @@ var GameManager = /** @class */ (function (_super) { stepTimeList: this.time_Array, remainder: this.countTime }; - this.outPut(); this.setData(); if (this.fuhuo == true) { this.fuhuo = false; @@ -433,22 +420,6 @@ var GameManager = /** @class */ (function (_super) { .to(0.1, { opacity: 0 }) .start(); }; - GameManager.prototype.hitAction = function (data) { - var _this = this; - this.hit.active = true; - this.hit.opacity = 0; - this.hit.setPosition; - this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); - cc.tween(this.hit) - .to(0, { opacity: 255 }) - .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) - .delay(0.2) - .to(0.1, { opacity: 0 }) - .call(function () { - _this.hit.active = false; - }) - .start(); - }; //开始游戏 GameManager.prototype.startGame = function () { if (this.over == false && this.countTime > 0) { @@ -458,9 +429,9 @@ var GameManager = /** @class */ (function (_super) { cc.tween(this.ball) .to(0.5, { opacity: 255, scale: 1.3 }) .start(); - // this.runGame() } }; + //执行太阳运行动画,以及后面移动动画 GameManager.prototype.runGame = function () { var _this = this; var time = -650; @@ -504,6 +475,7 @@ var GameManager = /** @class */ (function (_super) { _loop_3(i); } }; + //设置移动重叠数据 GameManager.prototype.createMove = function () { var _this = this; if (this.over == false) { @@ -573,10 +545,6 @@ var GameManager = /** @class */ (function (_super) { } } } - // debugger; - //设置重叠 - // this.repeat = -1; - // this.numberRepeat = -1; //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for (var k = 0; k < this.moveArray.length; k++) { if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { @@ -626,9 +594,6 @@ var GameManager = /** @class */ (function (_super) { if (info.moveNumber > 0) { //0 1 2 3 4 5 6 7 8 9 //可移动区分 - var pos = cc.v2(0, 0); - // this.repeat = -1; - // this.numberRepeat = -1; //将重叠的设置为不可移动 1 1 1 1 0 0 1 0 0 0 / 2 7 for (var k = 0; k < this.moveArray.length; k++) { if (this.moveArray[k] == 1 && (k == this.repeat || k == this.numberRepeat)) { @@ -651,7 +616,7 @@ var GameManager = /** @class */ (function (_super) { var _loop_5 = function (i) { if (moveArray[i] == 1) { if (i != lastNumber) { //如果不是最后一个移动的 - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); this_4.ball_Array[i].getComponent("Sun").move = true; cc.tween(this_4.ball_Array[i]) .to(time, { position: this_4.Pos_Array[i] }) @@ -662,7 +627,7 @@ var GameManager = /** @class */ (function (_super) { } //如果是最后一个 else { - var time = speed * this_4.calculateDistance3(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y); + var time = speed * this_4.calculateDistance(this_4.ball_Array[i].x, this_4.ball_Array[i].y, this_4.Pos_Array[i].x, this_4.Pos_Array[i].y, 3); this_4.ball_Array[i].getComponent("Sun").move = true; cc.tween(this_4.ball_Array[i]) .to(time, { position: this_4.Pos_Array[i] }) @@ -679,6 +644,7 @@ var GameManager = /** @class */ (function (_super) { } } }; + //每次重新开始新一轮儿游戏 GameManager.prototype.beginGame = function () { this.begin = true; this.startTime = this.getTime(); @@ -686,19 +652,20 @@ var GameManager = /** @class */ (function (_super) { this.pause = false; // this.node.getChildByName("showBtn").active = true; }; - GameManager.prototype.getRandomArray = function (lastNumber) { - var num = parseInt(Math.random() * 8 - 4 + ""); - var jg = num + lastNumber; - if (num > 1 || num < -1) { - if (num == 0 || (jg < 0 || jg >= this.Pos_Array.length)) { - jg = this.getRandomArray(lastNumber); - } - } - else { - jg = this.getRandomArray(lastNumber); - } - return jg; - }; + //暂时作废 + // getRandomArray(lastNumber){ + // let num = parseInt(Math.random()*8 - 4 + ""); + // let jg = num + lastNumber; + // if(num > 1 || num <-1){ + // if( num == 0 || ( jg<0 || jg >= this.Pos_Array.length)){ + // jg = this.getRandomArray(lastNumber); + // } + // } + // else{ + // jg = this.getRandomArray(lastNumber); + // } + // return jg; + // } //创建太阳所需数据 GameManager.prototype.createSun = function () { var _this = this; @@ -720,8 +687,8 @@ var GameManager = /** @class */ (function (_super) { for (var l = 0; l < levelData.number; l++) { _loop_6(l); } - // 0 0 0 0 0 0 0 0 0 0 0 }; + //创建太阳位置,颜色信息等数据 GameManager.prototype.createPos = function () { var data = { x: this.ball.x, y: this.ball.y, time: 0, timeCount: 0, color: 0, speed: 0, repeat: false }; var levelData = GameData_1.default._instance.LEVEL_INFO[this.level - 1]; @@ -738,9 +705,10 @@ var GameManager = /** @class */ (function (_super) { if (levelData.number == 4) colorArray = [0, 0, 0, 0]; this.color_Array = colorArray; + //存储太阳数据 for (var i = 0; i < levelData.number; i++) { - var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y)); - var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y) + timeCount; + var timeCount = this.timeCount + (0.6 - this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1)); + var time = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[i].x, this.Pos_Array[i].y, 1) + timeCount; data = { x: this.Pos_Array[i].x, y: this.Pos_Array[i].y, time: time, timeCount: timeCount, color: colorArray[i], speed: levelData.moveSpeed, repeat: false }; if (this.repeat == i) { data.repeat = true; @@ -752,6 +720,7 @@ var GameManager = /** @class */ (function (_super) { } this.runGame(); }; + //获取,N个太阳位置的方法,和POS2分开两个方法,防止递归溢出 GameManager.prototype.getPos = function (type, num) { var posX = Math.random() * 620 - 310; var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; @@ -774,6 +743,7 @@ var GameManager = /** @class */ (function (_super) { } return point; }; + //获取,N个太阳可移动位置的方法,和POS分开算防止递归溢出 GameManager.prototype.getPos2 = function (type, num) { var posX = Math.random() * 620 - 310; var posY = Math.random() * (this.fitTop - this.fitBot) + this.fitBot; @@ -796,6 +766,7 @@ var GameManager = /** @class */ (function (_super) { } return point; }; + //获取两点之间距离,返回判断是否在一定范围内 将来提出到工具类 GameManager.prototype.getDistance = function (x1, y1, x2, y2, num) { var jg = false; var dx = x2 - x1; @@ -819,6 +790,92 @@ var GameManager = /** @class */ (function (_super) { } return jg; }; + //命中动画 + GameManager.prototype.hitAction = function (data) { + var _this = this; + this.hit.active = true; + this.hit.opacity = 0; + this.hit.setPosition; + this.hit.setPosition(this.ball_Array[data].x + 35, this.ball_Array[data].y + 35); + cc.tween(this.hit) + .to(0, { opacity: 255 }) + .to(0.2, { position: cc.v3(this.hit.x - 35, this.hit.y - 35, 0) }) + .delay(0.2) + .to(0.1, { opacity: 0 }) + .call(function () { + _this.hit.active = false; + }) + .start(); + }; + //创造太阳 + GameManager.prototype.createBall = function (number, color, speed, repeat) { + var ball = null; + if (color == 0) + ball = cc.instantiate(this.qiu1); + else if (color == 1) + ball = cc.instantiate(this.qiu2); + else if (color == 2) + ball = cc.instantiate(this.qiu3); + ball.parent = this.node.getChildByName("Sun"); + ball.zIndex = this.now_Array.length - number; + ball.setPosition(this.ball.x, this.ball.y); + ball.getComponent("Sun").init(number, color, speed, repeat); + this.ball_Array.push(ball); + }; + //销毁连线 + GameManager.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //创建连线 + GameManager.prototype.createLine = function (start, end, time) { + var line = cc.instantiate(this.linePrefab); + line.parent = this.node.getChildByName("Line"); + line.setPosition(start.x, start.y); + var dx = end.x - start.x; + var dy = end.y - start.y; + var distance = Math.sqrt(dx * dx + dy * dy); + line.height = distance; + line.getComponent(cc.Sprite).fillRange = 0; + line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); + cc.tween(line.getComponent(cc.Sprite)) + .to(time, { fillRange: 1 }) + .start(); + }; + //获取两点之间的角度,将来都可放工具类 + GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { + var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; + return -angle; + }; + //获取两点之间的距离 返回对应时间 + GameManager.prototype.calculateDistance = function (x1, y1, x2, y2, num) { + var dx = x2 - x1; + var dy = y2 - y1; + var time = 0; + var distance = Math.sqrt(dx * dx + dy * dy); + if (num == 1) { + if (distance > 800) + distance = 800; + time = distance / 800 * 0.6; + } + else if (num == 2) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1; + } + else if (num == 3) { + if (distance > 1200) + distance = 1200; + time = distance / 1200 * 1.5; + } + return time; + }; + //获取两点之间距离 返回距离判断 GameManager.prototype.getDistance2 = function (x1, y1, x2, y2, num) { var jg = false; var dx = x2 - x1; @@ -837,81 +894,12 @@ var GameManager = /** @class */ (function (_super) { } return jg; }; - GameManager.prototype.createBall = function (number, color, speed, repeat) { - var ball = null; - if (color == 0) - ball = cc.instantiate(this.qiu1); - else if (color == 1) - ball = cc.instantiate(this.qiu2); - else if (color == 2) - ball = cc.instantiate(this.qiu3); - ball.parent = this.node.getChildByName("Sun"); - ball.zIndex = this.now_Array.length - number; - ball.setPosition(this.ball.x, this.ball.y); - ball.getComponent("Sun").init(number, color, speed, repeat); - this.ball_Array.push(ball); - }; - GameManager.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; - GameManager.prototype.createLine = function (start, end, time) { - var line = cc.instantiate(this.linePrefab); - line.parent = this.node.getChildByName("Line"); - line.setPosition(start.x, start.y); - var dx = end.x - start.x; - var dy = end.y - start.y; - var distance = Math.sqrt(dx * dx + dy * dy); - line.height = distance; - line.getComponent(cc.Sprite).fillRange = 0; - line.angle = -this.calculateAngle(start.x, start.y, end.x, end.y); - cc.tween(line.getComponent(cc.Sprite)) - .to(time, { fillRange: 1 }) - .start(); - }; - GameManager.prototype.calculateAngle = function (x1, y1, x2, y2) { - var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; - return -angle; - }; - GameManager.prototype.calculateDistance = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 800) - distance = 800; - var time = distance / 800 * 0.6; - return time; - }; - GameManager.prototype.calculateDistance2 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1; - return time; - }; - GameManager.prototype.calculateDistance3 = function (x1, y1, x2, y2) { - var dx = x2 - x1; - var dy = y2 - y1; - var distance = Math.sqrt(dx * dx + dy * dy); - if (distance > 1200) - distance = 1200; - var time = distance / 1200 * 1.5; - return time; - }; //背景移动 GameManager.prototype.bgMove = function (type) { var _this = this; var random = Math.random() * 300 + 300; var posX = Math.random() * 600 - 300; var y1 = this.bg1.y - random * type; - // let y2 = this.bg2.y - random*type; var time1 = 0.7 * (random / 400); cc.tween(this.ball) .to(0.3, { scale: 1.3 }) @@ -921,17 +909,9 @@ var GameManager = /** @class */ (function (_super) { .delay(0.3) .to(time1, { y: y1 }) .start(); - // cc.tween(this.bg2) - // .delay(0.3) - // .to(time1,{y:y2}) - // .start(); setTimeout(function () { - // if(this.over == false && GameData._instance.GM_INFO.custom == 0){ - // this.startGame(); - // } - if (_this.over == false) { + if (_this.over == false) _this.startGame(); - } }, time1 * 1500); }; //时间格式转换 @@ -974,20 +954,21 @@ var GameManager = /** @class */ (function (_super) { this.unschedule(this.updateCountDownTime); this.setLoss(); var time = 0; - // console.log(GameData._instance.GM_INFO.mean_Time,this.clickCount); if (this.clickCount > 0) time = parseInt(GameData_1.default._instance.GM_INFO.mean_Time / this.clickCount + ""); GameData_1.default._instance.GM_INFO.mean_Time = parseInt(time / 100 + ""); GameData_1.default._instance.GM_INFO.mean_Time = GameData_1.default._instance.GM_INFO.mean_Time / 10; - // console.log( GameData._instance.GM_INFO.mean_Time,time); - // debugger; if (time > 10000) time = (Math.random() * 10 + 5) * 100; this.setRank(time); } } }; + //上传每次操作数据 GameManager.prototype.setData = function () { + GameData_1.default._instance.GAME_DATA = []; + GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); + GameData_1.default._instance.CLICK_init(); var data = GameData_1.default._instance.GAME_DATA; var matchId = this.getMatchId(); console.log(matchId); @@ -998,6 +979,7 @@ var GameManager = /** @class */ (function (_super) { console.log("上传数据:"); serverAPI_1.default.uploadUserLogData(postData, function () { }); }; + //获取matchId 用于上传每次点击数据里面记录id方便查询 GameManager.prototype.getMatchId = function () { var matchId = cc.sys.localStorage.getItem("matchId"); if (matchId == "undifend" || matchId == null) { @@ -1019,9 +1001,11 @@ var GameManager = /** @class */ (function (_super) { } return matchId; }; + //检测matchId 如果有缓存以前的nanana数据清除 GameManager.prototype.containsNanana = function (str) { return /na/i.test(str); }; + //重新设置MatchId GameManager.prototype.setMatchId = function () { // 定义包含可用字符的字符集 var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; @@ -1042,6 +1026,7 @@ var GameManager = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.matchId = data; return data; }; + //上传排行榜数据 GameManager.prototype.setRank = function (time) { var postData = { "type": 1, @@ -1049,7 +1034,6 @@ var GameManager = /** @class */ (function (_super) { "totalSunCount": GameData_1.default._instance.GM_INFO.total, "success": GameData_1.default._instance.GM_INFO.success }; - // console.log(postData); serverAPI_1.default.rankData(1, function () { }, postData); this.node.getChildByName("GameOver").active = true; this.node.getChildByName("GameOver").opacity = 0; @@ -1062,12 +1046,7 @@ var GameManager = /** @class */ (function (_super) { }) .start(); }; - GameManager.prototype.outPut = function () { - var data = GameData_1.default._instance.CLICK_DATA; - GameData_1.default._instance.GAME_DATA = []; - GameData_1.default._instance.GAME_DATA.push(GameData_1.default._instance.CLICK_DATA); - GameData_1.default._instance.CLICK_init(); - }; + //作弊,测试用 GameManager.prototype.showNumber = function () { if (this.show == false) this.show = true; @@ -1079,10 +1058,8 @@ var GameManager = /** @class */ (function (_super) { }; GameManager.prototype.onEnable = function () { Notification_1.Notification.on("clickSun", this.clickSun, this); - // Notification.on("HammerPlay", this.HammerPlay, this); }; GameManager.prototype.onDisable = function () { - // Notification.off("rightAnswers", this.rightAnswers); Notification_1.Notification.off("clickSun", this.clickSun); }; GameManager.prototype.update = function (dt) { diff --git a/temp/quick-scripts/src/assets/Script/GameOver.js b/temp/quick-scripts/src/assets/Script/GameOver.js index 1733c97..15ef7ef 100644 --- a/temp/quick-scripts/src/assets/Script/GameOver.js +++ b/temp/quick-scripts/src/assets/Script/GameOver.js @@ -45,9 +45,7 @@ var NewClass = /** @class */ (function (_super) { _this.four = null; _this.five = null; return _this; - // update (dt) {} } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { this.count.string = GameData_1.default._instance.GM_INFO.total; @@ -55,6 +53,10 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.mean_Time = (parseInt(Math.random() * 10 + "") + 5) / 10; } this.time.string = GameData_1.default._instance.GM_INFO.mean_Time + "s"; + this.init(); + }; + //初始化数据 + NewClass.prototype.init = function () { this.listData = []; this.selfData = null; this.one.active = false; @@ -62,17 +64,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; - // this.setData(); this.getRank(); }; - NewClass.prototype.success = function (data) { - }; - NewClass.prototype.back = function () { + //打开排行榜 + NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; + //重新开始玩 NewClass.prototype.again = function () { cc.director.loadScene("GameScene"); }; + //获取排行榜 NewClass.prototype.getRank = function () { var postData = { "page": 1, @@ -80,6 +82,7 @@ var NewClass = /** @class */ (function (_super) { }; serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); }; + //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { this.listData = data.data.list; @@ -106,6 +109,7 @@ var NewClass = /** @class */ (function (_super) { } } }; + //根据内容填充排行榜 NewClass.prototype.setRank = function (num, data) { var hitNode = null; if (num == 0) { @@ -133,6 +137,7 @@ var NewClass = /** @class */ (function (_super) { this.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); } }; + //设置头像 NewClass.prototype.setPic = function (node, pic) { node.active = false; var url = pic; diff --git a/temp/quick-scripts/src/assets/Script/GuideManager.js b/temp/quick-scripts/src/assets/Script/GuideManager.js index bdffa39..fdf87c3 100644 --- a/temp/quick-scripts/src/assets/Script/GuideManager.js +++ b/temp/quick-scripts/src/assets/Script/GuideManager.js @@ -23,12 +23,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +//此页面为引导页面,后续更新成模板,暂时偷懒复制主游戏场景代码进来 var GameData_1 = require("./GameData"); var Notification_1 = require("./Notification"); var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; @@ -42,15 +37,16 @@ var NewClass = /** @class */ (function (_super) { _this.qiu1 = null; _this.linePrefab = null; return _this; - // update (dt) {} } // onLoad () {} NewClass.prototype.start = function () { - this.custom = 1; + GameData_1.default._instance.GM_INFO.custom = 0; this.init(); this.startGuide(0); }; + //初始化数据 NewClass.prototype.init = function () { + this.custom = 1; this.ball.zIndex = 100; this.Pos_Array = []; this.ball_Array = []; @@ -58,11 +54,11 @@ var NewClass = /** @class */ (function (_super) { this.clickNow = 0; this.tip = null; }; + //开始引导方法 NewClass.prototype.startGuide = function (type) { var _this = this; var num = this.custom; var time = 0.5; - var delay = 1.5; var name = "tip" + num; if (type != 0) { cc.tween(this.node) @@ -75,9 +71,8 @@ var NewClass = /** @class */ (function (_super) { _this.createSun1(); else if (_this.custom == 3) _this.createSun2(); - else if (_this.custom == 4) { + else if (_this.custom == 4) _this.begin = true; - } else if (_this.custom == 5) cc.director.loadScene("GameScene"); }) @@ -90,47 +85,19 @@ var NewClass = /** @class */ (function (_super) { cc.tween(this.tip) .to(time, { opacity: 255 }) .start(); - // cc.tween(tip) - // .to(time,{opacity:255}) - // .delay(delay) - // .to(time,{opacity:0}) - // .call(() =>{ - // this.custom += 1; - // if(type != 0) this.custom = 2; - // if( this.custom == 2) this.createSun1(); - // else if( this.custom == 3) this.createSun2(); - // else if( this.custom == 4) this.begin = true; - // else if( this.custom == 5) cc.director.loadScene("GameScene"); - // }) - // .start(); } }; - //创建太阳 - NewClass.prototype.createSun1 = function () { - var _this = this; - this.ball_Array = []; - this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); - var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); - this.ball.opacity = 0; - cc.tween(this.ball) - .to(time1, { position: this.Pos_Array[0] }) - .call(function () { - _this.createBall(0, 0, 0, false); - }) - .delay(1) - .call(function () { - _this.startGuide(0); - }) - .start(); - }; + //清除所有太阳 NewClass.prototype.beginClick = function () { for (var i = 0; i < this.ball_Array.length; i++) { this.ball_Array[i].getComponent("Sun").move = false; } }; + //点击开始游戏,或者点击跳过引导 NewClass.prototype.clickBtn = function () { cc.director.loadScene("GameScene"); }; + //点击下一步按钮 NewClass.prototype.next = function () { var _this = this; var time = 0.5; @@ -138,11 +105,10 @@ var NewClass = /** @class */ (function (_super) { .to(time, { opacity: 0 }) .call(function () { _this.custom += 1; - // if(type != 0) this.custom = 2; if (_this.custom == 2) - _this.createSun1(); + _this.createSun(true); else if (_this.custom == 3) - _this.createSun2(); + _this.createSun(false); else if (_this.custom == 4) _this.begin = true; else if (_this.custom == 5) @@ -150,33 +116,53 @@ var NewClass = /** @class */ (function (_super) { }) .start(); }; - NewClass.prototype.createSun2 = function () { + //创建太阳 + NewClass.prototype.createSun = function (type) { var _this = this; - var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); - var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); - this.ball.opacity = 255; - this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); - cc.tween(this.ball) - .to(time2, { position: this.Pos_Array[1] }) - .call(function () { - _this.createBall(1, 0, 0, false); - }) - .delay(0.5) - .call(function () { - _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); - }) - .to(time3, { position: this.Pos_Array[2] }) - .call(function () { - _this.createBall(2, 0, 0, false); - _this.ball.opacity = 0; - }) - .delay(0.2) - .call(function () { - _this.destroyLine(); - _this.startGuide(0); - }) - .start(); + if (type == true) { + this.ball_Array = []; + this.Pos_Array.push(cc.v2(-250, -216), cc.v2(200, -115), cc.v2(-35, -500)); + var time1 = this.calculateDistance(this.ball.x, this.ball.y, this.Pos_Array[0].x, this.Pos_Array[0].y); + this.ball.opacity = 0; + cc.tween(this.ball) + .to(time1, { position: this.Pos_Array[0] }) + .call(function () { + _this.createBall(0, 0, 0, false); + }) + .delay(1) + .call(function () { + _this.startGuide(0); + }) + .start(); + } + else { + var time2 = this.calculateDistance(this.Pos_Array[0].x, this.Pos_Array[0].y, this.Pos_Array[1].x, this.Pos_Array[1].y); + var time3 = this.calculateDistance(this.Pos_Array[1].x, this.Pos_Array[1].y, this.Pos_Array[2].x, this.Pos_Array[2].y); + this.ball.opacity = 255; + this.createLine(cc.v2(this.ball.x, this.ball.y), cc.v2(this.Pos_Array[1].x, this.Pos_Array[1].y), 0.5); + cc.tween(this.ball) + .to(time2, { position: this.Pos_Array[1] }) + .call(function () { + _this.createBall(1, 0, 0, false); + }) + .delay(0.5) + .call(function () { + _this.createLine(cc.v2(_this.ball.x, _this.ball.y), cc.v2(_this.Pos_Array[2].x, _this.Pos_Array[2].y), 0.5); + }) + .to(time3, { position: this.Pos_Array[2] }) + .call(function () { + _this.createBall(2, 0, 0, false); + _this.ball.opacity = 0; + }) + .delay(0.2) + .call(function () { + _this.destroyLine(); + _this.startGuide(0); + }) + .start(); + } }; + //创建太阳 NewClass.prototype.createBall = function (number, color, speed, repeat) { var ball = null; ball = cc.instantiate(this.qiu1); @@ -187,6 +173,7 @@ var NewClass = /** @class */ (function (_super) { ball.getComponent("Sun").move = true; this.ball_Array.push(ball); }; + //获取两点之间角度创建连线用 NewClass.prototype.calculateDistance = function (x1, y1, x2, y2) { var dx = x2 - x1; var dy = y2 - y1; @@ -196,42 +183,53 @@ var NewClass = /** @class */ (function (_super) { var time = distance / 800 * 0.8; return time; }; - //移动创建下一个太阳 - NewClass.prototype.moveSun = function () { - }; - //获胜 + //引导成功 NewClass.prototype.passLevel = function () { var _this = this; - this.destroyLine(); - var timeArray = []; - var timeCount = 0; - var ball = this.ball_Array[0]; - for (var i = 1; i < this.ball_Array.length; i++) { - var time = this.calculateDistance(this.ball_Array[i].x, this.ball_Array[i].y, this.ball_Array[i - 1].x, this.ball_Array[i - 1].y); - timeArray.push(time); - } - var _loop_1 = function (k) { + var win = this.node.getChildByName("Win"); + win.active = true; + win.setScale(0); + cc.tween(win) + .delay(0.4) + .to(0.01, { scale: 2.5 }) + .to(0.35, { scale: 1 }) + .delay(0.6) + .call(function () { + win.active = false; setTimeout(function () { - cc.tween(ball) - .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) - .call(function () { - _this.ball_Array[k].active = false; - if (k == _this.ball_Array.length - 1) { - setTimeout(function () { - _this.ball.opacity = 255; - _this.ball.position = cc.v3(ball.x, ball.y, 0); - _this.ball.active = false; - _this.startGuide(0); - }, 200); - } - }) - .start(); - }, timeCount * 1000); - timeCount += (timeArray[k - 1] + 0.1); - }; - for (var k = 1; k < this.ball_Array.length; k++) { - _loop_1(k); - } + _this.destroyLine(); + var timeArray = []; + var timeCount = 0; + var ball = _this.ball_Array[0]; + for (var i = 1; i < _this.ball_Array.length; i++) { + var time = _this.calculateDistance(_this.ball_Array[i].x, _this.ball_Array[i].y, _this.ball_Array[i - 1].x, _this.ball_Array[i - 1].y); + timeArray.push(time); + } + var _loop_1 = function (k) { + setTimeout(function () { + cc.tween(ball) + .to(timeArray[k - 1], { x: _this.ball_Array[k].x, y: _this.ball_Array[k].y }) + .call(function () { + _this.ball_Array[k].active = false; + if (k == _this.ball_Array.length - 1) { + setTimeout(function () { + _this.ball.opacity = 255; + _this.ball.position = cc.v3(ball.x, ball.y, 0); + _this.ball.active = false; + _this.startGuide(0); + }, 200); + } + }) + .start(); + }, timeCount * 1000); + timeCount += (timeArray[k - 1] + 0.1); + }; + for (var k = 1; k < _this.ball_Array.length; k++) { + _loop_1(k); + } + }, 400); + }) + .start(); }; //点击太阳执行方法 NewClass.prototype.clickSun = function (data) { @@ -249,42 +247,19 @@ var NewClass = /** @class */ (function (_super) { _this.ball_Array[_this.clickNow - 1].getChildByName("guang").active = false; }, 200); if (this.clickNow == 3) { - var win_1 = this.node.getChildByName("Win"); - win_1.active = true; - win_1.setScale(0); - cc.tween(win_1) - .delay(0.4) - .to(0.01, { scale: 2.5 }) - .to(0.35, { scale: 1 }) - .delay(0.6) - .call(function () { - win_1.active = false; - setTimeout(function () { - _this.passLevel(); - }, 400); - }) - .start(); + this.passLevel(); } } else { - GameData_1.default._instance.AudioManager.playWarning(); - this.begin = false; - this.loseLevel(1); - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.25, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .delay(0.1) - .to(0.15, { opacity: 255 }) - .delay(0.1) - .to(0.1, { opacity: 0 }) - .start(); + this.loseLevel(); } } }; - NewClass.prototype.loseLevel = function (type) { + //失败事件 + NewClass.prototype.loseLevel = function () { var _this = this; + this.begin = false; + GameData_1.default._instance.AudioManager.playWarning(); this.destroyLine(); var ball = this.ball_Array[0]; var _loop_2 = function (k) { @@ -306,7 +281,19 @@ var NewClass = /** @class */ (function (_super) { for (var k = 1; k < this.ball_Array.length; k++) { _loop_2(k); } + //结束页面动画 + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.25, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .delay(0.1) + .to(0.15, { opacity: 255 }) + .delay(0.1) + .to(0.1, { opacity: 0 }) + .start(); }; + //点击太阳事件 NewClass.prototype.clearSun = function () { for (var k = 0; k < this.ball_Array.length; k++) { this.ball_Array[k].removeFromParent(); @@ -319,15 +306,7 @@ var NewClass = /** @class */ (function (_super) { var timestamp = new Date().getTime(); return timestamp; }; - NewClass.prototype.destroyLine = function () { - for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { - if (this.node.getChildByName("Line").children[i]) { - this.node.getChildByName("Line").children[i].removeFromParent(); - this.node.getChildByName("Line").children[i] = null; - } - } - this.node.getChildByName("Line").removeAllChildren(); - }; + //创造连线,参数起点,终点,连线时间 NewClass.prototype.createLine = function (start, end, time) { var line = cc.instantiate(this.linePrefab); line.parent = this.node.getChildByName("Line"); @@ -342,6 +321,17 @@ var NewClass = /** @class */ (function (_super) { .to(time, { fillRange: 1 }) .start(); }; + //摧毁连线 + NewClass.prototype.destroyLine = function () { + for (var i = 0; i < this.node.getChildByName("Line").children.length; i++) { + if (this.node.getChildByName("Line").children[i]) { + this.node.getChildByName("Line").children[i].removeFromParent(); + this.node.getChildByName("Line").children[i] = null; + } + } + this.node.getChildByName("Line").removeAllChildren(); + }; + //获取两个点之间的角度 用于写连线 确定连线方向 NewClass.prototype.calculateAngle = function (x1, y1, x2, y2) { var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI - 90; return -angle; diff --git a/temp/quick-scripts/src/assets/Script/GuideManager.js.map b/temp/quick-scripts/src/assets/Script/GuideManager.js.map index 80861e3..cbad1b7 100644 --- a/temp/quick-scripts/src/assets/Script/GuideManager.js.map +++ b/temp/quick-scripts/src/assets/Script/GuideManager.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GuideManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.Node)\r\n dialog: cc.Node = null;\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n clickNow:number;\r\n custom: number;\r\n Pos_Array: any;\r\n ball_Array: any;\r\n begin: boolean;\r\n tip: cc.Node;\r\n // onLoad () {}\r\n\r\n start () {\r\n this.custom = 1;\r\n this.init();\r\n this.startGuide(0);\r\n }\r\n\r\n init(){\r\n this.ball.zIndex = 100;\r\n this.Pos_Array = [];\r\n this.ball_Array = [];\r\n this.begin = false;\r\n this.clickNow = 0;\r\n this.tip = null;\r\n }\r\n\r\n startGuide(type){\r\n let num = this.custom;\r\n let time = 0.5;\r\n let delay = 1.5;\r\n let name = \"tip\" + num;\r\n\r\n if(type!=0){\r\n cc.tween(this.node)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n this.custom += 1;\r\n if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4){\r\n\r\n this.begin = true;\r\n } \r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n })\r\n .start();\r\n }\r\n else{\r\n this.tip = this.dialog.getChildByName(name);\r\n this.tip.active = true; this.tip.opacity = 0;\r\n cc.tween(this.tip)\r\n .to(time,{opacity:255})\r\n .start();\r\n // cc.tween(tip)\r\n // .to(time,{opacity:255})\r\n // .delay(delay)\r\n // .to(time,{opacity:0})\r\n // .call(() =>{\r\n // this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n // if( this.custom == 2) this.createSun1();\r\n // else if( this.custom == 3) this.createSun2();\r\n // else if( this.custom == 4) this.begin = true;\r\n // else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n // })\r\n // .start();\r\n }\r\n\r\n }\r\n //创建太阳\r\n createSun1(){\r\n this.ball_Array = [];\r\n this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500));\r\n let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y)\r\n this.ball.opacity = 0;\r\n cc.tween(this.ball)\r\n .to(time1,{position:this.Pos_Array[0]})\r\n .call(() =>{\r\n this.createBall(0,0,0,false);\r\n })\r\n .delay(1)\r\n .call(() =>{\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n\r\n beginClick(){\r\n for(let i=0; i{\r\n this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n createSun2(){\r\n let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y)\r\n let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y)\r\n this.ball.opacity = 255;\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y),\r\n 0.5);\r\n cc.tween(this.ball)\r\n .to(time2,{position:this.Pos_Array[1]})\r\n .call(() =>{\r\n this.createBall(1,0,0,false);\r\n })\r\n .delay(0.5)\r\n .call(() =>{\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y),\r\n 0.5);\r\n })\r\n .to(time3,{position:this.Pos_Array[2]})\r\n .call(() =>{\r\n this.createBall(2,0,0,false);\r\n this.ball.opacity = 0;\r\n })\r\n .delay(0.2)\r\n .call(() =>{\r\n this.destroyLine();\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n \r\n \r\n\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n ball = cc.instantiate(this.qiu1);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.Pos_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n ball.getComponent(\"Sun\").move = true;\r\n this.ball_Array.push(ball);\r\n }\r\n\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.8;\r\n return time;\r\n }\r\n\r\n //移动创建下一个太阳\r\n moveSun(){\r\n\r\n }\r\n\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.ball.active = false;\r\n this.startGuide(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2);\r\n }\r\n this.clickNow += 1;\r\n GameData._instance.GM_INFO.total += 1;\r\n setTimeout(() => {\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n }, 200);\r\n \r\n \r\n if(this.clickNow == 3){\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.6)\r\n .call(() =>{\r\n win.active = false;\r\n setTimeout(() => {\r\n this.passLevel();\r\n }, 400);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n\r\n this.loseLevel(1)\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n }\r\n }\r\n\r\n loseLevel(type){\r\n this.destroyLine();\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(0.6,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 0;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.custom = 1;\r\n this.startGuide(1);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n this.ball_Array = [];\r\n }\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n \r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n\r\n onEnable () {\r\n Notification.on(\"clickSun\", this.clickSun, this);\r\n }\r\n\r\n onDisable () {\r\n Notification.off(\"clickSun\", this.clickSun);\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GuideManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nimport GameData from './GameData';\r\nimport { Notification } from './Notification';\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.Node)\r\n dialog: cc.Node = null;\r\n @property(cc.Node)\r\n ball: cc.Node = null;\r\n @property(cc.Prefab)\r\n qiu1: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n linePrefab: cc.Prefab = null;\r\n clickNow:number;\r\n custom: number;\r\n Pos_Array: any;\r\n ball_Array: any;\r\n begin: boolean;\r\n tip: cc.Node;\r\n // onLoad () {}\r\n\r\n start () {\r\n GameData._instance.GM_INFO.custom = 0;\r\n this.custom = 1;\r\n this.init();\r\n this.startGuide(0);\r\n }\r\n\r\n init(){\r\n this.ball.zIndex = 100;\r\n this.Pos_Array = [];\r\n this.ball_Array = [];\r\n this.begin = false;\r\n this.clickNow = 0;\r\n this.tip = null;\r\n }\r\n\r\n startGuide(type){\r\n let num = this.custom;\r\n let time = 0.5;\r\n let delay = 1.5;\r\n let name = \"tip\" + num;\r\n\r\n if(type!=0){\r\n cc.tween(this.node)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n this.custom += 1;\r\n if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4){\r\n\r\n this.begin = true;\r\n } \r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n })\r\n .start();\r\n }\r\n else{\r\n this.tip = this.dialog.getChildByName(name);\r\n this.tip.active = true; this.tip.opacity = 0;\r\n cc.tween(this.tip)\r\n .to(time,{opacity:255})\r\n .start();\r\n // cc.tween(tip)\r\n // .to(time,{opacity:255})\r\n // .delay(delay)\r\n // .to(time,{opacity:0})\r\n // .call(() =>{\r\n // this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n // if( this.custom == 2) this.createSun1();\r\n // else if( this.custom == 3) this.createSun2();\r\n // else if( this.custom == 4) this.begin = true;\r\n // else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n \r\n // })\r\n // .start();\r\n }\r\n\r\n }\r\n //创建太阳\r\n createSun1(){\r\n this.ball_Array = [];\r\n this.Pos_Array.push(cc.v2(-250,-216),cc.v2(200,-115),cc.v2(-35,-500));\r\n let time1 = this.calculateDistance(this.ball.x,this.ball.y,this.Pos_Array[0].x,this.Pos_Array[0].y)\r\n this.ball.opacity = 0;\r\n cc.tween(this.ball)\r\n .to(time1,{position:this.Pos_Array[0]})\r\n .call(() =>{\r\n this.createBall(0,0,0,false);\r\n })\r\n .delay(1)\r\n .call(() =>{\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n\r\n beginClick(){\r\n for(let i=0; i{\r\n this.custom += 1;\r\n // if(type != 0) this.custom = 2;\r\n if( this.custom == 2) this.createSun1();\r\n else if( this.custom == 3) this.createSun2();\r\n else if( this.custom == 4) this.begin = true;\r\n else if( this.custom == 5) cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n createSun2(){\r\n let time2 = this.calculateDistance(this.Pos_Array[0].x,this.Pos_Array[0].y,this.Pos_Array[1].x,this.Pos_Array[1].y)\r\n let time3 = this.calculateDistance(this.Pos_Array[1].x,this.Pos_Array[1].y,this.Pos_Array[2].x,this.Pos_Array[2].y)\r\n this.ball.opacity = 255;\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[1].x,this.Pos_Array[1].y),\r\n 0.5);\r\n cc.tween(this.ball)\r\n .to(time2,{position:this.Pos_Array[1]})\r\n .call(() =>{\r\n this.createBall(1,0,0,false);\r\n })\r\n .delay(0.5)\r\n .call(() =>{\r\n this.createLine(cc.v2(this.ball.x,this.ball.y),cc.v2(this.Pos_Array[2].x,this.Pos_Array[2].y),\r\n 0.5);\r\n })\r\n .to(time3,{position:this.Pos_Array[2]})\r\n .call(() =>{\r\n this.createBall(2,0,0,false);\r\n this.ball.opacity = 0;\r\n })\r\n .delay(0.2)\r\n .call(() =>{\r\n this.destroyLine();\r\n this.startGuide(0);\r\n })\r\n .start();\r\n }\r\n \r\n \r\n\r\n createBall(number,color,speed,repeat){\r\n let ball = null;\r\n ball = cc.instantiate(this.qiu1);\r\n ball.parent = this.node.getChildByName(\"Sun\");\r\n ball.zIndex = this.Pos_Array.length - number;\r\n ball.setPosition(this.ball.x,this.ball.y);\r\n ball.getComponent(\"Sun\").init(number,color,speed,repeat);\r\n ball.getComponent(\"Sun\").move = true;\r\n this.ball_Array.push(ball);\r\n }\r\n\r\n calculateDistance(x1, y1, x2, y2) {\r\n const dx = x2 - x1;\r\n const dy = y2 - y1;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n if(distance > 800) distance = 800;\r\n const time = distance/800 * 0.8;\r\n return time;\r\n }\r\n\r\n //移动创建下一个太阳\r\n moveSun(){\r\n\r\n }\r\n\r\n //获胜\r\n passLevel(){\r\n this.destroyLine();\r\n let timeArray = [];\r\n let timeCount = 0;\r\n let ball = this.ball_Array[0];\r\n for(let i=1; i< this.ball_Array.length; i++){\r\n let time = this.calculateDistance(this.ball_Array[i].x,this.ball_Array[i].y,\r\n this.ball_Array[i-1].x,this.ball_Array[i-1].y);\r\n timeArray.push(time);\r\n }\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n setTimeout(() => {\r\n cc.tween(ball)\r\n .to(timeArray[k-1],{x:this.ball_Array[k].x,y:this.ball_Array[k].y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n setTimeout(() => {\r\n this.ball.opacity = 255;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.ball.active = false;\r\n this.startGuide(0);\r\n }, 200);\r\n }\r\n })\r\n .start();\r\n }, timeCount*1000);\r\n timeCount += (timeArray[k-1]+0.1);\r\n }\r\n }\r\n\r\n //点击太阳执行方法\r\n clickSun(data){\r\n if(this.begin == true){\r\n if(data == this.clickNow){\r\n GameData._instance.AudioManager.playAudioButton();\r\n if(this.clickNow > 0){\r\n this.createLine(cc.v2(this.ball_Array[this.clickNow-1].x,this.ball_Array[this.clickNow-1].y),\r\n cc.v2(this.ball_Array[this.clickNow].x,this.ball_Array[this.clickNow].y),\r\n 0.2);\r\n }\r\n this.clickNow += 1;\r\n GameData._instance.GM_INFO.total += 1;\r\n setTimeout(() => {\r\n if(this.ball_Array[this.clickNow-1])\r\n this.ball_Array[this.clickNow-1].getChildByName(\"guang\").active = false;\r\n }, 200);\r\n \r\n \r\n if(this.clickNow == 3){\r\n let win = this.node.getChildByName(\"Win\");\r\n win.active = true; win.setScale(0);\r\n cc.tween(win)\r\n .delay(0.4)\r\n .to(0.01,{scale:2.5})\r\n .to(0.35,{scale:1})\r\n .delay(0.6)\r\n .call(() =>{\r\n win.active = false;\r\n setTimeout(() => {\r\n this.passLevel();\r\n }, 400);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n GameData._instance.AudioManager.playWarning();\r\n this.begin = false;\r\n\r\n this.loseLevel(1)\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.25,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .delay(0.1)\r\n .to(0.15,{opacity:255})\r\n .delay(0.1)\r\n .to(0.1,{opacity:0})\r\n .start();\r\n }\r\n }\r\n }\r\n\r\n loseLevel(type){\r\n this.destroyLine();\r\n let ball = this.ball_Array[0];\r\n for(let k=1; k< this.ball_Array.length; k++){\r\n cc.tween(this.ball_Array[k])\r\n .to(0.6,{x:ball.x,y:ball.y})\r\n .call(() =>{\r\n this.ball_Array[k].active = false;\r\n if(k == this.ball_Array.length-1){\r\n this.ball.opacity = 0;\r\n this.ball.position = cc.v3(ball.x,ball.y,0);\r\n this.clearSun();\r\n this.custom = 1;\r\n this.startGuide(1);\r\n }\r\n })\r\n .start()\r\n }\r\n }\r\n\r\n clearSun(){\r\n for(let k=0; k< this.ball_Array.length; k++){\r\n this.ball_Array[k].removeFromParent();\r\n this.ball_Array[k] = null;\r\n }\r\n this.ball_Array = [];\r\n }\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = new Date().getTime();\r\n return timestamp;\r\n }\r\n\r\n destroyLine() {\r\n for(let i =0; i< this.node.getChildByName(\"Line\").children.length;i++){\r\n if(this.node.getChildByName(\"Line\").children[i]){\r\n this.node.getChildByName(\"Line\").children[i].removeFromParent();\r\n this.node.getChildByName(\"Line\").children[i] = null;\r\n }\r\n }\r\n this.node.getChildByName(\"Line\").removeAllChildren();\r\n }\r\n\r\n createLine(start,end,time){\r\n let line = cc.instantiate(this.linePrefab);\r\n line.parent = this.node.getChildByName(\"Line\");\r\n line.setPosition(start.x,start.y);\r\n \r\n const dx = end.x - start.x;\r\n const dy = end.y - start.y;\r\n var distance = Math.sqrt(dx*dx + dy*dy);\r\n line.height = distance;\r\n line.getComponent(cc.Sprite).fillRange = 0;\r\n line.angle = -this.calculateAngle(start.x,start.y,end.x,end.y);\r\n cc.tween(line.getComponent(cc.Sprite))\r\n .to(time,{fillRange:1})\r\n .start();\r\n }\r\n \r\n calculateAngle(x1, y1, x2, y2) {\r\n var angle = Math.atan2(y2-y1,x2-x1)*180 / Math.PI - 90;\r\n return -angle;\r\n }\r\n\r\n onEnable () {\r\n Notification.on(\"clickSun\", this.clickSun, this);\r\n }\r\n\r\n onDisable () {\r\n Notification.off(\"clickSun\", this.clickSun);\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Helloworld.js.map b/temp/quick-scripts/src/assets/Script/Helloworld.js.map index 5360d5e..6b38e86 100644 --- a/temp/quick-scripts/src/assets/Script/Helloworld.js.map +++ b/temp/quick-scripts/src/assets/Script/Helloworld.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Helloworld.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport default class Helloworld extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Player: cc.Node = null;\r\n\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n\r\n @property(cc.Sprite)\r\n phone: cc.Sprite = null;\r\n\r\n private rankList: List; //排行榜\r\n tween: cc.Tween;\r\n listData: any;\r\n selfData: any;\r\n rankNumber: number;\r\n rankTotal: number;\r\n\r\n onLoad() {\r\n this.Player.getChildByName(\"rank\").active = false;\r\n this.rankList = cc.find(\"ScrollView\", this.node).getComponent(List);\r\n this.listData = [];\r\n this.selfData = null;\r\n this.rankNumber = 100;\r\n this.rankTotal= 100;\r\n this.selfNode.opacity = 0;\r\n }\r\n \r\n start() {\r\n this.Player.active = false;\r\n this.getRank();\r\n }\r\n\r\n getRankData(data){\r\n if(data){\r\n console.log(data);\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n this.rankList.setData(rankData);\r\n if(this.selfData.nickName.length > 6){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,6) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfData.pic);\r\n this.setPic2(this.selfData.pic);\r\n if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"1\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"2\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"3\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n }\r\n else{\r\n // this.selfNode.getChildByName(\"four\").active = true;\r\n }\r\n this.selfNode.opacity = 255;\r\n\r\n }\r\n }\r\n backClick(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n playerAction(){\r\n //-254 377 210 453\r\n this.Player.getChildByName(\"rank\").active = false;\r\n\r\n let time = 1;\r\n this.tween = cc.tween(this.Player)\r\n .to(2,{position:cc.v3(210,453,0)})\r\n .call(() =>{\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n })\r\n .start();\r\n time = (this.listData.length - this.rankNumber)/this.listData.length;\r\n if(this.listData.length >= 99){\r\n if(this.rankNumber >= 99){\r\n time = (Math.random()*49+1)/100\r\n var matchId = cc.sys.localStorage.getItem(\"matchNumber\");\r\n if(matchId == null || matchId == undefined){\r\n time = 0;\r\n }\r\n }\r\n }\r\n else{\r\n\r\n }\r\n\r\n \r\n\r\n setTimeout(() => {\r\n if(this.tween)this.tween.stop();\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n }, time*2000);\r\n\r\n }\r\n\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n\r\n public setPic(pic){\r\n this.phone.node.parent.getChildByName(\"icon\").active = false;\r\n this.phone.node.active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.phone.node.parent.getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.phone.node.active = true;\r\n self.phone.spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n public setPic2(pic){\r\n this.Player.active = true;\r\n this.Player.opacity = 0;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.Player.opacity = 255;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = true;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").getComponent(cc.Sprite)\r\n .spriteFrame = new cc.SpriteFrame(texture);\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n // console.log(\"设置头像成功\",err);\r\n }\r\n else{\r\n this.Player.opacity = 255;\r\n // console.log(\"设置头像失败\",url);\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n console.log(err,texture)\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n }\r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Helloworld.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import GameData from \"./GameData\";\r\nimport List from \"./ListView/List\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\n@ccclass\r\nexport default class Helloworld extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Player: cc.Node = null;\r\n\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n\r\n @property(cc.Sprite)\r\n phone: cc.Sprite = null;\r\n\r\n private rankList: List; //排行榜\r\n tween: cc.Tween;\r\n listData: any;\r\n selfData: any;\r\n rankNumber: number;\r\n rankTotal: number;\r\n\r\n onLoad() {\r\n this.Player.getChildByName(\"rank\").active = false;\r\n this.rankList = cc.find(\"ScrollView\", this.node).getComponent(List);\r\n this.listData = [];\r\n this.selfData = null;\r\n this.rankNumber = 100;\r\n this.rankTotal= 100;\r\n this.selfNode.opacity = 0;\r\n }\r\n \r\n start() {\r\n this.Player.active = false;\r\n this.getRank();\r\n }\r\n\r\n getRankData(data){\r\n if(data){\r\n // console.log(data);\r\n this.listData = data.data.list;\r\n this.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n for(let i=0;i<=this.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:this.listData[i].nickName, total:this.listData[i].totalSunCount, pic:this.listData[i].pic});\r\n if(GameData._instance.GM_INFO.userId == this.listData[i].userId){\r\n self = true;\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (this.listData.length-1) && self == false){\r\n this.rankNumber = i;\r\n this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n this.rankList.setData(rankData);\r\n if(this.selfData.nickName.length > 6){\r\n this.selfData.nickName= this.selfData.nickName.substring(0,6) + \"...\"\r\n }\r\n this.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = this.selfData.nickName;\r\n this.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = this.selfData.totalSunCount;\r\n this.setPic(this.selfData.pic);\r\n this.setPic2(this.selfData.pic);\r\n if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"1\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"2\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n }\r\n else if(this.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string == \"3\"){\r\n this.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n }\r\n else{\r\n // this.selfNode.getChildByName(\"four\").active = true;\r\n }\r\n this.selfNode.opacity = 255;\r\n if(this.selfData.totalSunCount == 0) this.selfNode.opacity = 0;\r\n }\r\n }\r\n backClick(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n playerAction(){\r\n //-254 377 210 453\r\n this.Player.getChildByName(\"rank\").active = false;\r\n\r\n let time = 1;\r\n this.tween = cc.tween(this.Player)\r\n .to(2,{position:cc.v3(210,453,0)})\r\n .call(() =>{\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n })\r\n .start();\r\n time = (this.listData.length - this.rankNumber)/this.listData.length;\r\n if(this.listData.length >= 99){\r\n if(this.rankNumber >= 99){\r\n time = (Math.random()*49+1)/100\r\n var matchId = cc.sys.localStorage.getItem(\"matchNumber\");\r\n if(matchId == null || matchId == undefined){\r\n time = 0;\r\n }\r\n }\r\n }\r\n else{\r\n\r\n }\r\n\r\n \r\n\r\n setTimeout(() => {\r\n if(this.tween)this.tween.stop();\r\n this.Player.getChildByName(\"rank\").active = true;\r\n this.Player.getChildByName(\"rank\").getChildByName(\"number\")\r\n .getComponent(cc.Label).string = parseInt(time*100 + \"\") + \"%\";\r\n }, time*2000);\r\n\r\n }\r\n\r\n getRank(){\r\n let postData = {\r\n \"page\":1,\r\n \"pageSize\":100\r\n }; \r\n HttpUtil.rankData(2,this.getRankData.bind(this),postData);\r\n }\r\n\r\n public setPic(pic){\r\n this.phone.node.parent.getChildByName(\"icon\").active = false;\r\n this.phone.node.active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.phone.node.parent.getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.phone.node.active = true;\r\n self.phone.spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n }\r\n\r\n public setPic2(pic){\r\n this.Player.active = true;\r\n this.Player.opacity = 0;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = false;\r\n let url = pic;\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching X-Info:', error);\r\n });\r\n var self = this;\r\n cc.assetManager.loadRemote(url, {ext:'.jpg'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n this.Player.opacity = 255;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = false;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").active = true;\r\n this.Player.getChildByName(\"mask\").getChildByName(\"phone\").getComponent(cc.Sprite)\r\n .spriteFrame = new cc.SpriteFrame(texture);\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n // console.log(\"设置头像成功\",err);\r\n }\r\n else{\r\n this.Player.opacity = 255;\r\n // console.log(\"设置头像失败\",url);\r\n this.Player.getChildByName(\"mask\").getChildByName(\"icon\").active = true;\r\n console.log(err,texture)\r\n setTimeout(() => {\r\n this.playerAction();\r\n }, 500);\r\n }\r\n })\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Load.js b/temp/quick-scripts/src/assets/Script/Load.js index 397f17b..8e3a081 100644 --- a/temp/quick-scripts/src/assets/Script/Load.js +++ b/temp/quick-scripts/src/assets/Script/Load.js @@ -23,45 +23,37 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; var GameData_1 = require("./GameData"); var Storage_1 = require("./Storage"); -// import {StorageMessage} from "./StorageMessage"; -// import { apiSign } from "./crypto/sign"; var NewClass = /** @class */ (function (_super) { __extends(NewClass, _super); function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.label = null; - _this.text = 'hello'; - return _this; - // update (dt) {} + return _super !== null && _super.apply(this, arguments) || this; } NewClass.prototype.start = function () { + this.Authentication(); + }; + //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上 + NewClass.prototype.Authentication = function () { var userId = Storage_1.StorageMessage.getStorage("user"); - if (userId == "undifend" || userId == null) { - this.setId(); + if (userId == "undifend" || userId == null || userId == "") { + this.setUserId(); } else { var data = Storage_1.StorageMessage.getStorage("user"); - data = this.getId(data); + data = this.getUserId(data); var timestamp = parseInt(new Date().getTime() / 1000 + ""); if ((timestamp - data[2]) > 86400) { - this.setId(); + this.setUserId(); return; } - GameData_1.default._instance.GM_INFO.userId = data[1]; - GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); + GameData_1.default._instance.GM_INFO.userId = parseInt(data[1]); } }; - NewClass.prototype.setId = function () { - GameData_1.default._instance.GM_INFO.userId = this.getUserId(); + //设置userId,链接有获取,没有跳转授权 + NewClass.prototype.setUserId = function () { + GameData_1.default._instance.GM_INFO.userId = this.getUserId(null); if (GameData_1.default._instance.GM_INFO.userId == null) { var url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; window.location.href = url; @@ -74,77 +66,36 @@ var NewClass = /** @class */ (function (_super) { GameData_1.default._instance.GM_INFO.userId = parseInt(GameData_1.default._instance.GM_INFO.userId); } }; - NewClass.prototype.createTexture = function () { - var _this = this; - var url = "http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg"; - cc.assetManager.loadRemote(url, function (err, texture) { - console.log(err, texture); - if (texture) { - var sprite = _this.node.getChildByName("icon").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - } - }); - }; - NewClass.prototype.getUserId = function () { + //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId + NewClass.prototype.getUserId = function (str) { var pathStr = window.location.search; var arr = pathStr.split("&"); + if (str != null) + arr = pathStr.split("?"); if (pathStr.length >= 0 && arr.length > 0) { var arr2_1 = []; arr.map(function (item) { arr2_1.push(item.split("=")[1]); }); - // GameData._instance.GM_INFO.userId = arr2[0] + ""; - return arr2_1[0]; - } - else { - return null; - } - }; - NewClass.prototype.getId = function (str) { - var pathStr = str; - var arr = pathStr.split("?"); - if (pathStr.length >= 0 && arr.length > 0) { - var arr2_2 = []; - arr.map(function (item) { - arr2_2.push(item.split("=")[1]); - }); - // GameData._instance.GM_INFO.userId = arr2[1] + ""; - return arr2_2; + return str == null ? arr2_1[0] : arr2_1; } else { return null; } }; + //开始游戏,跳转至引导页面 NewClass.prototype.startGame = function () { - GameData_1.default._instance.GM_INFO.custom = 0; cc.director.loadScene("GuideScene"); }; + //备用,用来测试跳转 指定关卡 NewClass.prototype.clickBtn = function (event, data) { GameData_1.default._instance.GM_INFO.custom = parseInt(data); cc.director.loadScene("GameScene"); }; - NewClass.prototype.openLevel = function () { - this.node.getChildByName("Level").active = true; - }; - NewClass.prototype.closeBtn = function () { - this.node.getChildByName("Level").active = false; - }; - NewClass.prototype.back = function (data) { - // debugger; - }; - NewClass.prototype.openBtn = function () { - GameData_1.default._instance.GM_INFO.custom = 0; - cc.director.loadScene("GuideScene"); - }; + //打开排行榜 NewClass.prototype.openRank = function () { cc.director.loadScene("RankScene"); }; - __decorate([ - property(cc.Label) - ], NewClass.prototype, "label", void 0); - __decorate([ - property - ], NewClass.prototype, "text", void 0); NewClass = __decorate([ ccclass ], NewClass); diff --git a/temp/quick-scripts/src/assets/Script/Load.js.map b/temp/quick-scripts/src/assets/Script/Load.js.map index 2fd6cb9..734cb5d 100644 --- a/temp/quick-scripts/src/assets/Script/Load.js.map +++ b/temp/quick-scripts/src/assets/Script/Load.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\nimport GameData from \"./GameData\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Label)\r\n label: cc.Label = null;\r\n\r\n @property\r\n text: string = 'hello';\r\n\r\n\r\n start () {\r\n let userId = \"gameId=100009?userId=200139?time=1000\";\r\n\r\n let temp = this.getId(userId);\r\n debugger;\r\n // let userId = cc.sys.localStorage.getItem(\"userId\");\r\n // if(userId == \"undifend\" || userId==null){\r\n // GameData._instance.GM_INFO.userId = this.getUserId();\r\n // if(GameData._instance.GM_INFO.userId == null){\r\n // let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n // window.location.href = url;\r\n // }\r\n // else{\r\n // GameData._instance.GM_INFO.userId = GameData._instance.GM_INFO.userId;\r\n // cc.sys.localStorage.setItem(\"userId\",GameData._instance.GM_INFO.userId);\r\n // }\r\n // }\r\n // else{\r\n // GameData._instance.GM_INFO.userId = parseInt(userId);\r\n // }\r\n \r\n }\r\n\r\n createTexture(){\r\n let url = \"http://static.sparkus.cn/shoot-sun/assets/resources/native/7a/7a8b41ad-9425-44e2-8f55-7740f12b0e0a.jpg\";\r\n cc.assetManager.loadRemote(url, (err, texture:cc.Texture2D) => {\r\n console.log(err,texture)\r\n if(texture){\r\n var sprite = this.node.getChildByName(\"icon\").getComponent(cc.Sprite);\r\n sprite.spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n })\r\n }\r\n\r\n private getUserId() {\r\n let pathStr = window.location.search;\r\n\r\n let arr=pathStr.split(\"&\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n GameData._instance.GM_INFO.userId = arr2[0] + \"\";\r\n return arr2[0];\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n private getId(str) {\r\n let pathStr = str;\r\n\r\n let arr=pathStr.split(\"&\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n GameData._instance.GM_INFO.userId = arr2[0] + \"\";\r\n return arr2[0];\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n startGame(){\r\n GameData._instance.GM_INFO.custom = 0;\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n \r\n clickBtn(event,data){\r\n GameData._instance.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n\r\n openLevel(){\r\n this.node.getChildByName(\"Level\").active = true;\r\n }\r\n\r\n closeBtn(){\r\n this.node.getChildByName(\"Level\").active = false;\r\n }\r\n\r\n back(data){\r\n // debugger;\r\n }\r\n\r\n openBtn(){\r\n GameData._instance.GM_INFO.custom = 0;\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n\r\n }\r\n \r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,wEAAwE;AACxE,mBAAmB;AACnB,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;AAC5E,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAC5D,uCAAkC;AAClC,qCAA2C;AAG3C,mDAAmD;AACnD,2CAA2C;AAG3C;IAAsC,4BAAY;IAAlD;;IAsFA,CAAC;IApFG,wBAAK,GAAL;QACI,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,gDAAgD;IACxC,iCAAc,GAAtB;QACI,IAAI,MAAM,GAAG,wBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAG,MAAM,IAAI,UAAU,IAAI,MAAM,IAAE,IAAI,IAAI,MAAM,IAAI,EAAE,EAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;SACpB;aACG;YACA,IAAI,IAAI,GAAG,wBAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,IAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAC;gBAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO;aACV;YACD,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IACD,uBAAuB;IACf,4BAAS,GAAjB;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzD,IAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAC;YACzC,IAAI,GAAG,GAAG,6EAA6E,GAAC,QAAQ,CAAC,IAAI,CAAC;YACtG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAC9B;aACG;YACA,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAC,IAAI,GAAG,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,GAAG,SAAS,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;gBAC1D,WAAW,GAAG,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;YACvE,wBAAc,CAAC,UAAU,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;YACzC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACnF;IACL,CAAC;IACD,wDAAwD;IAChD,4BAAS,GAAjB,UAAkB,GAAG;QACjB,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,IAAI,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAG,GAAG,IAAI,IAAI;YAAE,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,IAAG,CAAC,IAAE,GAAG,CAAC,MAAM,GAAC,CAAC,EAAE;YAClC,IAAI,MAAI,GAAC,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,UAAA,IAAI;gBACR,MAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAI,CAAC,CAAC,CAAC,CAAA,CAAC,CAAA,MAAI,CAAC;SACrC;aAAM;YACH,OAAO,IAAI,CAAA;SACd;IACL,CAAC;IACD,cAAc;IACd,4BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,4BAAS,GAAT;QACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACpD,CAAC;IAED,2BAAQ,GAAR;QACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,uBAAI,GAAJ,UAAK,IAAI;QACL,YAAY;IAChB,CAAC;IAED,0BAAO,GAAP;QACI,kBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEvC,CAAC;IAnFgB,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAsF5B;IAAD,eAAC;CAtFD,AAsFC,CAtFqC,EAAE,CAAC,SAAS,GAsFjD;kBAtFoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\nimport GameData from \"./GameData\";\r\nimport { StorageMessage } from \"./Storage\";\r\nimport HttpUtil from \"./crypto/serverAPI\";\r\nimport Rq from \"./crypto/serverAPI\";\r\n// import {StorageMessage} from \"./StorageMessage\";\r\n// import { apiSign } from \"./crypto/sign\";\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n start () {\r\n this.Authentication();\r\n }\r\n\r\n //鉴权,判断有无缓存userid,有的话判断是否过期,没有的话重新获取userid 并且缓存上\r\n private Authentication(){\r\n let userId = StorageMessage.getStorage(\"user\");\r\n if(userId == \"undifend\" || userId==null || userId == \"\"){\r\n this.setUserId();\r\n }\r\n else{\r\n let data = StorageMessage.getStorage(\"user\");\r\n data = this.getUserId(data);\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n if((timestamp - data[2]) > 86400){\r\n this.setUserId();\r\n return;\r\n }\r\n GameData._instance.GM_INFO.userId = parseInt(data[1]);\r\n }\r\n }\r\n //设置userId,链接有获取,没有跳转授权\r\n private setUserId(){\r\n GameData._instance.GM_INFO.userId = this.getUserId(null);\r\n if(GameData._instance.GM_INFO.userId == null){\r\n let url = \"http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n let timestamp = parseInt(new Date().getTime()/1000 + \"\");\r\n let idTemp = \"gameId=\" + GameData._instance.GM_INFO.gameId + \r\n \"?userId= \" + GameData._instance.GM_INFO.userId + \"?time=\" + timestamp;\r\n StorageMessage.setStorage(\"user\",idTemp);\r\n GameData._instance.GM_INFO.userId = parseInt(GameData._instance.GM_INFO.userId);\r\n }\r\n }\r\n //获取user id 有参数为获取gameid userid 时间戳, 无参数为只获取链接尾缀上的userId\r\n private getUserId(str) { \r\n let pathStr = window.location.search;\r\n let arr=pathStr.split(\"&\");\r\n if(str != null) arr=pathStr.split(\"?\");\r\n if (pathStr.length>= 0&&arr.length>0) {\r\n let arr2=[];\r\n arr.map(item=>{\r\n arr2.push(item.split(\"=\")[1])\r\n })\r\n return str == null ? arr2[0]:arr2;\r\n } else {\r\n return null\r\n }\r\n }\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n \r\n clickBtn(event,data){\r\n GameData._instance.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n\r\n openLevel(){\r\n this.node.getChildByName(\"Level\").active = true;\r\n }\r\n\r\n closeBtn(){\r\n this.node.getChildByName(\"Level\").active = false;\r\n }\r\n\r\n back(data){\r\n // debugger;\r\n }\r\n\r\n openBtn(){\r\n GameData._instance.GM_INFO.custom = 0;\r\n cc.director.loadScene(\"GuideScene\");\r\n }\r\n\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n\r\n }\r\n \r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/e1/e1b90feb-a217-4493-849d-9a611900d683.js b/temp/quick-scripts/src/assets/Script/RankManager.js similarity index 73% rename from library/imports/e1/e1b90feb-a217-4493-849d-9a611900d683.js rename to temp/quick-scripts/src/assets/Script/RankManager.js index 9c938e6..ea5fcfb 100644 --- a/library/imports/e1/e1b90feb-a217-4493-849d-9a611900d683.js +++ b/temp/quick-scripts/src/assets/Script/RankManager.js @@ -1,6 +1,6 @@ "use strict"; -cc._RF.push(module, 'e1b90/rohdEk4SdmmEZANaD', 'Helloworld'); -// Script/Helloworld.ts +cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.ts "use strict"; var __extends = (this && this.__extends) || (function () { @@ -26,33 +26,47 @@ Object.defineProperty(exports, "__esModule", { value: true }); var GameData_1 = require("./GameData"); var List_1 = require("./ListView/List"); var serverAPI_1 = require("./crypto/serverAPI"); -// import { apiSign } from "./crypto/sign"; var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var Helloworld = /** @class */ (function (_super) { - __extends(Helloworld, _super); - function Helloworld() { +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.Player = null; _this.selfNode = null; _this.phone = null; return _this; } - Helloworld.prototype.onLoad = function () { - this.Player.getChildByName("rank").active = false; + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; this.listData = []; this.selfData = null; this.rankNumber = 100; this.rankTotal = 100; this.selfNode.opacity = 0; }; - Helloworld.prototype.start = function () { + RankManager.prototype.start = function () { this.Player.active = false; this.getRank(); }; - Helloworld.prototype.getRankData = function (data) { + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var postData = { + "page": 1, + "pageSize": 100 + }; + //回调进getRankData + serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { if (data) { - // console.log(data); + console.log(data); this.listData = data.data.list; this.selfData = data.data.info; var rankData = []; @@ -76,7 +90,6 @@ var Helloworld = /** @class */ (function (_super) { this.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = this.selfData.nickName; this.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = this.selfData.totalSunCount; this.setPic(this.selfData.pic); - this.setPic2(this.selfData.pic); if (this.selfNode.getChildByName("rankLab").getComponent(cc.Label).string == "1") { this.selfNode.getChildByName("rank").getChildByName("one").active = true; } @@ -94,10 +107,12 @@ var Helloworld = /** @class */ (function (_super) { this.selfNode.opacity = 0; } }; - Helloworld.prototype.backClick = function () { + //返回按钮 + RankManager.prototype.backClick = function () { cc.director.loadScene("LoadScene"); }; - Helloworld.prototype.playerAction = function () { + //最上方用户动画 + RankManager.prototype.playerAction = function () { var _this = this; //-254 377 210 453 this.Player.getChildByName("rank").active = false; @@ -120,8 +135,6 @@ var Helloworld = /** @class */ (function (_super) { } } } - else { - } setTimeout(function () { if (_this.tween) _this.tween.stop(); @@ -130,54 +143,22 @@ var Helloworld = /** @class */ (function (_super) { .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; }, time * 2000); }; - Helloworld.prototype.getRank = function () { - var postData = { - "page": 1, - "pageSize": 100 - }; - serverAPI_1.default.rankData(2, this.getRankData.bind(this), postData); - }; - Helloworld.prototype.setPic = function (pic) { + //设置头像 + RankManager.prototype.setPic = function (pic) { var _this = this; this.phone.node.parent.getChildByName("icon").active = false; this.phone.node.active = false; - var url = pic; - fetch(url) + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) .then(function (response) { return response.headers.get('Content-Length'); }) .then(function (errNo) { if (errNo == "5093") { _this.phone.node.parent.getChildByName("icon").active = true; - } - }) - .catch(function (error) { - console.error('Error fetching X-Info:', error); - }); - var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { - if (texture) { - _this.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - } - else { - console.log(err, texture); - } - }); - }; - Helloworld.prototype.setPic2 = function (pic) { - var _this = this; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - var url = pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { _this.Player.getChildByName("mask").getChildByName("icon").active = true; } }) @@ -185,43 +166,41 @@ var Helloworld = /** @class */ (function (_super) { console.error('Error fetching X-Info:', error); }); var self = this; - cc.assetManager.loadRemote(url, { ext: '.jpg' }, function (err, texture) { + cc.assetManager.loadRemote(pic, { ext: '.jpg' }, function (err, texture) { + self.Player.opacity = 255; if (texture) { - _this.Player.opacity = 255; - _this.Player.getChildByName("mask").getChildByName("icon").active = false; - _this.Player.getChildByName("mask").getChildByName("phone").active = true; - _this.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) .spriteFrame = new cc.SpriteFrame(texture); setTimeout(function () { - _this.playerAction(); + self.playerAction(); }, 500); - // console.log("设置头像成功",err); } else { - _this.Player.opacity = 255; - // console.log("设置头像失败",url); - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - console.log(err, texture); + self.Player.getChildByName("mask").getChildByName("icon").active = true; setTimeout(function () { - _this.playerAction(); + self.playerAction(); }, 500); } }); }; __decorate([ - property(cc.Node) - ], Helloworld.prototype, "Player", void 0); + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); __decorate([ - property(cc.Node) - ], Helloworld.prototype, "selfNode", void 0); + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); __decorate([ - property(cc.Sprite) - ], Helloworld.prototype, "phone", void 0); - Helloworld = __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ ccclass - ], Helloworld); - return Helloworld; + ], RankManager); + return RankManager; }(cc.Component)); -exports.default = Helloworld; +exports.default = RankManager; cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Storage.js b/temp/quick-scripts/src/assets/Script/Storage.js index fa4fb60..50803e2 100644 --- a/temp/quick-scripts/src/assets/Script/Storage.js +++ b/temp/quick-scripts/src/assets/Script/Storage.js @@ -5,8 +5,7 @@ cc._RF.push(module, '7cf8cMT5zJA0ZU4Gp0JcL8v', 'Storage'); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StorageMessage = void 0; -// var jequry = require("jquery"); -// var coinManager = require("coinManager"); +//缓存浏览器数据 var StorageMessage = { getStorage: function (key) { var result = null; @@ -22,9 +21,6 @@ var StorageMessage = { //主动拉起分享接口 var temp = JSON.stringify(value); cc.sys.localStorage.setItem(key, temp); - // debugger; - // var temp = cc.sys.localStorage.getItem(key); - // debugger; }, removeStorage: function (key) { //主动删除消息接口 diff --git a/temp/quick-scripts/src/assets/Script/Storage.js.map b/temp/quick-scripts/src/assets/Script/Storage.js.map index 726d4e4..2f0aae1 100644 --- a/temp/quick-scripts/src/assets/Script/Storage.js.map +++ b/temp/quick-scripts/src/assets/Script/Storage.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Storage.js"],"names":["StorageMessage","getStorage","key","result","cc","sys","localStorage","getItem","JSON","parse","setStorage","value","temp","stringify","setItem","removeStorage","removeItem","module","exports"],"mappings":";;;;;;AACA;AACA;AACA,IAAIA,cAAc,GAAG;AACjBC,EAAAA,UAAU,EAAG,oBAASC,GAAT,EAAa;AACtB,QAAIC,MAAM,GAAG,IAAb;;AACA,QAAGC,EAAE,CAACC,GAAH,CAAOC,YAAP,CAAoBC,OAApB,CAA4BL,GAA5B,CAAH,EAAoC;AAClC,UAAIC,MAAM,GAAGC,EAAE,CAACC,GAAH,CAAOC,YAAP,CAAoBC,OAApB,CAA4BL,GAA5B,CAAb;AACD;;AAED,QAAGC,MAAH,EAAU;AACRA,MAAAA,MAAM,GAAGK,IAAI,CAACC,KAAL,CAAWN,MAAX,CAAT;AACD;;AACD,WAAOA,MAAP;AACH,GAXgB;AAYjBO,EAAAA,UAAU,EAAG,oBAASR,GAAT,EAAaS,KAAb,EAAmB;AAC5B;AACA,QAAIC,IAAI,GAAGJ,IAAI,CAACK,SAAL,CAAeF,KAAf,CAAX;AACAP,IAAAA,EAAE,CAACC,GAAH,CAAOC,YAAP,CAAoBQ,OAApB,CAA4BZ,GAA5B,EAAiCU,IAAjC,EAH4B,CAI5B;AACA;AACA;AACH,GAnBgB;AAoBjBG,EAAAA,aAAa,EAAG,uBAASb,GAAT,EAAa;AAC3B;AACA,QAAGE,EAAE,CAACC,GAAH,CAAOC,YAAP,CAAoBC,OAApB,CAA4BL,GAA5B,CAAH,EAAoC;AAClCE,MAAAA,EAAE,CAACC,GAAH,CAAOC,YAAP,CAAoBU,UAApB,CAA+Bd,GAA/B;AACD;AACF;AAzBgB,CAArB;AA4BAe,MAAM,CAACC,OAAP,GAAiB;AACflB,EAAAA,cAAc,EAAEA;AADD,CAAjB","sourceRoot":"/","sourcesContent":["\n// var jequry = require(\"jquery\");\n// var coinManager = require(\"coinManager\");\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n // debugger;\n // var temp = cc.sys.localStorage.getItem(key);\n // debugger;\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nmodule.exports = {\n StorageMessage: StorageMessage,\n}"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Storage.ts"],"names":[],"mappings":";;;;;;;AACA,IAAI,cAAc,GAAG;IACjB,UAAU,EAAG,UAAS,GAAG;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC/C;QAED,IAAG,MAAM,EAAC;YACR,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,UAAU,EAAG,UAAS,GAAG,EAAC,KAAK;QAC3B,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACtC,YAAY;QACZ,+CAA+C;QAC/C,YAAY;IAChB,CAAC;IACD,aAAa,EAAG,UAAS,GAAG;QAC1B,UAAU;QACV,IAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;YAClC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;SACpC;IACH,CAAC;CACJ,CAAC;AAEO,wCAAc","file":"","sourceRoot":"/","sourcesContent":["\nvar StorageMessage = {\n getStorage : function(key){\n var result = null;\n if(cc.sys.localStorage.getItem(key)){\n var result = cc.sys.localStorage.getItem(key);\n }\n \n if(result){\n result = JSON.parse(result);\n }\n return result;\n },\n setStorage : function(key,value){\n //主动拉起分享接口\n var temp = JSON.stringify(value);\n cc.sys.localStorage.setItem(key, temp)\n // debugger;\n // var temp = cc.sys.localStorage.getItem(key);\n // debugger;\n },\n removeStorage : function(key){\n //主动删除消息接口\n if(cc.sys.localStorage.getItem(key)){\n cc.sys.localStorage.removeItem(key)\n }\n },\n};\n\nexport { StorageMessage };"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Sun.js b/temp/quick-scripts/src/assets/Script/Sun.js index e7bbcbf..506be46 100644 --- a/temp/quick-scripts/src/assets/Script/Sun.js +++ b/temp/quick-scripts/src/assets/Script/Sun.js @@ -36,15 +36,19 @@ var NewClass = /** @class */ (function (_super) { function NewClass() { return _super !== null && _super.apply(this, arguments) || this; } - // LIFE-CYCLE CALLBACKS: // onLoad () {} NewClass.prototype.start = function () { + }; + //初始化数据 + NewClass.prototype.init = function (_id, color, speed, repeat) { this.touch = true; this.move = false; - this._color = 0; - this._speed = 0; - var shan = this.node.getChildByName("shan"); - cc.tween(shan) + this.id_Number = _id; + this._color = color; + this._speed = speed; + this._repeat = repeat; + //太阳动画 + cc.tween(this.node.getChildByName("shan")) .repeatForever(cc.tween() .to(1, { opacity: 0, scale: 0.5, }) .delay(0.2) @@ -52,51 +56,45 @@ var NewClass = /** @class */ (function (_super) { .delay(0.5)) .start(); }; - NewClass.prototype.init = function (_id, color, speed, repeat) { - this.id_Number = _id; - this._color = color; - this._speed = speed; - this._repeat = repeat; - }; + //用于作弊 测试 NewClass.prototype.showNumber = function (type) { this.node.getChildByName("number").active = type; if (type == true) this.node.getChildByName("number").getComponent(cc.Label).string = this.id_Number + ""; }; - NewClass.prototype.clickBtn = function () { - var temp = this.node.parent.parent.name; - // console.log(temp,this.move,this.touch); - if (this.move == false && this.touch == true) { - if (this.node.parent.parent.name == "GameNode") { - if (this.node.parent.parent.getComponent("GameManager").begin == true) { - cc.tween(this.node.getChildByName("action")) - .to(0.5, { opacity: 0, scale: 1.8 }) - .start(); - cc.tween(this.node) - .to(0.3, { scale: 1.3 }) - .to(0.3, { scale: 1 }) - .start(); + //点击事件 + NewClass.prototype.clickBtn = function (event, data) { + if (data === "1") { + if (this.move == false && this.touch == true) { + if (this.node.parent.parent.name == "GameNode") { + if (this.node.parent.parent.getComponent("GameManager").begin == true) { + cc.tween(this.node.getChildByName("action")) + .to(0.5, { opacity: 0, scale: 1.8 }) + .start(); + cc.tween(this.node) + .to(0.3, { scale: 1.3 }) + .to(0.3, { scale: 1 }) + .start(); + this.touch = false; + this.node.zIndex = -1; + Notification_1.Notification.emit("clickSun", this.id_Number); + } + } + else { this.touch = false; this.node.zIndex = -1; Notification_1.Notification.emit("clickSun", this.id_Number); } } - else { + } + else { + if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { this.touch = false; this.node.zIndex = -1; Notification_1.Notification.emit("clickSun", this.id_Number); } } }; - NewClass.prototype.clickBtn2 = function () { - if (this.touch == true && this.node.parent.parent.getComponent("GuideManager").begin == true) { - this.touch = false; - this.node.zIndex = -1; - Notification_1.Notification.emit("clickSun", this.id_Number); - } - }; - NewClass.prototype.update = function (dt) { - }; NewClass = __decorate([ ccclass ], NewClass); diff --git a/temp/quick-scripts/src/assets/Script/test.js b/temp/quick-scripts/src/assets/Script/test.js deleted file mode 100644 index e313886..0000000 --- a/temp/quick-scripts/src/assets/Script/test.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; -cc._RF.push(module, 'f7f5dfmKidObZiMLtuBdAiq', 'test'); -// Script/test.ts - -if (this.level == 1) { - var data = { x: -200, y: -380, time: 0, timeCount: 0 }; - var timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -200, -380)); - var time = this.calculateDistance(this.ball.x, this.ball.y, -200, -380) + timeCount; - data = { x: -200, y: -380, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -250, -300)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -250, -300) + timeCount; - data = { x: -250, y: -300, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, -300, 500)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, -300, 500) + timeCount; - data = { x: -300, y: 500, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, 280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, 280) + timeCount; - data = { x: 208, y: 280, time: time, timeCount: timeCount }; - this.now_Array.push(data); - timeCount = this.timeCount + (0.8 - this.calculateDistance(this.ball.x, this.ball.y, 208, -280)); - time = this.calculateDistance(this.now_Array[this.now_Array.length - 1].x, this.now_Array[this.now_Array.length - 1].y, 208, -280) + timeCount; - data = { x: 208, y: -280, time: time, timeCount: timeCount }; - this.now_Array.push(data); -} - -cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/test.js.map b/temp/quick-scripts/src/assets/Script/test.js.map index f0c31f3..b5a05b4 100644 --- a/temp/quick-scripts/src/assets/Script/test.js.map +++ b/temp/quick-scripts/src/assets/Script/test.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\test.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["if(this.level == 1){\r\n let data = {x:-200,y:-380,time:0,timeCount:0};\r\n let timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,-200,-380));\r\n let time = this.calculateDistance(this.ball.x,this.ball.y,-200,-380)+timeCount;\r\n data = {x:-200,y:-380,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,-250,-300));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,-250,-300)+timeCount;\r\n data = {x:-250,y:-300,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,-300,500));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,-300,500)+timeCount;\r\n data = {x:-300,y:500,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,208,280));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,208,280)+timeCount;\r\n data = {x:208,y:280,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n\r\n timeCount = this.timeCount + (0.8-this.calculateDistance(this.ball.x,this.ball.y,208,-280));\r\n time = this.calculateDistance(this.now_Array[this.now_Array.length-1].x,\r\n this.now_Array[this.now_Array.length-1].y,208,-280)+timeCount;\r\n data = {x:208,y:-280,time:time,timeCount:timeCount};\r\n this.now_Array.push(data);\r\n}"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\test.ts"],"names":[],"mappings":"","file":"","sourceRoot":"/","sourcesContent":[""]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/BallAudioManager.js b/temp/quick-scripts/src/assets/Script/tool/AudioManager.js similarity index 95% rename from temp/quick-scripts/src/assets/Script/BallAudioManager.js rename to temp/quick-scripts/src/assets/Script/tool/AudioManager.js index 63bef5e..a5d933f 100644 --- a/temp/quick-scripts/src/assets/Script/BallAudioManager.js +++ b/temp/quick-scripts/src/assets/Script/tool/AudioManager.js @@ -1,6 +1,6 @@ "use strict"; -cc._RF.push(module, 'bd9f78XOD5PmLTjk2rLYBiz', 'BallAudioManager'); -// Script/BallAudioManager.js +cc._RF.push(module, '971c4vub4BJpqrSCLPJ8g1V', 'AudioManager'); +// Script/AudioManager.js "use strict"; @@ -59,8 +59,7 @@ cc.Class({ cc.audioEngine.setFinishCallback(context, function () { callback.call(this); }.bind(this)); - } // cc.wwx.OutPut.log('play audio effect isBrowser: ' + context.src); - + } this.mAudioMap[audioSource] = context; return audioSource; @@ -82,8 +81,7 @@ cc.Class({ context.src = audioSource.nativeUrl; context.play(); - this.mAudioMap[audioSource] = context; // cc.wwx.OutPut.log('play audio effect wx: ' + audioSource.nativeUrl); - + this.mAudioMap[audioSource] = context; return audioSource; } }, diff --git a/temp/startup.json b/temp/startup.json new file mode 100644 index 0000000..bff9b4e --- /dev/null +++ b/temp/startup.json @@ -0,0 +1 @@ +{"pid":14292}