Commit 16d6ef05 authored by spc's avatar spc

new file: project/src/canvas/game/src/xiaoxiaole/Star.ts

parent 8e0b53c7
const resCanvasList = { const resCanvasList = {
'4ee17a9c-5deb-43be-b205-16fb7593d172': { '2a747211-0210-4215-86a2-a6955b37c45b': {
name: 'spark', name: '白色',
ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/spark.810e94665ad6f7d7684f9b25b764e040a0cce7bf.png',
uuid: '4ee17a9c-5deb-43be-b205-16fb7593d172'
},
'cb54f3b5-0469-46d1-99ea-734153b92078': {
name: 'bg',
ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/bg.c4359b9ea9e843cd8d929567b2fb52ed5518e105.png',
uuid: 'cb54f3b5-0469-46d1-99ea-734153b92078'
},
'593e9d74-4944-496a-b6c1-8316756f8bf7': {
name: '宝箱2',
ext: '.png',
uuid: '593e9d74-4944-496a-b6c1-8316756f8bf7',
url: 'https://yun.duiba.com.cn/spark/assets/022e25a3984ff122fbf960bd0cb87bff48f8c3bf.png'
},
'3a105062-4474-4f37-abd2-fa9471e2536f': {
name: 'blueCatHand',
ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/blueCatHand.ebb0e7dfe53c3a347d8e1f118367eed31e0b486e.png',
uuid: '3a105062-4474-4f37-abd2-fa9471e2536f'
},
'483dbc34-2962-4483-8968-71e3cc5182b9': {
name: '玩耍猫',
ext: '.png',
uuid: '483dbc34-2962-4483-8968-71e3cc5182b9',
url: 'https://yun.duiba.com.cn/spark/assets/22dadf423774977a16f9dd59268e9881497fa14d.png'
},
'42c18212-4b77-4374-9f6f-85dd3a51231b': {
name: '摸头猫',
ext: '.png',
uuid: '42c18212-4b77-4374-9f6f-85dd3a51231b',
url: 'https://yun.duiba.com.cn/spark/assets/5f3fdef50db2c5e8c1ca055c40e64264e2475482.png'
},
'8177c25e-479a-4159-89c5-19553dfed48c': {
name: '睡觉猫',
ext: '.png',
uuid: '8177c25e-479a-4159-89c5-19553dfed48c',
url: 'https://yun.duiba.com.cn/spark/assets/e34dbe47443a53364675d78fa75fffd9d49dd015.png'
},
'23c9550c-72a6-427f-aa1b-50373559a485': {
name: '说话猫',
ext: '.png',
uuid: '23c9550c-72a6-427f-aa1b-50373559a485',
url: 'https://yun.duiba.com.cn/spark/assets/e9a8b57d70cdc67dbb63baadb155e766b7bad74c.png'
},
'f33f7958-d257-4908-9ec1-a2da61d964ae': {
name: '梳毛猫',
ext: '.png',
uuid: 'f33f7958-d257-4908-9ec1-a2da61d964ae',
url: 'https://yun.duiba.com.cn/spark/assets/8db9f39eb8157ce516b87ea0ce53175973d0d78b.png'
},
'90cfa014-f89b-4bea-9f47-f44d4c1b6389': {
name: '撸猫猫',
ext: '.png',
uuid: '90cfa014-f89b-4bea-9f47-f44d4c1b6389',
url: 'https://yun.duiba.com.cn/spark/assets/a809cc5d843c40565f25a6f599b26c7332a0c91f.png'
},
'a2b95a3b-6e0a-492a-9a86-d01a6faf8cb4': {
name: '下',
ext: '.png',
uuid: 'a2b95a3b-6e0a-492a-9a86-d01a6faf8cb4',
url: 'https://yun.duiba.com.cn/spark/assets/7c52dc20259200e82e0a6150f11726dda5694592.png'
},
'e4dbd57c-f431-42e7-bbab-c12f09077d73': {
name: '矩形3591',
ext: '.png',
uuid: 'e4dbd57c-f431-42e7-bbab-c12f09077d73',
url: 'https://yun.duiba.com.cn/spark/assets/31a0b0b62efffc3e35b387e611a66f244ae58137.png'
},
'9b4f0172-309b-46b4-aabe-a05c1559953d': {
name: '椭圆753',
ext: '.png',
uuid: '9b4f0172-309b-46b4-aabe-a05c1559953d',
url: 'https://yun.duiba.com.cn/spark/assets/35dd19b79ce826fed591d4478fe01c1400c92bcd.png'
},
'a8495fbc-0762-4995-94d6-ea26bb272c8c': {
name: '矩形3590',
ext: '.png',
uuid: 'a8495fbc-0762-4995-94d6-ea26bb272c8c',
url: 'https://yun.duiba.com.cn/spark/assets/16ac72b3417eb5dcea995c0f5c015399a61479f9.png'
},
'4399e878-934c-41e6-bada-a886ebedb7fe': {
name: '形状3593',
ext: '.png',
uuid: '4399e878-934c-41e6-bada-a886ebedb7fe',
url: 'https://yun.duiba.com.cn/spark/assets/493b635d7b64444eee99431feb65e630e86344aa.png'
},
'aa17cfa9-f1db-47eb-9eeb-f5947b7f47a8': {
name: '梳毛icon',
ext: '.png',
uuid: 'aa17cfa9-f1db-47eb-9eeb-f5947b7f47a8',
url: 'https://yun.duiba.com.cn/spark/assets/615ae52ccf5e888d50002e1861e143ae53deb5c3.png'
},
'0b44efa9-1e8a-4c43-a2a5-93852d88918c': {
name: '撸猫icon',
ext: '.png',
uuid: '0b44efa9-1e8a-4c43-a2a5-93852d88918c',
url: 'https://yun.duiba.com.cn/spark/assets/430c639158ab024403221ea027e33cf023ffc362.png'
},
'b7ec0f16-ea48-4e41-8def-7cc660fa93d7': {
name: '摸头杀icon',
ext: '.png',
uuid: 'b7ec0f16-ea48-4e41-8def-7cc660fa93d7',
url: 'https://yun.duiba.com.cn/spark/assets/b8b3c5dacb6ff84465a5310081f776d41eef04a4.png'
},
'922deced-62d2-4995-9dd6-82bc7913f362': {
name: '玩耍icon',
ext: '.png',
uuid: '922deced-62d2-4995-9dd6-82bc7913f362',
url: 'https://yun.duiba.com.cn/spark/assets/a3ae99684afa9a1f8d94f4c95ee6f1ed81de9996.png'
},
'55f703cd-f0d2-4ec1-9430-6193c1cbc1cb': {
name: '返回icon',
ext: '.png',
uuid: '55f703cd-f0d2-4ec1-9430-6193c1cbc1cb',
url: 'https://yun.duiba.com.cn/spark/assets/2a914b62b4f3144b1d8aa6c67e4bd03221b2d8ff.png'
},
'e8b083c7-307a-4446-9bc9-99f75c3573e5': {
name: '奖品icon',
ext: '.png',
uuid: 'e8b083c7-307a-4446-9bc9-99f75c3573e5',
url: 'https://yun.duiba.com.cn/spark/assets/43567fa8a14c4dbf30e5c143c07817ef1336f0e7.png'
},
'e636bd22-361f-442a-8684-ccfe1141485a': {
name: '攻略icon',
ext: '.png',
uuid: 'e636bd22-361f-442a-8684-ccfe1141485a',
url: 'https://yun.duiba.com.cn/spark/assets/05d5ad2bfa2fc3a42912749e87f74d48ec2e72dc.png'
},
'cdb8e186-9872-442e-b71e-bba0a9ce5846': {
name: '补充精力icon',
ext: '.png',
uuid: 'cdb8e186-9872-442e-b71e-bba0a9ce5846',
url: 'https://yun.duiba.com.cn/spark/assets/290759639ce4ccb9520fa627232e5e898f30a9f7.png'
},
'af4b699e-5152-4571-8c54-1c06eabf19e9': {
name: '底8',
ext: '.png',
uuid: 'af4b699e-5152-4571-8c54-1c06eabf19e9',
url: 'https://yun.duiba.com.cn/spark/assets/5e7035da3f797f1c21f519db0400863333e1461e.png'
},
'da6cd2f6-d145-40eb-a3a4-8063452101a7': {
name: '椭圆591',
ext: '.png',
uuid: 'da6cd2f6-d145-40eb-a3a4-8063452101a7',
url: 'https://yun.duiba.com.cn/spark/assets/f8705af0bdd35b9e0fb6c08550579cf8eba55e15.png'
},
'f13fb0bb-6ad4-4494-bc78-bdf5cbaf8b0d': {
name: '图层592',
ext: '.png',
uuid: 'f13fb0bb-6ad4-4494-bc78-bdf5cbaf8b0d',
url: 'https://yun.duiba.com.cn/spark/assets/1ebdca4f441302b659a1f7617e4b78e61eee5e2c.png'
},
'f0810375-c8f1-4939-9b11-1cbde6840e2a': {
name: '底5',
ext: '.png',
uuid: 'f0810375-c8f1-4939-9b11-1cbde6840e2a',
url: 'https://yun.duiba.com.cn/spark/assets/11928fe3fc40256b4cf7babccd684f4cc94cf2d5.png'
},
'fa59e617-f1d9-4065-85e1-6f6ebefb230f': {
name: '底4',
ext: '.png',
uuid: 'fa59e617-f1d9-4065-85e1-6f6ebefb230f',
url: 'https://yun.duiba.com.cn/spark/assets/b0fc1384f16116f94c8a99079366558e142180a7.png'
},
'e00aee6d-2a90-4e92-b365-f031320d582c': {
name: '进度条3',
ext: '.png',
uuid: 'e00aee6d-2a90-4e92-b365-f031320d582c',
url: 'https://yun.duiba.com.cn/spark/assets/0406ae0347a82215f9fd346ef0bda4b840fd4708.png'
},
'0eb9c19f-248e-4bf1-bffb-ea694a94b16f': {
name: '猫爪',
ext: '.png',
uuid: '0eb9c19f-248e-4bf1-bffb-ea694a94b16f',
url: 'https://yun.duiba.com.cn/spark/assets/d06362412a282f15f62a7678fdc130b44df76af3.png'
},
'74c7c0ac-885c-4dc3-b72d-d2ec32a53558': {
name: '对话框',
ext: '.png',
uuid: '74c7c0ac-885c-4dc3-b72d-d2ec32a53558',
url: 'https://yun.duiba.com.cn/spark/assets/591d3459eef49df923d89c46cc587261d962ba98.png'
},
'bcaf3af2-5ac6-4169-90ed-4333858e2521': {
name: '提示',
ext: '.png',
uuid: 'bcaf3af2-5ac6-4169-90ed-4333858e2521',
url: 'https://yun.duiba.com.cn/spark/assets/f9312f11884d17c5a50d5f301813ffd7574e2097.png'
},
'41365963-7e27-42a2-963d-157d40b0fb6d': {
name: '底85',
ext: '.png',
uuid: '41365963-7e27-42a2-963d-157d40b0fb6d',
url: 'https://yun.duiba.com.cn/spark/assets/f55b9ebb55adf84030284d7984f71f13b2019eda.png'
},
'617927a2-2dd6-456a-9d92-1f607a137dbc': {
name: '进度条',
ext: '.png',
uuid: '617927a2-2dd6-456a-9d92-1f607a137dbc',
url: 'https://yun.duiba.com.cn/spark/assets/a67137c922a0d539215aed739676aa7636e3c4d8.png'
},
'b91a1bd5-2962-4f1a-81f6-065c18c84b60': {
name: '底84',
ext: '.png',
uuid: 'b91a1bd5-2962-4f1a-81f6-065c18c84b60',
url: 'https://yun.duiba.com.cn/spark/assets/9b528da03c353ee8b47f317030fd070f3835def5.png'
},
'170e23fc-4e05-4dea-bbc4-96f11e632e99': {
name: '叉叉',
ext: '.png',
uuid: '170e23fc-4e05-4dea-bbc4-96f11e632e99',
url: 'https://yun.duiba.com.cn/spark/assets/365b58d675f15a2da5b01bbcb359376522a42f87.png'
},
'5bae0e46-a031-46e9-b63c-0912da12c627': {
name: '底83',
ext: '.png',
uuid: '5bae0e46-a031-46e9-b63c-0912da12c627',
url: 'https://yun.duiba.com.cn/spark/assets/539e051ae2bc96e22ae6e58ef86a8b84e9d3c40c.png'
},
'9ba15e89-1667-4c66-9865-36fd161dd781': {
name: '图标82',
ext: '.png',
uuid: '9ba15e89-1667-4c66-9865-36fd161dd781',
url: 'https://yun.duiba.com.cn/spark/assets/7976bbe3b18f8799d28ee874ed478c8801a0368f.png'
},
'f4913b2f-7ebc-4430-8e53-052b914b2cb7': {
name: '置灰按钮',
ext: '.png',
uuid: 'f4913b2f-7ebc-4430-8e53-052b914b2cb7',
url: 'https://yun.duiba.com.cn/spark/assets/57953a26a159f1d31193f5cc5e46e15c102c7c5b.png'
},
'37893a10-1f25-4b9d-b1e3-c1f51d959b67': {
name: '底77',
ext: '.png',
uuid: '37893a10-1f25-4b9d-b1e3-c1f51d959b67',
url: 'https://yun.duiba.com.cn/spark/assets/efbdb3c2e23c07c3e91257f80e6df1f53ead180a.png'
},
'7636eaba-d8d6-4016-ac79-5087b3571d0f': {
name: '图标74',
ext: '.png',
uuid: '7636eaba-d8d6-4016-ac79-5087b3571d0f',
url: 'https://yun.duiba.com.cn/spark/assets/6971ecef24f3031768ab971de3632d84b1074811.png'
},
'fbcdff91-9a4c-4e57-aaf2-9dad2d2da4bf': {
name: '点亮按钮',
ext: '.png',
uuid: 'fbcdff91-9a4c-4e57-aaf2-9dad2d2da4bf',
url: 'https://yun.duiba.com.cn/spark/assets/19a888b0432b764c6ec5f41a50a5183e1b5122aa.png'
},
'a3c512dd-83b4-466a-858b-8cd8bcb2f902': {
name: '图标68',
ext: '.png',
uuid: 'a3c512dd-83b4-466a-858b-8cd8bcb2f902',
url: 'https://yun.duiba.com.cn/spark/assets/2a48cee1d2760689faa58c2106c910146c40782c.png'
},
'88a046c2-df78-46e8-b7ba-6f1b3a77bce7': {
name: '按钮67',
ext: '.png',
uuid: '88a046c2-df78-46e8-b7ba-6f1b3a77bce7',
url: 'https://yun.duiba.com.cn/spark/assets/e06ce7215b5579df4140f3e5596db1535b888f30.png'
},
'76eee716-8182-4eeb-86ab-2bc8529b1bc4': {
name: '按钮63',
ext: '.png',
uuid: '76eee716-8182-4eeb-86ab-2bc8529b1bc4',
url: 'https://yun.duiba.com.cn/spark/assets/a28c474a58d44c480dc447b53cc075477d377a7f.png'
},
'8848a9b1-9b47-4490-b43b-71b296d925a8': {
name: '图标59',
ext: '.png',
uuid: '8848a9b1-9b47-4490-b43b-71b296d925a8',
url: 'https://yun.duiba.com.cn/spark/assets/6997ccc3871fb753257a99afc9c10d6f56c2c636.png'
},
'978986db-0de3-4bac-b455-c8ee35f4b3de': {
name: '图标54',
ext: '.png',
uuid: '978986db-0de3-4bac-b455-c8ee35f4b3de',
url: 'https://yun.duiba.com.cn/spark/assets/a1c3ac47323f25ee505c2df5d0799aa2765f4cf0.png'
},
'7596e77c-eb19-465c-94c7-d7a76a5c7932': {
name: '领取按钮',
ext: '.png',
uuid: '7596e77c-eb19-465c-94c7-d7a76a5c7932',
url: 'https://yun.duiba.com.cn/spark/assets/58527ff02cd996f196deade9cf46ed252e2791f6.png'
},
'c6625a32-6100-47e6-a9ed-cd146a7f4bd8': {
name: '底52',
ext: '.png',
uuid: 'c6625a32-6100-47e6-a9ed-cd146a7f4bd8',
url: 'https://yun.duiba.com.cn/spark/assets/2d258d16ae2ff46e1d1b422407b853e98f086a2f.png'
},
'2ce802ba-fe74-4bb9-8733-2858e43b6bfc': {
name: '底51',
ext: '.png',
uuid: '2ce802ba-fe74-4bb9-8733-2858e43b6bfc',
url: 'https://yun.duiba.com.cn/spark/assets/add23849798cc4dc3334c64d28ce8bf7e3a596eb.png'
},
'c68019be-dab4-42bc-bacd-d56091f8d3c2': {
name: '按钮50',
ext: '.png',
uuid: 'c68019be-dab4-42bc-bacd-d56091f8d3c2',
url: 'https://yun.duiba.com.cn/spark/assets/23ede9d65dea3267e4f46ca010c593e5a825f3e9.png'
},
'9b4cb347-3551-4e18-a822-8ca50f7ca0c9': {
name: '底49',
ext: '.png',
uuid: '9b4cb347-3551-4e18-a822-8ca50f7ca0c9',
url: 'https://yun.duiba.com.cn/spark/assets/d40414050220aa09e45cb2a678d78443442dd88e.png'
},
'6957d9f3-9aa4-4ed6-9b83-57cc68f16512': {
name: '左',
ext: '.png',
uuid: '6957d9f3-9aa4-4ed6-9b83-57cc68f16512',
url: 'https://yun.duiba.com.cn/spark/assets/dbc32e22d1df97f18aa30e4da22c13d10ee95a9e.png'
},
'6d8cdd11-fbc5-4e84-b5ef-1f74c9070738': {
name: '右',
ext: '.png',
uuid: '6d8cdd11-fbc5-4e84-b5ef-1f74c9070738',
url: 'https://yun.duiba.com.cn/spark/assets/a55c324b7e8b1560204abe2a60dd1880b2dda47c.png'
},
'05c4f778-f591-4c20-9788-705961908161': {
name: '底47',
ext: '.png',
uuid: '05c4f778-f591-4c20-9788-705961908161',
url: 'https://yun.duiba.com.cn/spark/assets/fcc090e0baa5a1b212ac2b7ea0ef5974d323c617.png'
},
'563b6c6c-020c-4224-9e27-18e40ec924ab': {
name: '圆角矩形119746',
ext: '.png',
uuid: '563b6c6c-020c-4224-9e27-18e40ec924ab',
url: 'https://yun.duiba.com.cn/spark/assets/17517d9dc409bfc03e380d8c84293b74f1d4a417.png'
},
'b701826c-63c5-4490-a380-52f273dad9af': {
name: '按钮44',
ext: '.png',
uuid: 'b701826c-63c5-4490-a380-52f273dad9af',
url: 'https://yun.duiba.com.cn/spark/assets/5193855f40ff72dea9f48022083a6a35240b6dc6.png'
},
'd11bbe72-196f-4c70-a8ca-92829d2e1972': {
name: '底43',
ext: '.png',
uuid: 'd11bbe72-196f-4c70-a8ca-92829d2e1972',
url: 'https://yun.duiba.com.cn/spark/assets/7cd8f310977214812603d71d09e56c75d0e10e9a.png'
},
'8a1bb501-7e25-492d-9926-40bc55240253': {
name: '底40',
ext: '.png',
uuid: '8a1bb501-7e25-492d-9926-40bc55240253',
url: 'https://yun.duiba.com.cn/spark/assets/3b9160b973daf567b1c58150e10d0a0491133883.png'
},
'e2684124-e9d8-4017-8c0e-ccd971b88c60': {
name: '底37',
ext: '.png',
uuid: 'e2684124-e9d8-4017-8c0e-ccd971b88c60',
url: 'https://yun.duiba.com.cn/spark/assets/a9c1e15a621d0f2d19d33c958951b2b15b99a95f.png'
},
'ae50eeec-b695-444b-bf61-0e4069d20d81': {
name: '按钮36',
ext: '.png',
uuid: 'ae50eeec-b695-444b-bf61-0e4069d20d81',
url: 'https://yun.duiba.com.cn/spark/assets/897956a00052b7e98185a22214e1134379137824.png'
},
'2c67981f-5186-4b18-bf0b-ccc6a79192bf': {
name: '底34',
ext: '.png',
uuid: '2c67981f-5186-4b18-bf0b-ccc6a79192bf',
url: 'https://yun.duiba.com.cn/spark/assets/4bd2ab8ecac5a559558b79c0f2f7ae9ee10f569e.png'
},
'02aacfd1-3347-40a7-8a3a-9f20c1b5706b': {
name: '说话猫30',
ext: '.png', ext: '.png',
uuid: '02aacfd1-3347-40a7-8a3a-9f20c1b5706b', url: 'https://yun.duiba.com.cn/spark-dev/assets/白色.41dae4fd01f4750aea58f694b40d97a9da8f23ca.png',
url: 'https://yun.duiba.com.cn/spark/assets/d668bfa5e8f20d360058f1ce301622f028320e8e.png' uuid: '2a747211-0210-4215-86a2-a6955b37c45b'
}, },
'24b7d459-41d6-408c-9829-4768fe38abf5': { '7fcd3fb3-57bd-436a-afca-989b68b6b311': {
name: '底29', name: '背景',
ext: '.png', ext: '.png',
uuid: '24b7d459-41d6-408c-9829-4768fe38abf5', url: '//yun.duiba.com.cn/spark-dev/assets/时光挑战赛背景__m.0a7dc2a8e1dc99921330774023817a27285b17d2.png',
url: 'https://yun.duiba.com.cn/spark/assets/44e5ec770784008cbde2036987d786ad10179074.png' uuid: '7fcd3fb3-57bd-436a-afca-989b68b6b311'
}, },
'97484cf2-5146-4287-b104-ed1f43c71ee0': { '7d1ec658-9371-4d52-b4d7-e75d04037daf': {
name: '按钮27', name: '粉色',
ext: '.png', ext: '.png',
uuid: '97484cf2-5146-4287-b104-ed1f43c71ee0', url: 'https://yun.duiba.com.cn/spark-dev/assets/粉色.f5d6e3215bdb1048b015fba9d743ae03be13ee3f.png',
url: 'https://yun.duiba.com.cn/spark/assets/ccc2315a56a4886cdffd32311d57583c870963d0.png' uuid: '7d1ec658-9371-4d52-b4d7-e75d04037daf'
}, },
'50779aee-069e-4dd9-b2ff-88beda9f43d1': { '6a1345f6-969c-4969-8bfb-f4de637df34d': {
name: '底25', name: '黄色',
ext: '.png', ext: '.png',
uuid: '50779aee-069e-4dd9-b2ff-88beda9f43d1', url: 'https://yun.duiba.com.cn/spark-dev/assets/黄色.3e05aa9a7e01b9083ec21eb0545179a1c9ca24fd.png',
url: 'https://yun.duiba.com.cn/spark/assets/5f8647eb5032613a6116f3cefc00d4448e24becc.png' uuid: '6a1345f6-969c-4969-8bfb-f4de637df34d'
}, },
'c7916d41-ea9d-4f8e-b5aa-e2060d6ae265': { '2e12a9ec-46be-487f-a9cd-550dd0af3746': {
name: '按钮23', name: '银色',
ext: '.png', ext: '.png',
uuid: 'c7916d41-ea9d-4f8e-b5aa-e2060d6ae265', url: 'https://yun.duiba.com.cn/spark-dev/assets/银色.1735303df8f858d3d9f30d662c5fb03ae72fc4c6.png',
url: 'https://yun.duiba.com.cn/spark/assets/5411d96c77b95fddfd2a42d08d1522d992bff210.png' uuid: '2e12a9ec-46be-487f-a9cd-550dd0af3746'
}, },
'947d970f-52bf-4319-82f0-a3e65620ed75': { 'b022fbdd-8607-435a-a205-19fc3b5123eb': {
name: '底22', name: '铜色',
ext: '.png', ext: '.png',
uuid: '947d970f-52bf-4319-82f0-a3e65620ed75', url: '//yun.duiba.com.cn/spark-dev/assets/铜色.eb01abbf52e377b6ff7b7f590e04a2d823c966fa.png',
url: 'https://yun.duiba.com.cn/spark/assets/b29d45b60af4e4daecce521a84896cb4d276e2a5.png' uuid: 'b022fbdd-8607-435a-a205-19fc3b5123eb'
}, },
'84f612c0-0a38-41e0-8ecb-2ef1531c44a1': { 'da63a36d-3bec-4707-8624-3fbb3dea02ab': {
name: '底19', name: '光效_00001',
ext: '.png', ext: '.png',
uuid: '84f612c0-0a38-41e0-8ecb-2ef1531c44a1', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00001.cc36a09f5f1ed0a2314a6b823ec2aab618948d74.png',
url: 'https://yun.duiba.com.cn/spark/assets/c86077f0552a048f04653db23a979efd3b02619d.png' uuid: 'da63a36d-3bec-4707-8624-3fbb3dea02ab'
}, },
'02183198-f4da-4ac2-8bf3-d6b7a07d3279': { '3456aea7-5f71-4964-a366-89eb2379082e': {
name: '底18', name: '光效_00002',
ext: '.png', ext: '.png',
uuid: '02183198-f4da-4ac2-8bf3-d6b7a07d3279', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00002.c7f9f3bbceee77f6b9874108ba26b0460354892d.png',
url: 'https://yun.duiba.com.cn/spark/assets/38c8d93cf305d0b4c9ec17aaa7aaca754ac7c33b.png' uuid: '3456aea7-5f71-4964-a366-89eb2379082e'
}, },
'95a6b0a9-3e7a-4a0b-82b6-6742e2a8bddf': { 'cf8eaf18-c14d-4d4e-96e6-1cd3b8fbbab3': {
name: '脸17', name: '光效_00003',
ext: '.png', ext: '.png',
uuid: '95a6b0a9-3e7a-4a0b-82b6-6742e2a8bddf', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00003.dd6074a704ad16948bebce7a24d13f1c812aa535.png',
url: 'https://yun.duiba.com.cn/spark/assets/ef2d52a9b45b94e4166b27df2bb381648453d9aa.png' uuid: 'cf8eaf18-c14d-4d4e-96e6-1cd3b8fbbab3'
}, },
'8b464624-24b0-46ae-ab4a-65928d4784c7': { '512d1a11-0a61-461d-98f9-280188a120b8': {
name: '底14', name: '光效_00004',
ext: '.png', ext: '.png',
uuid: '8b464624-24b0-46ae-ab4a-65928d4784c7', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00004.ce0a3a7c0ccee33c368eebbe3f85a36edcc28998.png',
url: 'https://yun.duiba.com.cn/spark/assets/d6831298fd5db123e6185834ff71a195f179a913.png' uuid: '512d1a11-0a61-461d-98f9-280188a120b8'
}, },
'fe52ffae-fadd-40f3-97b5-d3d56fd04781': { 'b38eceeb-780d-4f30-aa29-76a63f0dd24c': {
name: '脸13', name: '光效_00005',
ext: '.png', ext: '.png',
uuid: 'fe52ffae-fadd-40f3-97b5-d3d56fd04781', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00005.5f2dea6555a08e44809064c10c46403be49aea7f.png',
url: 'https://yun.duiba.com.cn/spark/assets/643a3ebab02f202846efc2488ffd5c99252a210f.png' uuid: 'b38eceeb-780d-4f30-aa29-76a63f0dd24c'
}, },
'6a1a5aa9-affa-42e2-9703-ec36c33f0635': { '370ac7a9-8654-4b6d-b58b-ca8ee5d46d4a': {
name: '底10', name: '光效_00006',
ext: '.png', ext: '.png',
uuid: '6a1a5aa9-affa-42e2-9703-ec36c33f0635', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00006.0adbb68fbcf94e41c582849948bf05d6b9781d54.png',
url: 'https://yun.duiba.com.cn/spark/assets/b850ebe5fe00a48d4ad81802a5e0931264710b36.png' uuid: '370ac7a9-8654-4b6d-b58b-ca8ee5d46d4a'
}, },
'193f6955-d754-4b9f-80ca-b9b9a72e8a8b': { '9c259901-9df9-471e-80ec-d7da2f3079d0': {
name: '脸9', name: '光效_00007',
ext: '.png', ext: '.png',
uuid: '193f6955-d754-4b9f-80ca-b9b9a72e8a8b', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00007.f222e6fefcd054bca14f19576db429436e930173.png',
url: 'https://yun.duiba.com.cn/spark/assets/b1992c528b36c2d26942e9c83941242e59481475.png' uuid: '9c259901-9df9-471e-80ec-d7da2f3079d0'
}, },
'8850353b-0a98-4335-9d46-a36678f44be0': { 'c1af4634-b601-48b5-b194-0754f80fcd1b': {
name: '底6', name: '光效_00008',
ext: '.png', ext: '.png',
uuid: '8850353b-0a98-4335-9d46-a36678f44be0', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00008.300db61d542b5ef8a1167c12323034eb6f913402.png',
url: 'https://yun.duiba.com.cn/spark/assets/44b88c4f0c75f1c4dd07172e186f9960caa195cc.png' uuid: 'c1af4634-b601-48b5-b194-0754f80fcd1b'
}, },
'e28e5250-c740-4e4f-a855-c415c557e77e': { '7716e0b7-81ad-4925-97bb-7a0f41be64cb': {
name: '脸5', name: '光效_00009',
ext: '.png', ext: '.png',
uuid: 'e28e5250-c740-4e4f-a855-c415c557e77e', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00009.53ed4e1fe34d29f5e1042ef4f1d4fb06b03a7f59.png',
url: 'https://yun.duiba.com.cn/spark/assets/5e5e85d3745031ccb7004e04a188a3f7a42fbaa0.png' uuid: '7716e0b7-81ad-4925-97bb-7a0f41be64cb'
}, },
'f956cda2-5eef-4942-8737-742d171527bd': { '35aa2a64-6f17-4665-8e8a-31b8504081cf': {
name: '', name: '光效_00010',
ext: '.png', ext: '.png',
uuid: 'f956cda2-5eef-4942-8737-742d171527bd', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00010.c3631caa37d18f83efb9abf630f3a829a9118937.png',
url: 'https://yun.duiba.com.cn/spark/assets/b8a22520aeb4c118f3ca52e37ea38961631bbb05.png' uuid: '35aa2a64-6f17-4665-8e8a-31b8504081cf'
}, },
'628fc38b-7dc0-4c69-aac1-279d60c8f1ed': { '8cfb811c-1e3f-4deb-91c2-781f473167c3': {
name: '按钮2', name: '光效_00011',
ext: '.png', ext: '.png',
uuid: '628fc38b-7dc0-4c69-aac1-279d60c8f1ed', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00011.6678ff6e413759720b8f0ff23967b55cfc72b87e.png',
url: 'https://yun.duiba.com.cn/spark/assets/248191d2099fd413fcb4ced176942523b65dee87.png' uuid: '8cfb811c-1e3f-4deb-91c2-781f473167c3'
}, },
'6d21c615-b90f-45c8-ba39-df49ac167cf2': { '5edcc725-aa13-4ee0-a7eb-e065d2e8a802': {
name: '背景51', name: '光效_00012',
ext: '.png', ext: '.png',
uuid: '6d21c615-b90f-45c8-ba39-df49ac167cf2', url: '//yun.duiba.com.cn/spark-dev/assets/光效_00012.b2e7f21e215b17223e4c0261d7c9f16f9be0bb16.png',
url: 'https://yun.duiba.com.cn/spark/assets/2a1e37f03ac801586b3024cb56b0598b8bc663ab.png' uuid: '5edcc725-aa13-4ee0-a7eb-e065d2e8a802'
}, },
'330c7d88-40c7-4c23-af59-69837ba5842e': { 'b896bbc5-e4e1-4161-97c8-6f43b066f30b': {
name: '', name: 'bg__m',
ext: '.png', ext: '.png',
uuid: '330c7d88-40c7-4c23-af59-69837ba5842e', url: '//yun.duiba.com.cn/spark-dev/assets/bg__m.c28ef9508f067c27371312592adb60dd82d1653d.png',
url: 'https://yun.duiba.com.cn/spark/assets/e4d13ff89397de3a3f9afc39a2c7f1155c50980d.png' uuid: 'b896bbc5-e4e1-4161-97c8-6f43b066f30b'
}, },
'959c96e7-1df5-41a7-a94b-97225bb6038d': { '024b1ca1-1da7-4279-8bfd-1826e440525d': {
name: 'icon', name: 'pk胜利获得奖品无文案背景',
ext: '.png', ext: '.png',
uuid: '959c96e7-1df5-41a7-a94b-97225bb6038d', url: '//yun.duiba.com.cn/spark-dev/assets/pk胜利获得奖品无文案背景.0d040881e1326fef2c84a86ba0b3e5228ce42cbe.png',
url: 'https://yun.duiba.com.cn/spark/assets/7589e9db5f1216d1eeafacfdf6282024ab934111.png' uuid: '024b1ca1-1da7-4279-8bfd-1826e440525d'
}, },
'e2db27e8-051d-472f-a966-ac9acfbf8398': { '1b34f12b-ba72-41ec-848f-9e0de49403ee': {
name: '立即领取', name: 'pk胜利获得雅顿币背景',
ext: '.png', ext: '.png',
uuid: 'e2db27e8-051d-472f-a966-ac9acfbf8398', url: '//yun.duiba.com.cn/spark-dev/assets/pk胜利获得雅顿币背景.fbacbd443654a6ae2b61d574d8c2d01c4945bea7.png',
url: 'https://yun.duiba.com.cn/spark/assets/07fcc274e12a3ef31cbef3da0955a3d5a76ec4ed.png' uuid: '1b34f12b-ba72-41ec-848f-9e0de49403ee'
}, },
'1c6b7b34-4d98-4a59-adf3-f3a99a8e2433': { 'f45dff96-8004-4fc8-bb74-20af177cd5f3': {
name: '已领取', name: 'pk失败背景',
ext: '.png', ext: '.png',
uuid: '1c6b7b34-4d98-4a59-adf3-f3a99a8e2433', url: '//yun.duiba.com.cn/spark-dev/assets/pk失败背景.76dc33bcd146019064c41ff9db80d2318763f467.png',
url: 'https://yun.duiba.com.cn/spark/assets/a0803da75fe34ad192945fb5a587d37dc069e822.png' uuid: 'f45dff96-8004-4fc8-bb74-20af177cd5f3'
}, },
'0b73b3d9-fe14-4718-b98f-4af789883849': { '5b61fddb-b1f8-4e24-bc2a-e356b540d70c': {
name: '重新领取', name: '白关闭',
ext: '.png', ext: '.png',
uuid: '0b73b3d9-fe14-4718-b98f-4af789883849', url: '//yun.duiba.com.cn/spark-dev/assets/白关闭.21337c05d84f35081518085be78f1a55c386d0e2.png',
url: 'https://yun.duiba.com.cn/spark/assets/ff625089be287b7b7304c407de3a44d2b07f77bd.png' uuid: '5b61fddb-b1f8-4e24-bc2a-e356b540d70c'
}, },
'21a09955-5fa9-46ee-9078-3a7e07494d9e': { '9152efa4-2647-4354-9aec-7e23eb02bc22': {
name: '付邮费领取', name: '查看商品',
ext: '.png', ext: '.png',
uuid: '21a09955-5fa9-46ee-9078-3a7e07494d9e', url: '//yun.duiba.com.cn/spark-dev/assets/查看商品.6ce90ced1dce7438d8a7d7585daf15dd2066b830.png',
url: 'https://yun.duiba.com.cn/spark/assets/4b520b297876a12a2ebb185c049c714686bce6ec.png' uuid: '9152efa4-2647-4354-9aec-7e23eb02bc22'
}, },
'74c28c99-adb9-4f95-86bd-547ee30831e8': { '6ffd395c-2bbd-424b-8322-6ffd89f26dc7': {
name: '领取失败25', name: '对手匹配中0',
ext: '.png', ext: '.png',
uuid: '74c28c99-adb9-4f95-86bd-547ee30831e8', url: '//yun.duiba.com.cn/spark-dev/assets/对手匹配中0.5af99a55d3d2cfe59eadb4d19fc15b5dbd2185b9.png',
url: 'https://yun.duiba.com.cn/spark/assets/823d63e68440070b3e614de4e671e37415640379.png' uuid: '6ffd395c-2bbd-424b-8322-6ffd89f26dc7'
}, },
'1993e8f1-375d-4386-b63d-f85745da93aa': { '09ad238c-792e-45f2-98a0-fb64c97fc343': {
name: '领取失败18', name: '对手匹配中1',
ext: '.png', ext: '.png',
uuid: '1993e8f1-375d-4386-b63d-f85745da93aa', url: '//yun.duiba.com.cn/spark-dev/assets/对手匹配中1.668eea2ed2e3ee4077988cc75ab0bd5b2e1da1e0.png',
url: 'https://yun.duiba.com.cn/spark/assets/014846d421781059cd619b127f8787efeecffc1e.png' uuid: '09ad238c-792e-45f2-98a0-fb64c97fc343'
}, },
'eef9788e-5126-4e80-bf34-0a2616e32c54': { '8dd8a44b-1d9f-4ef5-8654-a37642ce6c57': {
name: '圆角矩形86017', name: '对手匹配中2',
ext: '.png', ext: '.png',
uuid: 'eef9788e-5126-4e80-bf34-0a2616e32c54', url: '//yun.duiba.com.cn/spark-dev/assets/对手匹配中2.a1f428e3bbab16c45347e5d79cfc9d7937ab083a.png',
url: 'https://yun.duiba.com.cn/spark/assets/cb6a9fbb59bb791957573aadf5ae72df9264ae7a.png' uuid: '8dd8a44b-1d9f-4ef5-8654-a37642ce6c57'
}, },
'765898fe-3e98-4090-9a5f-b5749fc5911b': { '7e4905a6-b811-4923-820c-57cb725a7341': {
name: '已失效', name: '对手匹配中3',
ext: '.png', ext: '.png',
uuid: '765898fe-3e98-4090-9a5f-b5749fc5911b', url: '//yun.duiba.com.cn/spark-dev/assets/对手匹配中3.2f20039e5601c8e80b67cf77f910262b821f350f.png',
url: 'https://yun.duiba.com.cn/spark/assets/d46becac11707eb2e8382c3708415c3331d904e0.png' uuid: '7e4905a6-b811-4923-820c-57cb725a7341'
}, },
'9e9e71a6-9764-4740-9de9-827e06853d80': { '647ae09a-7d11-4e03-96a2-ec8355e44a04': {
name: 'mask', name: '关闭',
ext: '.png', ext: '.png',
uuid: '9e9e71a6-9764-4740-9de9-827e06853d80', url: '//yun.duiba.com.cn/spark-dev/assets/关闭.478515dc464257d3f3e7c09b760b30e35d439a20.png',
url: 'https://yun.duiba.com.cn/spark/assets/807317256624fc9e2d7aa080a5693b88a1cb0a43.png' uuid: '647ae09a-7d11-4e03-96a2-ec8355e44a04'
}, },
'59417914-0a16-4ce9-ae6b-8adcd73787e1': { '652675b5-b20f-4069-9568-f4ae633a0b7d': {
name: '背景13', name: '奖品区域',
ext: '.png', ext: '.png',
uuid: '59417914-0a16-4ce9-ae6b-8adcd73787e1', url: '//yun.duiba.com.cn/spark-dev/assets/奖品区域.a0a94f462d19f656bc1805069138ee2f0f6ebbbf.png',
url: 'https://yun.duiba.com.cn/spark/assets/1a9466693e7b51ed6455d5714a7d89c8a2743ef1.png' uuid: '652675b5-b20f-4069-9568-f4ae633a0b7d'
}, },
'adc09482-392c-47ca-88ec-b3c15acb7039': { 'c1875fdc-c1a1-491a-ba5b-1783f87e8d06': {
name: '按钮关闭弹窗8', name: '平行四边形',
ext: '.png', ext: '.png',
uuid: 'adc09482-392c-47ca-88ec-b3c15acb7039', url: '//yun.duiba.com.cn/spark-dev/assets/平行四边形.d2edfc481ef3b634c7d3e24a6bc16921ab98e681.png',
url: 'https://yun.duiba.com.cn/spark/assets/a1d01436817deb9d38198c774370ce69835fce66.png' uuid: 'c1875fdc-c1a1-491a-ba5b-1783f87e8d06'
}, },
'd4acd4e4-169d-417a-8c18-44efc33b4c7f': { '2a8ee937-a863-4f5f-89eb-c8be40e0d5c5': {
name: '背景7', name: '头像',
ext: '.png', ext: '.png',
uuid: 'd4acd4e4-169d-417a-8c18-44efc33b4c7f', url: '//yun.duiba.com.cn/spark-dev/assets/头像.6f2d859f4ea1546438f0a4f91111faae706764f5.png',
url: 'https://yun.duiba.com.cn/spark/assets/5c279d8be6a64bc9a154e149098e0e61558a1992.png' uuid: '2a8ee937-a863-4f5f-89eb-c8be40e0d5c5'
}, },
'6f94fd60-3c74-4a30-b94f-a276fd68758a': { '781f95f5-18e1-49d6-aeb7-0464ddacd279': {
name: 'mxq', name: '右框',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/mxq.4b33c946d8d526fcc725fa2b07780bf492c8b741.png', url: '//yun.duiba.com.cn/spark-dev/assets/右框.4903d5656913366bab535e5db40431af060dc893.png',
uuid: '6f94fd60-3c74-4a30-b94f-a276fd68758a' uuid: '781f95f5-18e1-49d6-aeb7-0464ddacd279'
}, },
'56b0a49b-81c3-42cd-9297-c7dcf86d32fd': { '77c6c9c9-5855-4b90-977e-27a2ffb8cd66': {
name: 'tl', name: '再来一局',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/tl.6c3c11ef0983554d3736494a1366a3ad054dfd18.png', url: '//yun.duiba.com.cn/spark-dev/assets/再来一局2.0f42d20f7c2a50ca2d6af3c6fa5867a731888dc5.png',
uuid: '56b0a49b-81c3-42cd-9297-c7dcf86d32fd' uuid: '77c6c9c9-5855-4b90-977e-27a2ffb8cd66'
}, },
'1f8b040d-2fbc-4ff8-92f9-159773364fae': { '5c1a2887-809b-4443-80cd-6f5526ebb540': {
name: 'tlBtn', name: '再来一局2',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/tlBtn.5f8c6fdab68ae41afa33b702a5125fd1d9150a40.png', url: '//yun.duiba.com.cn/spark-dev/assets/再来一局.e870c07bcf86e9197a063e70f196e5bf1666c61c.png',
uuid: '1f8b040d-2fbc-4ff8-92f9-159773364fae' uuid: '5c1a2887-809b-4443-80cd-6f5526ebb540'
}, },
'db53267d-4141-4d3e-afda-9b523c89be3e': { 'd5a0cbd7-6cb5-4dee-9a42-52a907eb6aed': {
name: '选择猫咪背景', name: '左框',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/选择猫咪背景.380e7b102d2288cfd03900177d662d8f5f38f400.png', url: '//yun.duiba.com.cn/spark-dev/assets/左框.9e43afd6609f2bbe1f2eaf9c82607695c36550a4.png',
uuid: 'db53267d-4141-4d3e-afda-9b523c89be3e' uuid: 'd5a0cbd7-6cb5-4dee-9a42-52a907eb6aed'
}, },
'a7dc39fa-5f6d-4e94-8979-81c4a4aa183f': { '0bc476b6-e334-40ac-8d60-614febb85885': {
name: 'BlueCatTexture', name: '白色星星',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/BlueCatTexture.4cb32c2577f51d8c63e894bd662518d3c7cc1f69.png', url: '//yun.duiba.com.cn/spark-dev/assets/白色星星.a2e4d2c3a06511b89bcff2333116832822fc6569.png',
uuid: 'a7dc39fa-5f6d-4e94-8979-81c4a4aa183f' uuid: '0bc476b6-e334-40ac-8d60-614febb85885'
}, },
'72987d74-2fa7-49b9-865d-a0d80c6ed220': { '2ce5cca4-0ea6-4460-a30c-6bd80446e38d': {
name: 'OrengeCatTexture', name: '背景星星',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/OrengeCatTexture.c0e942ac2dfbbe36c60acd9cd66b6800e34ab7e7.png', url: '//yun.duiba.com.cn/spark-dev/assets/背景星星.4427e4094b413b4b509568f9026764590a895508.png',
uuid: '72987d74-2fa7-49b9-865d-a0d80c6ed220' uuid: '2ce5cca4-0ea6-4460-a30c-6bd80446e38d'
}, },
'75320997-b466-4161-abab-b03a51ec522b': { 'c795ef77-7c31-47e9-b9c5-90cb5cbb2e78': {
name: 'SanhuaCatTexture', name: '倒计时',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/SanhuaCatTexture.48eb7ebfe58570de3ef9369112e8cff7da9d7143.png', url: '//yun.duiba.com.cn/spark-dev/assets/倒计时.4fb5040ba3b85b4cc727de24d49fbcd5192ff6e6.png',
uuid: '75320997-b466-4161-abab-b03a51ec522b' uuid: 'c795ef77-7c31-47e9-b9c5-90cb5cbb2e78'
}, },
'de2d1dca-ed1c-4fe0-93ef-684f4b96c87e': { '17bc9ddc-3c21-447e-9f73-4008eb49d830': {
name: 'XianluoCatTexture', name: '顶部消除分数',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark/assets/XianluoCatTexture.5ddac07bcc3d692773d464ddace1879e95c9605f.png', url: '//yun.duiba.com.cn/spark-dev/assets/顶部消除分数.6196aa3e19063ea69b410604ca98f03cbf930f7c.png',
uuid: 'de2d1dca-ed1c-4fe0-93ef-684f4b96c87e' uuid: '17bc9ddc-3c21-447e-9f73-4008eb49d830'
},
'efaf990e-5392-49ad-94d8-25c04f651ede': {
name: '操场1',
ext: '.jpg',
url: 'https://yun.duiba.com.cn/spark/assets/操场1.b001a98dc403137934e6b7d7a17a7882ecd63478.jpg',
uuid: 'efaf990e-5392-49ad-94d8-25c04f651ede'
},
'c6d699b0-b276-4985-b3ea-47bcef13f2ea': {
name: '教室1',
ext: '.jpg',
url: 'https://yun.duiba.com.cn/spark/assets/教室1.b439ee3a59ed36c920c92e11df87b317e4ff048d.jpg',
uuid: 'c6d699b0-b276-4985-b3ea-47bcef13f2ea'
}, },
'b3c8c187-e5c9-4968-9a00-a118d18ab2fc': { '3edac9c3-f88b-46cb-b763-525c3c774f1b': {
name: '寝室1', name: '关卡框',
ext: '.jpg',
url: 'https://yun.duiba.com.cn/spark/assets/寝室1.e9238ec5e71c328817026128dd0f41fdc65203f4.jpg',
uuid: 'b3c8c187-e5c9-4968-9a00-a118d18ab2fc'
},
'2a747211-0210-4215-86a2-a6955b37c45b': {
name: '白色',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark-dev/assets/白色.41dae4fd01f4750aea58f694b40d97a9da8f23ca.png', url: '//yun.duiba.com.cn/spark-dev/assets/关卡框.1dfa3309bf16a2cd5f3abb7d1acb554a480c3998.png',
uuid: '2a747211-0210-4215-86a2-a6955b37c45b' uuid: '3edac9c3-f88b-46cb-b763-525c3c774f1b'
}, },
'7fcd3fb3-57bd-436a-afca-989b68b6b311': { '5c5a81d6-4d33-4332-b4d8-a5947eedfa67': {
name: '背景', name: '红色星星',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark-dev/assets/背景.9713f3181595c655058adc1f1fd039ee5e1911bf.png', url: '//yun.duiba.com.cn/spark-dev/assets/红色星星.a59c7696ad96eb2af3d08c72746bfeb84692e3b2.png',
uuid: '7fcd3fb3-57bd-436a-afca-989b68b6b311' uuid: '5c5a81d6-4d33-4332-b4d8-a5947eedfa67'
}, },
'7d1ec658-9371-4d52-b4d7-e75d04037daf': { '400ad87f-1daf-47e6-8dae-83d50744f546': {
name: '粉色', name: '红色进度条',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark-dev/assets/粉色.f5d6e3215bdb1048b015fba9d743ae03be13ee3f.png', url: '//yun.duiba.com.cn/spark-dev/assets/红色进度条.f29a09445e730cae8359ac32eb7f6b0a0e120734.png',
uuid: '7d1ec658-9371-4d52-b4d7-e75d04037daf' uuid: '400ad87f-1daf-47e6-8dae-83d50744f546'
}, },
'6a1345f6-969c-4969-8bfb-f4de637df34d': { 'a7c7ac21-bda9-4906-b042-66e86cbccd0a': {
name: '黄色', name: '进度条背景',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark-dev/assets/黄色.3e05aa9a7e01b9083ec21eb0545179a1c9ca24fd.png', url: '//yun.duiba.com.cn/spark-dev/assets/进度条背景.b79ca5a0c3e4660cdc124bb21f3d1bfc9d68b401.png',
uuid: '6a1345f6-969c-4969-8bfb-f4de637df34d' uuid: 'a7c7ac21-bda9-4906-b042-66e86cbccd0a'
}, },
'2e12a9ec-46be-487f-a9cd-550dd0af3746': { '5bc08e08-54d1-4b67-a146-679c4ce1984d': {
name: '银色', name: 'PK',
ext: '.png', ext: '.png',
url: 'https://yun.duiba.com.cn/spark-dev/assets/银色.1735303df8f858d3d9f30d662c5fb03ae72fc4c6.png', url: '//yun.duiba.com.cn/spark-dev/assets/PK.f7e4bb9029bf786ff55396b5480213664f6451fd.png',
uuid: '2e12a9ec-46be-487f-a9cd-550dd0af3746' uuid: '5bc08e08-54d1-4b67-a146-679c4ce1984d'
} }
}; };
export default resCanvasList; export default resCanvasList;
\ No newline at end of file
...@@ -40,7 +40,7 @@ export class Main { ...@@ -40,7 +40,7 @@ export class Main {
private requestID; private requestID;
private _pause: boolean; private _pause: boolean;
constructor(canvas: HTMLCanvasElement) { constructor(canvas: HTMLCanvasElement) {
console.warn=function(){} console.warn = function () { }
var sysInfo; var sysInfo;
//@ts-ignore 存在my就初始化 //@ts-ignore 存在my就初始化
if (my) { if (my) {
...@@ -83,7 +83,7 @@ export class Main { ...@@ -83,7 +83,7 @@ export class Main {
} }
// 切换游戏 // 切换游戏
changeGameSence (gameType) { changeGameSence(gameType) {
this.gameType = gameType this.gameType = gameType
if (gameType === 1) changeScene(CsdScene) if (gameType === 1) changeScene(CsdScene)
else if (gameType === 2) changeScene(XxlScene) else if (gameType === 2) changeScene(XxlScene)
...@@ -91,12 +91,12 @@ export class Main { ...@@ -91,12 +91,12 @@ export class Main {
else return else return
} }
loadImageTextures (resCanvasList) { loadImageTextures(resCanvasList) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
FYGE.GlobalLoader.loadImage((s, image) => { FYGE.GlobalLoader.loadImage((s, image) => {
if (s) { if (s) {
console.log('loadImageTextures') console.log('loadImageTextures')
FYGE.createTextureSheet(new FYGE.BaseTexture(image), lottieTexture ); FYGE.createTextureSheet(new FYGE.BaseTexture(image), lottieTexture);
resolve('complete') resolve('complete')
} }
}, resCanvasList['63cb446e-1158-4a94-bf0c-c19ecc7d2cc6'].url) }, resCanvasList['63cb446e-1158-4a94-bf0c-c19ecc7d2cc6'].url)
...@@ -116,7 +116,7 @@ export class Main { ...@@ -116,7 +116,7 @@ export class Main {
// await RES.loadGroup("common"); // await RES.loadGroup("common");
Ins.stageW = this.stage.viewRect.width; Ins.stageW = this.stage.viewRect.width;
Ins.stageH = this.stage.viewRect.height; Ins.stageH = this.stage.viewRect.height;
console.log("舞台宽高:",Ins.stageW,Ins.stageH) console.log("舞台宽高:", Ins.stageW, Ins.stageH)
let resCanvasList = Object.assign(resCanvasList_, resCanvasListCsd) let resCanvasList = Object.assign(resCanvasList_, resCanvasListCsd)
...@@ -125,7 +125,7 @@ export class Main { ...@@ -125,7 +125,7 @@ export class Main {
this.loadImageTextures(resCanvasList).then(res => { this.loadImageTextures(resCanvasList).then(res => {
// changeScene(OpenAni) // changeScene(OpenAni)
changeScene(XxlScene) changeScene(XxlScene, { fakeUserName: 'cccccccccc', fakeUserImgUrl: 'https://yun.duiba.com.cn/spark-dev/assets/白色.41dae4fd01f4750aea58f694b40d97a9da8f23ca.png', win: true, userName: 'xxxxxxxxxxx', userImgUrl: 'https://yun.duiba.com.cn/spark-dev/assets/白色.41dae4fd01f4750aea58f694b40d97a9da8f23ca.png' })
}) })
await InitLottie.initLottieList(resLottieList); await InitLottie.initLottieList(resLottieList);
......
...@@ -12,57 +12,8 @@ export enum TbNetName { ...@@ -12,57 +12,8 @@ export enum TbNetName {
trackingReport = "squirrelsAdoptRest2c.trackingReport", trackingReport = "squirrelsAdoptRest2c.trackingReport",
getActivityBaseInfoById= "bubbleSurviva.getActivityBaseInfoById", getActivityBaseInfoById = "bubbleSurviva.getActivityBaseInfoById",
/**
* 获取游戏信息
* activityId
*/
getGameInfo = "babycare.getGameInfo",
/**
* 消耗道具 ,会返回剩余所有道具数量
* activityId type
*/
consumerTools = "babycare.consumerTools",
/**
* 提交分数
* activityId level score stars isVisitSuccess(是否通关)
*/
gameOver = "babycare.gameOver",
/**
* 领取任务奖励
* activityId taskType
*/
receiveTaskRewards = "babycare.receiveTaskRewards",
/**
* 积分兑换道具和体力
* activityId type credits
*/
exchange = "babycare.exchange",
/**
* 根据等级获取奖品列表
* activityId level
*/
getPrizesByLevel = "babycare.getPrizesByLevel",
/**
* 查询用户积分
* activityId
*/
queryCredits = "babycare.queryCredits",
/**
* 开始闯关,会返回体力值
* activityId level
*/
dojoin = "babycare.dojoin",
/**
* 完成任务(浏览商品详情页, 关注店铺)
* activityId taskType
*/
completeTask = "babycare.completeTask",
/**
* 任务列表
* activityId
*/
// getTaskList = "babycare.getTaskList", // getTaskList = "babycare.getTaskList",
///////////////////前端调用接口都加个mine ///////////////////前端调用接口都加个mine
......
import { layers } from "../../module/views/layers"
import { Panel } from "../../module/views/Panel"
import { Ins } from "../Ins"
import { Tools } from "../Tools"
export class MatchingPanel extends Panel {
bg: FYGE.Sprite
matchImg: FYGE.Sprite
matchImgRes = ["6ffd395c-2bbd-424b-8322-6ffd89f26dc7",
"09ad238c-792e-45f2-98a0-fb64c97fc343",
"8dd8a44b-1d9f-4ef5-8654-a37642ce6c57",
"7e4905a6-b811-4923-820c-57cb725a7341"]
nowM = 0
repeat = 0
initUi() {
this.bg = Ins.initSprite("b896bbc5-e4e1-4161-97c8-6f43b066f30b")
this.addChild(this.bg)
this.x = Ins.stageW - this.width >> 1
this.y = (Ins.stageH - this.height >> 1) + layers.stageOffsetY
//不显示动画
this.isShowing = true
//匹配时间
this.repeat = 5 + Math.floor(10 * Math.random())
this.matchImg = Ins.initSprite(this.matchImgRes[this.nowM])
this.matchImg.x = (this.bg.width - this.matchImg.width >> 1) - 40
this.matchImg.y = 300
this.addChild(this.matchImg)
this.matching()
}
matching() {
if (this.repeat > 0) {
this.repeat--
this.nowM++
if (this.nowM > 3) {
this.nowM = 0
}
this.matchImg.texture = Ins.getRes(this.matchImgRes[this.nowM])
setTimeout(() => {
this.matching()
}, 500)
} else {
this.matchImg.visible = false
this.matchSuc()
}
}
matchSuc() {
let lContainer = new FYGE.Container()
lContainer.y = (this.bg.height >> 1) - 180
let left = Ins.initSprite("d5a0cbd7-6cb5-4dee-9a42-52a907eb6aed")
lContainer.addChild(left)
//头像背景
let leftAvatarBg = Ins.initSprite("2a8ee937-a863-4f5f-89eb-c8be40e0d5c5")
leftAvatarBg.x = 180
leftAvatarBg.y = -25
lContainer.addChild(leftAvatarBg)
//头像
let leftAvatar = Ins.initSprite("")
leftAvatar.x = leftAvatarBg.x
leftAvatar.y = -25
lContainer.addChild(leftAvatar)
//遮罩
let lcircle = Tools.getCircle(48, 0xffff00)
lcircle.x = 233
lcircle.y = 27
lContainer.addChild(lcircle)
leftAvatar.mask = lcircle
//昵称
let lnickName = Tools.getText("xxxxxxxxxx", 30, "#fff", FYGE.TEXT_ALIGN.RIGHT, 180)
lnickName.y = 40
lContainer.addChild(lnickName)
this.addChild(lContainer)
FYGE.Tween.get(lContainer).set({ x: -150 - lContainer.width }).to({ x: 50 }, 150).to({ x: 0 }, 50)
let rContainer = new FYGE.Container()
rContainer.y = (this.bg.height >> 1) + 150
let right = Ins.initSprite("781f95f5-18e1-49d6-aeb7-0464ddacd279")
rContainer.addChild(right)
rContainer.x = this.bg.width - rContainer.width
//头像背景
let rightAvatarBg = Ins.initSprite("2a8ee937-a863-4f5f-89eb-c8be40e0d5c5")
rightAvatarBg.x = right.width - 180 - rightAvatarBg.width
rightAvatarBg.y = -25
rContainer.addChild(rightAvatarBg)
//头像
let rightAvatar = Ins.initSprite("")
rightAvatar.x = rightAvatarBg.x
rightAvatar.y = -25
rContainer.addChild(rightAvatar)
//遮罩
let rcircle = Tools.getCircle(48, 0xffff00)
rcircle.x = right.width - 233
rcircle.y = 27
rContainer.addChild(rcircle)
rightAvatar.mask = rcircle
//昵称
let rnickName = Tools.getText("xxxxxxxxxx", 30, "#fff", FYGE.TEXT_ALIGN.LEFT, 180)
rnickName.x = right.width - 180
rnickName.y = 40
rContainer.addChild(rnickName)
this.addChild(rContainer)
FYGE.Tween.get(rContainer).set({ x: 900 }).to({ x: this.bg.width - rContainer.width - 50 }, 150).to({ x: this.bg.width - rContainer.width }, 50)
let pk = Ins.initSprite("5bc08e08-54d1-4b67-a146-679c4ce1984d")
pk.x = (this.bg.width - pk.width >> 1) + 5
pk.anchorX = pk.width >> 1
pk.anchorY = pk.height >> 1
pk.y = (this.bg.height - pk.height >> 1) + 35
this.addChild(pk)
FYGE.Tween.get(pk).set({ scaleX: 5, scaleY: 5, alpha: 0 }).wait(100).to({ scaleX: 1, scaleY: 1, alpha: 1 }, 300)
let sq = Ins.initSprite("c1875fdc-c1a1-491a-ba5b-1783f87e8d06")
sq.x = this.bg.width - sq.width >> 1
sq.y = (this.bg.height - sq.height >> 1) + 40
FYGE.Tween.get(sq).set({ alpha: 0 }).to({ alpha: 1 }, 200)
this.addChild(sq)
}
}
\ No newline at end of file
import { RES } from "../../module/RES"; import { RES } from "../../module/RES";
import resCanvasList from "../../resCanvasList"; import resCanvasList from "../../resCanvasList";
import { LightCircle } from "./lightCircle";
import { config } from "./XxlConfig";
...@@ -9,51 +11,81 @@ declare interface point { ...@@ -9,51 +11,81 @@ declare interface point {
} }
export default class CircleItem extends FYGE.Sprite { export default class CircleItem extends FYGE.Container {
//类型 //类型
type: number type: number
circleRes = ['2a747211-0210-4215-86a2-a6955b37c45b', '7d1ec658-9371-4d52-b4d7-e75d04037daf', '6a1345f6-969c-4969-8bfb-f4de637df34d', '2e12a9ec-46be-487f-a9cd-550dd0af3746'] circleRes = ['2a747211-0210-4215-86a2-a6955b37c45b', '7d1ec658-9371-4d52-b4d7-e75d04037daf', '6a1345f6-969c-4969-8bfb-f4de637df34d', '2e12a9ec-46be-487f-a9cd-550dd0af3746', 'b022fbdd-8607-435a-a205-19fc3b5123eb']
point: point point: point
index: number index: number
nnnn: number bg: FYGE.Sprite = new FYGE.Sprite()
bg2: FYGE.Sprite = new FYGE.Sprite()
//自身价值
score: number = 0
constructor(type: number, point: point, index: number) { constructor(type: number, point: point, index: number) {
super(); super();
console.log("type:" + type)
this.type = type this.type = type
this.point = { x: point.x + 39, y: point.y + 39 } this.point = { x: point.x + 36.5, y: point.y + 39.5 }
this.x = point.x this.x = point.x
this.y = point.y this.y = point.y
this.index = index this.index = index
this.texture = RES.getRes( this.score = config.score[type]
this.addChild(this.bg2)
this.bg2.alpha = 0.8
this.bg2.anchorX = 36.5
this.bg2.anchorY = 39.5
this.addChild(this.bg)
this.bg.anchorX = 36.5
this.bg.anchorY = 39.5
this.bg2.texture = RES.getRes(
resCanvasList[this.circleRes[type]].url
);
this.bg.texture = RES.getRes(
resCanvasList[this.circleRes[type]].url resCanvasList[this.circleRes[type]].url
); );
} }
toBig() {
console.log("变大")
this.scaleX = 1.1
this.scaleY = 1.1
}
toNormal() { explode(cb) {
this.scaleY = this.scaleX = 1 //上层
FYGE.Tween.get(this.bg).wait(250).to({ scaleX: 0, scaleY: 0 }, 250).call(() => {
this.bg.alpha = 1
this.bg.scaleX = this.bg.scaleY = 1
})
//下层
FYGE.Tween.get(this.bg2).to({ alpha: 0, scaleX: 1.5, scaleY: 1.5 }, 500).call(() => {
this.bg2.alpha = 0.8
this.bg2.scaleX = this.bg2.scaleY = 1
cb()
})
} }
changeConfig(type: number, point: point, index: number) { changeConfig(type: number, point: point, index: number) {
this.type = type this.type = type
this.point = { x: point.x + 39, y: point.y + 39 } this.point = { x: point.x + 36.5, y: point.y + 39.5 }
this.x = point.x this.x = point.x
this.y = point.y this.y = point.y
this.index = index this.index = index
console.log("type:" + type)
this.score = config.score[type]
this.texture = RES.getRes( this.bg2.texture = this.bg.texture = RES.getRes(
resCanvasList[this.circleRes[type]].url resCanvasList[this.circleRes[type]].url
); );
} }
......
import CircleItem from "./CircleItem" import CircleItem from "./CircleItem"
import { LightCircle } from "./lightCircle";
declare interface point { declare interface point {
...@@ -9,6 +10,8 @@ declare interface point { ...@@ -9,6 +10,8 @@ declare interface point {
export class ObjectPool { export class ObjectPool {
_circleItemPool: CircleItem[] = [] _circleItemPool: CircleItem[] = []
_lightCirclePool: LightCircle[] = []
getItem(type: number, ponit: point, index: number): CircleItem { getItem(type: number, ponit: point, index: number): CircleItem {
// console.log(this._circleItemPool.length) // console.log(this._circleItemPool.length)
let co = this._circleItemPool.shift() let co = this._circleItemPool.shift()
...@@ -25,4 +28,18 @@ export class ObjectPool { ...@@ -25,4 +28,18 @@ export class ObjectPool {
} }
this._circleItemPool.push(co) this._circleItemPool.push(co)
} }
getLightCircle(): LightCircle {
let lc = this._lightCirclePool.shift()
return lc || new LightCircle()
}
putLightCircle(lc: LightCircle) {
if (lc.parent) {
lc.parent.removeChild(lc)
}
this._lightCirclePool.push(lc)
}
} }
\ No newline at end of file
import { Ins } from "../Ins"
import { Tools } from "../Tools"
import { LightCircle } from "./lightCircle"
export class Star extends FYGE.Container {
starContainer: FYGE.Container = new FYGE.Container()
bg: FYGE.Sprite = Ins.initSprite("2ce5cca4-0ea6-4460-a30c-6bd80446e38d")
whiteStar: FYGE.Sprite = Ins.initSprite("0bc476b6-e334-40ac-8d60-614febb85885")
pinkStar: FYGE.Sprite = Ins.initSprite("5c5a81d6-4d33-4332-b4d8-a5947eedfa67")
tipText: FYGE.TextField = Tools.getText("1000分", 20)
lightCircle: LightCircle = new LightCircle()
constructor(text: string) {
super()
this.addChild(this.starContainer)
this.starContainer.addChild(this.bg)
this.starContainer.anchorX = this.bg.width >> 1
this.starContainer.anchorY = this.bg.height >> 1
this.starContainer.addChild(this.whiteStar)
this.whiteStar.x = (this.bg.width - this.whiteStar.width) >> 1
this.whiteStar.y = (this.bg.height - this.whiteStar.height) >> 1
this.starContainer.addChild(this.pinkStar)
this.pinkStar.visible = false
this.pinkStar.x = (this.bg.width - this.pinkStar.width) >> 1
this.pinkStar.y = (this.bg.height - this.pinkStar.height) >> 1
this.addChild(this.lightCircle)
this.lightCircle.x = -100 + (this.starContainer.width >> 1)
this.lightCircle.y = -100 + (this.starContainer.height >> 1)
this.tipText.y = 60
this.tipText.text = text
this.addChild(this.tipText)
}
bling() {
this.lightCircle.play()
FYGE.Tween.get(this.starContainer).to({ scaleX: 0.3, scaleY: 0.3 }, 200).call(() => {
this.pinkStar.visible = true
}).to({ scaleX: 1.3, scaleY: 1.3 }, 200).to({ scaleX: 1, scaleY: 1 }, 100)
}
}
\ No newline at end of file
export const config = {
//倒计时时间s
time: 103,
//3关分数
first: 1000,
second: 2000,
third: 3000,
//5种每个球的分数
score: [10, 10, 10, 10, 10]
}
\ No newline at end of file
...@@ -6,6 +6,12 @@ import { Ins } from "../Ins"; ...@@ -6,6 +6,12 @@ import { Ins } from "../Ins";
import { changeScene, showPanel } from "../../module/ctrls"; import { changeScene, showPanel } from "../../module/ctrls";
import CircleItem from "./CircleItem"; import CircleItem from "./CircleItem";
import { ObjectPool } from "./ObjectPool"; import { ObjectPool } from "./ObjectPool";
import { LightCircle } from "./lightCircle";
import { Tools } from "../Tools";
import { Star } from "./Star";
import { sendTbNet, TbNetName } from "../TaoBaoNet";
import { config } from "./XxlConfig";
import { MatchingPanel } from "../com/MatchingPanel";
declare interface point { declare interface point {
x: number; x: number;
...@@ -25,8 +31,62 @@ class noder { ...@@ -25,8 +31,62 @@ class noder {
} }
export class XxlScene extends Scene { export class XxlScene extends Scene {
bg: FYGE.Sprite bg: FYGE.Sprite
container: FYGE.Container container: FYGE.Container
shapeLineContainer: FYGE.Container
g: FYGE.Shape = new FYGE.Shape()
topContainer: FYGE.Container
//倒计时
time: FYGE.TextField
timeNum: number = 0
//左边用户昵称
lnickname: FYGE.TextField
//左边关卡
llevelText: FYGE.TextField
//左边分数
lscore: FYGE.TextField
//左头像
lavatar: FYGE.Sprite
//右边用户昵称
rnickname: FYGE.TextField
//右边关卡
rlevelText: FYGE.TextField
//右边分数
rscore: FYGE.TextField
//右头像
ravatar: FYGE.Sprite
//进度条
rect: FYGE.Graphics
//进度条位置
rectX: number = 0
//star1
star1: Star
//star2
star2: Star
//star3
star3: Star
/**
* 游戏状态参数
*/
//当前用户分数
userScore: number = 0
//当前用户游戏关卡
level: number = 0
//当前游戏难度
difficulty: number = 3
//是否可以游戏
isGameStart: boolean = false
/** /**
* 右移偶数行 * 右移偶数行
...@@ -53,7 +113,10 @@ export class XxlScene extends Scene { ...@@ -53,7 +113,10 @@ export class XxlScene extends Scene {
/** /**
* 格子半径 * 格子半径
*/ */
radius = 78; radius = 78;
radiusX = 73;
radiusY = 79;
ROW_NUM = 9; ROW_NUM = 9;
...@@ -110,13 +173,17 @@ export class XxlScene extends Scene { ...@@ -110,13 +173,17 @@ export class XxlScene extends Scene {
//集合 //集合
ItemMap: Map<number, noder> = new Map() ItemMap: Map<number, noder> = new Map()
//是否正在消除
isRemove: boolean = false
initUi() { initUi() {
this.objectPool = new ObjectPool() this.isGameStart = true
this.objectPool = new ObjectPool()
let that = this; let that = this;
...@@ -127,8 +194,8 @@ export class XxlScene extends Scene { ...@@ -127,8 +194,8 @@ export class XxlScene extends Scene {
// console.log(i * that.COL_NUM + j) // console.log(i * that.COL_NUM + j)
that.indexToRcMap[i * that.COL_NUM + j] = [i, j]; that.indexToRcMap[i * that.COL_NUM + j] = [i, j];
var x = that.offsetX + (i & 1) * that.radius / 2 + j * that.radius; var x = that.offsetX + (i & 1) * that.radiusX / 2 + j * that.radiusX;
var y = that.offsetY + i * that.halfSq3 * that.radius var y = that.offsetY + i * that.halfSq3 * that.radiusY
that.rowColPositions["" + i + j] = { x: x, y: y }; that.rowColPositions["" + i + j] = { x: x, y: y };
that.indexPositions[i * that.COL_NUM + j] = { x: x, y: y }; that.indexPositions[i * that.COL_NUM + j] = { x: x, y: y };
...@@ -136,17 +203,208 @@ export class XxlScene extends Scene { ...@@ -136,17 +203,208 @@ export class XxlScene extends Scene {
} }
})() })()
showPanel(MatchingPanel)
that.initSceneEle();
this.bg = Ins.initSprite("7fcd3fb3-57bd-436a-afca-989b68b6b311") this.bg = Ins.initSprite("7fcd3fb3-57bd-436a-afca-989b68b6b311")
this.addChild(this.bg); this.addChild(this.bg);
this.x = (Ins.stageW - 750) >> 1; this.x = (Ins.stageW - 750) >> 1;
this.y = (Ins.stageH - 1624) >> 1; this.y = (Ins.stageH - 1624) >> 1;
//顶部分数
this.topContainer = new FYGE.Container()
this.topContainer.y = 220
this.addChild(this.topContainer)
let scoreBg = Ins.initSprite("17bc9ddc-3c21-447e-9f73-4008eb49d830")
scoreBg.x = (750 - scoreBg.width) >> 1
this.topContainer.addChild(scoreBg)
//倒计时
let timerBg = Ins.initSprite("c795ef77-7c31-47e9-b9c5-90cb5cbb2e78")
timerBg.x = (750 - timerBg.width) >> 1
this.topContainer.addChild(timerBg)
this.time = Tools.getText(config.time + "", 45, "#f6787c", FYGE.TEXT_ALIGN.RIGHT)
if (config.time >= 100) {
this.time.textWidth = 80
} else if (config.time >= 10) {
this.time.textWidth = 65
} else {
this.time.textWidth = 50
}
this.time.x = Ins.stageW / 2 - this.time.textWidth / 2 - 15
this.time.y = (timerBg.height >> 1) - (this.time.textHeight >> 1) - 4
this.time.bold = true
this.time.stroke = 1
this.time.strokeColor = "#f6787c"
this.topContainer.addChild(this.time)
//左边用户信息
let leftUserContainer = new FYGE.Container()
//头像
let avatarBg = Ins.initSprite("2a8ee937-a863-4f5f-89eb-c8be40e0d5c5")
avatarBg.x = 55
avatarBg.y = 78 - (avatarBg.height >> 1)
leftUserContainer.addChild(avatarBg)
let circle = Tools.getCircle(48, 0xffff00)
console.log(avatarBg.x, avatarBg.y)
circle.x = 106
circle.y = 77
leftUserContainer.addChild(circle)
this.lavatar = FYGE.Sprite.fromUrl(this.data.userImgUrl)
this.lavatar.mask = circle
this.lavatar.x = 60
this.lavatar.y = 78 - (avatarBg.height >> 1)
leftUserContainer.addChild(this.lavatar)
//分数
this.lscore = Tools.getText("0", 30, "#ffffff", FYGE.TEXT_ALIGN.LEFT)
this.lscore.bold = true
this.lscore.x = 175
this.lscore.y = 63
this.lscore.anchorX = this.lscore.textWidth >> 1
this.lscore.anchorY = this.lscore.textHeight >> 1
this.lscore.stroke = 3
this.lscore.strokeColor = "#ed767c"
leftUserContainer.addChild(this.lscore)
//用户昵称
this.lnickname = Tools.getText(this.data.userName, 18, "#ffffff", FYGE.TEXT_ALIGN.LEFT)
this.lnickname.bold = true
this.lnickname.x = 175
this.lnickname.y = 35
this.lnickname.stroke = 3
this.lnickname.strokeColor = "#ed767c"
leftUserContainer.addChild(this.lnickname)
//第几关
let levelBg = Ins.initSprite("3edac9c3-f88b-46cb-b763-525c3c774f1b")
levelBg.x = 170
levelBg.y = 95
leftUserContainer.addChild(levelBg)
this.llevelText = Tools.getText("第1关", 20, "#000", FYGE.TEXT_ALIGN.CENTER)
this.llevelText.x = 15
this.llevelText.y = 9
levelBg.addChild(this.llevelText)
this.topContainer.addChild(leftUserContainer)
//右边用户信息
let rightUserContainer = new FYGE.Container()
//头像
let ravatarBg = Ins.initSprite("2a8ee937-a863-4f5f-89eb-c8be40e0d5c5")
ravatarBg.x = Ins.stageW - 55 - ravatarBg.width
ravatarBg.y = 78 - (ravatarBg.width >> 1)
rightUserContainer.addChild(ravatarBg)
let circle2 = Tools.getCircle(48, 0xffff00)
circle2.x = Ins.stageW - ravatarBg.width - 3
circle2.y = 77
rightUserContainer.addChild(circle2)
this.ravatar = FYGE.Sprite.fromUrl(this.data.fakeUserImgUrl)
this.ravatar.mask = circle2
this.ravatar.x = Ins.stageW - 50 - ravatarBg.width
this.ravatar.y = 78 - (ravatarBg.height >> 1)
rightUserContainer.addChild(this.ravatar)
//分数
this.rscore = Tools.getText("0", 30, "#ffffff", FYGE.TEXT_ALIGN.RIGHT)
this.rscore.bold = true
this.rscore.x = Ins.stageW - 175 - this.rscore.textWidth
this.rscore.anchorX = this.rscore.textWidth >> 1
this.rscore.anchorY = this.rscore.textHeight >> 1
this.rscore.y = 63
this.rscore.stroke = 3
this.rscore.strokeColor = "#ed767c"
rightUserContainer.addChild(this.rscore)
//用户昵称
this.rnickname = Tools.getText(this.data.fakeUserName, 18, "#ffffff", FYGE.TEXT_ALIGN.RIGHT)
this.rnickname.bold = true
this.rnickname.x = Ins.stageW - 175 - this.rnickname.textWidth
this.rnickname.y = 35
this.rnickname.stroke = 3
this.rnickname.strokeColor = "#ed767c"
rightUserContainer.addChild(this.rnickname)
//第几关
let rlevelBg = Ins.initSprite("3edac9c3-f88b-46cb-b763-525c3c774f1b")
rlevelBg.x = Ins.stageW - 170 - rlevelBg.width
rlevelBg.y = 95
rightUserContainer.addChild(rlevelBg)
this.rlevelText = Tools.getText("第1关", 20, "#000", FYGE.TEXT_ALIGN.CENTER)
this.rlevelText.x = 15
this.rlevelText.y = 9
rlevelBg.addChild(this.rlevelText)
this.topContainer.addChild(rightUserContainer)
//分数进度条区
let progressContainer = new FYGE.Container()
progressContainer.y = 205
this.topContainer.addChild(progressContainer)
let tip = Tools.getText("规定时间内通过3关且用时最短者获胜", 20, "#cbd3d9")
tip.x = (Ins.stageW - tip.textWidth) >> 1
tip.y = 170
this.topContainer.addChild(tip)
let progressBg = Ins.initSprite("a7c7ac21-bda9-4906-b042-66e86cbccd0a")
progressBg.x = (Ins.stageW - progressBg.width) >> 1
progressContainer.addChild(progressBg)
let redProgressBg = Ins.initSprite("400ad87f-1daf-47e6-8dae-83d50744f546")
//遮罩
this.rect = Tools.getRect(410, 33, 0xffff00, 1, 100)
this.rect.width = 410
redProgressBg.mask = this.rect
redProgressBg.x = (Ins.stageW - redProgressBg.width) >> 1
this.rectX = this.rect.x = redProgressBg.x - 410
progressContainer.addChild(redProgressBg)
progressContainer.addChild(this.rect)
this.star1 = new Star("1000分")
this.star1.x = progressBg.x - (this.star1.width >> 1) + 36
this.star1.y = progressBg.y - (this.star1.height >> 1) + (progressBg.height >> 1) + 42
progressContainer.addChild(this.star1)
this.star2 = new Star("2000分")
this.star2.x = progressBg.x - (this.star2.width >> 1) + (progressBg.width >> 1) + 36
this.star2.y = progressBg.y - (this.star2.height >> 1) + (progressBg.height >> 1) + 42
progressContainer.addChild(this.star2)
this.star3 = new Star("3000分")
this.star3.x = progressBg.x - (this.star3.width >> 1) + progressBg.width + 36
this.star3.y = progressBg.y - (this.star3.height >> 1) + (progressBg.height >> 1) + 42
progressContainer.addChild(this.star3)
//游戏划线区
this.shapeLineContainer = new FYGE.Container
this.shapeLineContainer.x = 117
this.shapeLineContainer.y = 645
this.addChild(this.shapeLineContainer)
this.shapeLineContainer.addChild(this.g)
//游戏区
this.container = new FYGE.Container this.container = new FYGE.Container
this.container.x = 105 this.container.x = 117
this.container.y = 655 this.container.y = 645
this.addChild(this.container) this.addChild(this.container)
let expendHexIndices = [] let expendHexIndices = []
...@@ -156,13 +414,10 @@ export class XxlScene extends Scene { ...@@ -156,13 +414,10 @@ export class XxlScene extends Scene {
//初始化 //初始化
for (let i of expendHexIndices) { for (let i of expendHexIndices) {
let p: point = { x: that.getPositionByIndex(i).x, y: that.getPositionByIndex(i).y } let p: point = { x: that.getPositionByIndex(i).x, y: that.getPositionByIndex(i).y }
let no = new noder(i) let no = new noder(i)
let circleItem = this.objectPool.getItem(Math.floor(4 * Math.random()), p, i) let circleItem = this.objectPool.getItem(Math.floor(this.difficulty * Math.random()), p, i)
no.item = circleItem no.item = circleItem
no.p = p no.p = p
this.ItemMap.set(i, no) this.ItemMap.set(i, no)
...@@ -243,28 +498,84 @@ export class XxlScene extends Scene { ...@@ -243,28 +498,84 @@ export class XxlScene extends Scene {
} }
} }
// console.log(this.ItemMap)
}
console.log(this.ItemMap)
updateScore(userGetScore: number) {
this.userScore += userGetScore
if (this.level < 2 && this.userScore >= 1000 && this.userScore < 2000) {
this.level = 2
this.llevelText.text = "第" + this.level + "关"
this.difficulty = 4
this.star1.bling()
} else if (this.level < 3 && this.userScore >= 2000 && this.userScore < 3000) {
this.level = 3
this.llevelText.text = "第" + this.level + "关"
this.difficulty = 5
this.star2.bling()
} else if (this.userScore >= 3000) {
this.star3.bling()
this.gameOver()
} }
let per = (this.userScore - 1000) / 2000 > 1 ? 1 : (this.userScore - 1000) / 2000
this.updateProgress(per)
g: FYGE.Graphics FYGE.Tween.get(this.lscore).to({ scaleX: 1.5, scaleY: 1.5 }, 200).call(() => {
mouseDown(e) { this.lscore.text = "" + this.userScore
}).to({ scaleX: 1, scaleY: 1 }, 200)
}
gameOver() {
this.isGameStart = false
if (this.data.win) {
//胜利
} else {
//失败
}
}
// 退出游戏 返回主页
backToPage() {
sendTbNet(TbNetName.backToPage, {}, (s, res) => { console.log('backToPage') })
}
updateProgress(per: number) {
FYGE.Tween.get(this.rect).to({ x: this.rectX + 410 * per }, 200)
}
updateFakeScore(userGetScore: number) {
if (this.data.win) {
FYGE.Tween.get(this.rscore).to({ scaleX: 1.5, scaleY: 1.5 }, 200).call(() => {
this.rscore.text = "" + (this.userScore - ~Math.random() * 5)
this.rscore.x = Ins.stageW - 175 - this.rscore.textWidth
this.rscore.anchorX = this.rscore.textWidth >> 1
this.rscore.anchorY = this.rscore.textHeight >> 1
}).to({ scaleX: 1, scaleY: 1 }, 200)
}
}
mouseDown(e) {
if (this.isRemove || !this.isGameStart) {
console.log("游戏结束")
return
}
let p: point = { x: e.localX - this.container.x, y: e.localY - this.container.y } let p: point = { x: e.localX - this.container.x, y: e.localY - this.container.y }
let co = this.findFirstCircleItemByPos(p) let co = this.findFirstCircleItemByPos(p)
if (co) { if (co) {
//划线 //划线
this.g = new FYGE.Graphics() this.g.clear()
this.container.addChild(this.g) this.g.beginStroke(0xffffff, 20)
this.g.alpha = 0.7
this.g.moveTo(co.point.x, co.point.y); this.g.moveTo(co.point.x, co.point.y);
this.g.beginFill("#ffffff")
this.g.lineStyle(2, 0x000000)
co.toBig()
this.firstSelectItem = co this.firstSelectItem = co
this.selectItems.push(co) this.selectItems.push(co)
this.addEventListener(FYGE.MouseEvent.MOUSE_MOVE, this.mouseMove, this); this.addEventListener(FYGE.MouseEvent.MOUSE_MOVE, this.mouseMove, this);
...@@ -273,8 +584,7 @@ export class XxlScene extends Scene { ...@@ -273,8 +584,7 @@ export class XxlScene extends Scene {
mouseMove(e) { mouseMove(e) {
console.log(1111)
let p: point = { x: e.localX - this.container.x, y: e.localY - this.container.y } let p: point = { x: e.localX - this.container.x, y: e.localY - this.container.y }
let co = this.firstSelectItem let co = this.firstSelectItem
if (this.selectItems.length > 0) { if (this.selectItems.length > 0) {
...@@ -286,29 +596,24 @@ export class XxlScene extends Scene { ...@@ -286,29 +596,24 @@ export class XxlScene extends Scene {
if (this.firstSelectItem) { if (this.firstSelectItem) {
if (co && co.type == this.firstSelectItem.type) { if (co && co.type == this.firstSelectItem.type) {
// console.log(co.point, co.type)
co.toBig()
this.selectItems.push(co) this.selectItems.push(co)
//连线 //连线
this.g.lineTo(co.point.x, co.point.y) this.g.lineTo(co.point.x, co.point.y)
this.g.endFill() this.g.endStroke()
this.g.beginStroke(0xffffff, 20)
this.g.moveTo(co.point.x, co.point.y) this.g.moveTo(co.point.x, co.point.y)
} }
} else { } else {
if (co) { if (co) {
//画线 //画线
this.g = new FYGE.Graphics() this.g.clear()
this.container.addChild(this.g) this.g.beginStroke(0xffffff, 20)
this.g.alpha = 0.7
this.g.moveTo(co.point.x, co.point.y); this.g.moveTo(co.point.x, co.point.y);
this.g.beginFill("#ffffff")
this.g.lineStyle(2, 0x000000)
co.toBig()
this.firstSelectItem = co this.firstSelectItem = co
this.selectItems.push(co) this.selectItems.push(co)
} }
...@@ -319,41 +624,49 @@ export class XxlScene extends Scene { ...@@ -319,41 +624,49 @@ export class XxlScene extends Scene {
mouseUp(e) { mouseUp(e) {
this.g.clear() this.g.clear()
this.removeEventListener(FYGE.MouseEvent.MOUSE_MOVE, this.mouseMove, this); this.removeEventListener(FYGE.MouseEvent.MOUSE_MOVE, this.mouseMove, this);
let p: point = { x: e.localX, y: e.localY } let p: point = { x: e.localX, y: e.localY }
let userGetScore = 0
if (this.selectItems.length > 1) { if (this.selectItems.length > 1) {
for (let co of this.selectItems) { for (let co of this.selectItems) {
co.toNormal() userGetScore += co.score
if (co.parent) {
this.ItemMap.get(co.index).item = null this.ItemMap.get(co.index).item = null
this.emptyHexIndices.push(co.index) this.emptyHexIndices.push(co.index)
this.circleItems = this.circleItems.filter(item => item != co) this.circleItems = this.circleItems.filter(item => item != co)
let lc = this.objectPool.getLightCircle()
this.container.addChild(lc)
lc.x = co.point.x - 103
lc.y = co.point.y - 103
co.explode(() => {
this.objectPool.putLightCircle(lc)
this.objectPool.putItem(co) this.objectPool.putItem(co)
} else { })
console.log("不存在", co.nnnn) lc.play()
}
}
} else {
for (let co of this.selectItems) {
co.toNormal()
} }
this.updateScore(userGetScore)
} }
this.firstSelectItem = null this.firstSelectItem = null
this.selectItems.splice(0) this.selectItems.splice(0)
if (this.emptyHexIndices.length > 0) { if (this.emptyHexIndices.length > 0) {
//掉落 //掉落
this.isRemove = true
setTimeout(() => {
this.drop() this.drop()
}, 500)
} }
} }
drop() { drop() {
if (this.emptyHexIndices.length == 0) {
this.isRemove = false
}
this.emptyHexIndices = Array.from(new Set(this.emptyHexIndices)); this.emptyHexIndices = Array.from(new Set(this.emptyHexIndices));
this.emptyHexIndices.sort((a, b) => b - a) this.emptyHexIndices.sort((a, b) => b - a)
// console.log("掉落", this.emptyHexIndices) // console.log("掉落", this.emptyHexIndices)
...@@ -364,10 +677,7 @@ export class XxlScene extends Scene { ...@@ -364,10 +677,7 @@ export class XxlScene extends Scene {
if (vo) { if (vo) {
this.findFatherOrMother(vo) this.findFatherOrMother(vo)
} }
} else {
debugger
} }
} }
...@@ -391,19 +701,51 @@ export class XxlScene extends Scene { ...@@ -391,19 +701,51 @@ export class XxlScene extends Scene {
vo.item.index = vo.index vo.item.index = vo.index
this.exchange(vo.item, { x: this.getPositionByIndex(vo.index).x, y: this.getPositionByIndex(vo.index).y }) this.exchange(vo.item, { x: this.getPositionByIndex(vo.index).x, y: this.getPositionByIndex(vo.index).y })
} else { } else {
let lastVo = (fa && fa.father) ? fa : null || (mo && mo.father) ? mo : null || (fa && fa.mother) ? fa : null || (mo && mo.mother) ? mo : null let lastVo = fa ? fa : null || mo ? mo : null
if (lastVo) { if (lastVo) {
this.findFatherOrMother(lastVo) this.findFatherOrMother(lastVo)
} else { } else {
console.log("new") let isNotAllTopThree = this.emptyHexIndices.some(item => item > 20)
if (isNotAllTopThree) {
this.emptyHexIndices.splice(this.emptyHexIndices.indexOf(vo.index), 1) this.emptyHexIndices.splice(this.emptyHexIndices.indexOf(vo.index), 1)
let circleItem = this.objectPool.getItem(Math.floor(4 * Math.random()), vo.p, vo.index) let circleItem = this.objectPool.getItem(Math.floor(this.difficulty * Math.random()), vo.p, vo.index)
vo.item = circleItem vo.item = circleItem
this.container.addChild(circleItem) this.container.addChild(circleItem)
this.circleItems.push(circleItem) this.circleItems.push(circleItem)
this.exchange(vo.item, vo.p)
} else {
let isNotOnlyTopOne = this.emptyHexIndices.some(item => item != 3)
if (isNotOnlyTopOne) {
if (vo.index == 14 || vo.index == 15 || vo.index == 19 || vo.index == 20) {
console.log("生成点")
this.emptyHexIndices.splice(this.emptyHexIndices.indexOf(vo.index), 1)
setTimeout(() => { setTimeout(() => {
this.drop() let circleItem = this.objectPool.getItem(Math.floor(this.difficulty * Math.random()), vo.p, vo.index)
}, 30) vo.item = circleItem
this.container.addChild(circleItem)
this.circleItems.push(circleItem)
this.exchange(vo.item, vo.p)
}, 50)
} else {
this.emptyHexIndices.splice(this.emptyHexIndices.indexOf(vo.index), 1)
let circleItem = this.objectPool.getItem(Math.floor(this.difficulty * Math.random()), vo.p, vo.index)
vo.item = circleItem
this.container.addChild(circleItem)
this.circleItems.push(circleItem)
this.exchange(vo.item, vo.p)
}
} else {
console.log("只剩3")
this.emptyHexIndices.splice(this.emptyHexIndices.indexOf(vo.index), 1)
setTimeout(() => {
let circleItem = this.objectPool.getItem(Math.floor(this.difficulty * Math.random()), vo.p, vo.index)
vo.item = circleItem
this.container.addChild(circleItem)
this.circleItems.push(circleItem)
this.exchange(vo.item, vo.p)
}, 200)
}
}
} }
} }
} }
...@@ -411,11 +753,17 @@ export class XxlScene extends Scene { ...@@ -411,11 +753,17 @@ export class XxlScene extends Scene {
exchange(vo: CircleItem, p: point) { exchange(vo: CircleItem, p: point) {
FYGE.Tween.get(vo).to({ x: p.x, y: p.y }, 30).call(() => {
vo.point = { x: p.x + 39, y: p.y + 39 }
this.drop() this.drop()
})
if (vo.x > p.x) {
FYGE.Tween.get(vo).to({ x: p.x - 5, y: p.y + 5 }, 150).to({ x: p.x, y: p.y }, 150).call(() => {
vo.point = { x: p.x + 39, y: p.y + 39 }
})
} else {
FYGE.Tween.get(vo).to({ x: p.x + 5, y: p.y + 5 }, 150).to({ x: p.x, y: p.y }, 150).call(() => {
vo.point = { x: p.x + 39, y: p.y + 39 }
})
}
} }
...@@ -489,11 +837,6 @@ export class XxlScene extends Scene { ...@@ -489,11 +837,6 @@ export class XxlScene extends Scene {
/**初始化场景元素 */
initSceneEle() {
// console.log(1111)
}
...@@ -501,22 +844,61 @@ export class XxlScene extends Scene { ...@@ -501,22 +844,61 @@ export class XxlScene extends Scene {
var that = this; var that = this;
console.log("主场景添加事件") console.log("主场景添加事件")
this.addEventListener(FYGE.MouseEvent.MOUSE_DOWN, that.mouseDown, that) that.addEventListener(FYGE.MouseEvent.MOUSE_DOWN, that.mouseDown, that)
this.addEventListener(FYGE.MouseEvent.MOUSE_UP, that.mouseUp, that); that.addEventListener(FYGE.MouseEvent.MOUSE_UP, that.mouseUp, that);
// that.tlBtn.addEventListener(FYGE.MouseEvent.CLICK,()=>{that.changeMainScene(SCENETYPE.CLASSROOM)},that);
// that.mxqBtn.addEventListener(FYGE.MouseEvent.CLICK,()=>{that.changeMainScene(SCENETYPE.PLAYGROUND)},that); that.addEventListener(FYGE.Event.ENTER_FRAME, that.updateFrame, this)
// FYGE.GDispatcher.addEventListener(MSG.CHANGE_SCENE,()=>{that.changeMainScene(SCENETYPE.BEADROOM)},that);
}
lt = 0
tt = 0
updateFrame() {
if (this.tt >= config.time) {
this.time.text = "0"
this.gameOver()
return
}
if (this.lt) {
let nt = new Date().getTime()
let dt = nt - this.lt
this.tt += dt / 1000 >> 0
let ntt = config.time - this.tt
if (ntt != this.timeNum) {
if (ntt >= 100) {
if (this.time.textWidth != 80) {
this.time.textWidth = 80
this.time.x = Ins.stageW / 2 - this.time.textWidth / 2 - 15
}
} else if (ntt >= 10) {
if (this.time.textWidth != 65) {
this.time.textWidth = 65
this.time.x = Ins.stageW / 2 - this.time.textWidth / 2 - 15
}
} else {
if (this.time.textWidth != 50) {
this.time.textWidth = 50
this.time.x = Ins.stageW / 2 - this.time.textWidth / 2 - 15
}
}
this.timeNum = ntt
this.time.text = this.timeNum + ""
this.lt = nt
}
} else {
this.lt = new Date().getTime()
}
} }
removeEvents() { removeEvents() {
var that = this; var that = this;
console.log("主场景移除事件") console.log("主场景移除事件")
this.removeEventListener(FYGE.MouseEvent.MOUSE_DOWN, that.mouseDown, that) that.removeEventListener(FYGE.MouseEvent.MOUSE_DOWN, that.mouseDown, that)
this.removeEventListener(FYGE.MouseEvent.MOUSE_UP, that.mouseUp, that); that.removeEventListener(FYGE.MouseEvent.MOUSE_UP, that.mouseUp, that);
// that.tlBtn.removeEventListener(FYGE.MouseEvent.CLICK,()=>{that.changeMainScene(SCENETYPE.CLASSROOM)},that);
// that.mxqBtn.removeEventListener(FYGE.MouseEvent.CLICK,()=>{that.changeMainScene(SCENETYPE.PLAYGROUND)},that);
// FYGE.GDispatcher.removeEventListener(MSG.CHANGE_SCENE,()=>{that.changeMainScene(SCENETYPE.BEADROOM)},that);
} }
......
import { RES } from "../../module/RES";
import { GTool } from "../../module/tools/GTool";
import { Ins } from "../Ins";
export class LightCircle extends FYGE.Sprite {
/**
* 用到的图片库
*/
private static resPool: string[] = [
'da63a36d-3bec-4707-8624-3fbb3dea02ab',
"3456aea7-5f71-4964-a366-89eb2379082e",
"cf8eaf18-c14d-4d4e-96e6-1cd3b8fbbab3",
"512d1a11-0a61-461d-98f9-280188a120b8",
"b38eceeb-780d-4f30-aa29-76a63f0dd24c",
"370ac7a9-8654-4b6d-b58b-ca8ee5d46d4a",
"9c259901-9df9-471e-80ec-d7da2f3079d0",
"c1af4634-b601-48b5-b194-0754f80fcd1b",
"7716e0b7-81ad-4925-97bb-7a0f41be64cb",
"35aa2a64-6f17-4665-8e8a-31b8504081cf",
"8cfb811c-1e3f-4deb-91c2-781f473167c3",
"5edcc725-aa13-4ee0-a7eb-e065d2e8a802"
]
intervalHandler
count = 0
effectFrame = 42
constructor() {
super()
this.mouseChildren = false;
this.mouseEnable = false;
}
play() {
let that = this
that.intervalHandler = setInterval(() => {
that.texture = Ins.getRes(LightCircle.resPool[that.count])
that.count++
if (that.count >= LightCircle.resPool.length) {
clearInterval(this.intervalHandler);
this.count = 0
}
}, that.effectFrame)
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment