Commit 12413278 authored by wildfirecode13's avatar wildfirecode13

1

parent ca381601
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
"alias": "图片分成几列", "alias": "图片分成几列",
"type": "number", "type": "number",
"default": 3 "default": 3
} },
"isNewPlayer": 1
}, },
"assets": [ "assets": [
{ {
...@@ -460,5 +461,5 @@ ...@@ -460,5 +461,5 @@
} }
}, },
"id": "recycling", "id": "recycling",
"code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global.recycling = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tfunction getTexture(uuid) {\r\n\t return engine.Texture.from(getAssetByUUID(uuid).uuid);\r\n\t}\r\n\tfunction getTextureByName(name) {\r\n\t return getTexture(engine.getAssetByName(name).uuid);\r\n\t}\r\n\tfunction playSound(name) {\r\n\t engine.playSound(engine.getAssetByName(name).uuid, { keep: true });\r\n\t}\r\n\tfunction createSvga(name, anchorName) {\r\n\t var inst = new svga.Svga();\r\n\t inst.source = 'asset://' + engine.getAssetByName(name).uuid;\r\n\t return inst;\r\n\t}\r\n\t//# sourceMappingURL=utils.js.map\n\n\tvar props = {};\r\n\tfunction prepareProps() {\r\n\t var metaProps = getProps();\r\n\t engine.injectProp(props, metaProps);\r\n\t}\r\n\tfunction injectProps(p) {\r\n\t engine.injectProp(props, p);\r\n\t}\r\n\t//# sourceMappingURL=props.js.map\n\n\tvar Conveyor = (function (_super) {\r\n\t tslib.__extends(Conveyor, _super);\r\n\t function Conveyor() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.y = 904.21;\r\n\t var sp = new engine.Sprite(getTextureByName('conveyor'));\r\n\t _this.addChild(sp);\r\n\t _this.idx0 = _this.createItem(75, 50);\r\n\t _this.idx1 = _this.createItem(225, 50);\r\n\t _this.idx2 = _this.createItem(375, 50);\r\n\t _this.idx3 = _this.createItem(525, 50);\r\n\t _this.idx4 = _this.createItem(675, 50);\r\n\t return _this;\r\n\t }\r\n\t Conveyor.prototype.clear = function () {\r\n\t this.clearItem(this.idx0);\r\n\t this.clearItem(this.idx1);\r\n\t this.clearItem(this.idx2);\r\n\t this.clearItem(this.idx3);\r\n\t this.clearItem(this.idx4);\r\n\t };\r\n\t Conveyor.prototype.clearItem = function (idx) {\r\n\t if (idx.children.length > 0)\r\n\t idx.removeChildAt(0);\r\n\t };\r\n\t Conveyor.prototype.createItem = function (x, y) {\r\n\t var sp = new engine.Sprite();\r\n\t this.addChild(sp);\r\n\t sp.x = x;\r\n\t sp.y = y;\r\n\t return sp;\r\n\t };\r\n\t return Conveyor;\r\n\t}(engine.Sprite));\r\n\t//# sourceMappingURL=Conveyor.js.map\n\n\tvar GarbageTypes;\r\n\t(function (GarbageTypes) {\r\n\t GarbageTypes[\"recoverableWaste\"] = \"recoverableWaste\";\r\n\t GarbageTypes[\"harmfulWaste\"] = \"harmfulWaste\";\r\n\t GarbageTypes[\"wetWaste\"] = \"wetWaste\";\r\n\t GarbageTypes[\"dryWaste\"] = \"dryWaste\";\r\n\t})(GarbageTypes || (GarbageTypes = {}));\r\n\t//# sourceMappingURL=GarbageTypes.js.map\n\n\tvar GarbageConfig = (function () {\r\n\t function GarbageConfig() {\r\n\t }\r\n\t GarbageConfig.config = [\r\n\t { name: \"保鲜盒\", source: \"g00\", type: GarbageTypes.recoverableWaste, width: 129, height: 111 },\r\n\t { name: \"报纸\", source: \"g01\", type: GarbageTypes.recoverableWaste, width: 138, height: 144 },\r\n\t { name: \"贝壳\", source: \"g02\", type: GarbageTypes.dryWaste, width: 79, height: 117 },\r\n\t { name: \"冰箱\", source: \"g03\", type: GarbageTypes.recoverableWaste, width: 63, height: 151 },\r\n\t { name: \"菜梗菜叶\", source: \"g04\", type: GarbageTypes.wetWaste, width: 144, height: 98 },\r\n\t { name: \"残枝落叶\", source: \"g05\", type: GarbageTypes.wetWaste, width: 120, height: 99 },\r\n\t { name: \"茶叶渣\", source: \"g06\", type: GarbageTypes.wetWaste, width: 86, height: 96 },\r\n\t { name: \"尘土\", source: \"g07\", type: GarbageTypes.dryWaste, width: 109, height: 114 },\r\n\t { name: \"创口贴\", source: \"g08\", type: GarbageTypes.dryWaste, width: 112, height: 90 },\r\n\t { name: \"大骨头\", source: \"g09\", type: GarbageTypes.dryWaste, width: 89, height: 101 },\r\n\t { name: \"普通干电池\", source: \"g11\", type: GarbageTypes.dryWaste, width: 89, height: 131 },\r\n\t { name: \"方便面盒\", source: \"g12\", type: GarbageTypes.dryWaste, width: 89, height: 168 },\r\n\t { name: \"废弃食用油脂\", source: \"g13\", type: GarbageTypes.wetWaste, width: 131, height: 164 },\r\n\t { name: \"骨骼内脏\", source: \"g14\", type: GarbageTypes.wetWaste, width: 104, height: 82 },\r\n\t { name: \"锅具\", source: \"g15\", type: GarbageTypes.recoverableWaste, width: 119, height: 149 },\r\n\t { name: \"果核\", source: \"g16\", type: GarbageTypes.wetWaste, width: 99, height: 95 },\r\n\t { name: \"果皮\", source: \"g17\", type: GarbageTypes.wetWaste, width: 115, height: 127 },\r\n\t { name: \"化妆品\", source: \"g18\", type: GarbageTypes.harmfulWaste, width: 67, height: 151 },\r\n\t { name: \"鸡蛋壳\", source: \"g19\", type: GarbageTypes.wetWaste, width: 99, height: 107 },\r\n\t { name: \"剪刀\", source: \"g20\", type: GarbageTypes.recoverableWaste, width: 96, height: 127 },\r\n\t { name: \"胶带\", source: \"g21\", type: GarbageTypes.dryWaste, width: 87, height: 113 },\r\n\t { name: \"榴莲壳\", source: \"g22\", type: GarbageTypes.dryWaste, width: 136, height: 116 },\r\n\t { name: \"毛巾\", source: \"g23\", type: GarbageTypes.recoverableWaste, width: 108, height: 96 },\r\n\t { name: \"纽扣电池\", source: \"g24\", type: GarbageTypes.harmfulWaste, width: 87, height: 89 },\r\n\t { name: \"破旧陶瓷罐\", source: \"g25\", type: GarbageTypes.dryWaste, width: 110, height: 125 },\r\n\t { name: \"杀虫剂\", source: \"g26\", type: GarbageTypes.harmfulWaste, width: 64, height: 160 },\r\n\t { name: \"剩菜剩饭\", source: \"g27\", type: GarbageTypes.wetWaste, width: 128, height: 96 },\r\n\t { name: \"手机\", source: \"g28\", type: GarbageTypes.recoverableWaste, width: 82, height: 142 },\r\n\t { name: \"书本\", source: \"g29\", type: GarbageTypes.recoverableWaste, width: 106, height: 132 },\r\n\t { name: \"玻璃杯\", source: \"g30\", type: GarbageTypes.recoverableWaste, width: 62, height: 119 },\r\n\t { name: \"水银温度计\", source: \"g31\", type: GarbageTypes.harmfulWaste, width: 109, height: 162 },\r\n\t { name: \"水银血压计\", source: \"g32\", type: GarbageTypes.harmfulWaste, width: 115, height: 147 },\r\n\t { name: \"塑料桶\", source: \"g33\", type: GarbageTypes.recoverableWaste, width: 92, height: 131 },\r\n\t { name: \"卫生纸\", source: \"g34\", type: GarbageTypes.dryWaste, width: 92, height: 132 },\r\n\t { name: \"污染织物\", source: \"g35\", type: GarbageTypes.dryWaste, width: 128, height: 139 },\r\n\t { name: \"污染纸张\", source: \"g36\", type: GarbageTypes.dryWaste, width: 96, height: 136 },\r\n\t { name: \"洗衣机\", source: \"g37\", type: GarbageTypes.recoverableWaste, width: 87, height: 157 },\r\n\t { name: \"烟蒂\", source: \"g38\", type: GarbageTypes.dryWaste, width: 87, height: 124 },\r\n\t { name: \"药品\", source: \"g39\", type: GarbageTypes.harmfulWaste, width: 109, height: 131 },\r\n\t { name: \"药品包装\", source: \"g40\", type: GarbageTypes.harmfulWaste, width: 108, height: 125 },\r\n\t { name: \"椰子壳\", source: \"g41\", type: GarbageTypes.dryWaste, width: 104, height: 119 },\r\n\t { name: \"衣服\", source: \"g42\", type: GarbageTypes.recoverableWaste, width: 83, height: 137 },\r\n\t { name: \"衣架\", source: \"g43\", type: GarbageTypes.recoverableWaste, width: 132, height: 125 },\r\n\t { name: \"易拉罐\", source: \"g44\", type: GarbageTypes.recoverableWaste, width: 65, height: 133 },\r\n\t { name: \"荧光灯\", source: \"g45\", type: GarbageTypes.harmfulWaste, width: 90, height: 118 },\r\n\t { name: \"油漆桶\", source: \"g46\", type: GarbageTypes.harmfulWaste, width: 65, height: 143 },\r\n\t { name: \"一次性纸杯\", source: \"g47\", type: GarbageTypes.dryWaste, width: 76, height: 116 },\r\n\t { name: \"纸尿裤\", source: \"g48\", type: GarbageTypes.dryWaste, width: 93, height: 138 },\r\n\t { name: \"纸箱\", source: \"g49\", type: GarbageTypes.recoverableWaste, width: 112, height: 118 },\r\n\t { name: \"指甲油\", source: \"g50\", type: GarbageTypes.harmfulWaste, width: 64, height: 138 },\r\n\t ];\r\n\t return GarbageConfig;\r\n\t}());\r\n\t//# sourceMappingURL=GarbageConfig.js.map\n\n\tvar transStores = (function (list) {\r\n\t var tmp = [];\r\n\t var contains = function (val) {\r\n\t for (var _i = 0, tmp_1 = tmp; _i < tmp_1.length; _i++) {\r\n\t var i = tmp_1[_i];\r\n\t if (val.targetType == i.targetType && val.itemType == i.itemType && val.itemName == i.itemName)\r\n\t return true;\r\n\t }\r\n\t return false;\r\n\t };\r\n\t list.forEach(function (i) {\r\n\t if (!contains(i))\r\n\t tmp.push(i);\r\n\t });\r\n\t list = tmp;\r\n\t tmp = [];\r\n\t var nameList = [];\r\n\t var contains2 = function (val) {\r\n\t for (var _i = 0, tmp_2 = tmp; _i < tmp_2.length; _i++) {\r\n\t var i = tmp_2[_i];\r\n\t if (val.itemName == i.itemName) {\r\n\t nameList.push(i.itemName);\r\n\t return true;\r\n\t }\r\n\t }\r\n\t return false;\r\n\t };\r\n\t list.forEach(function (i) {\r\n\t if (!contains2(i))\r\n\t tmp.push(i);\r\n\t });\r\n\t list = tmp;\r\n\t list.forEach(function (i) {\r\n\t if (nameList.indexOf(i.itemName) != -1) {\r\n\t i.targetType = i.itemType;\r\n\t }\r\n\t });\r\n\t return list.map(function (i) {\r\n\t return {\r\n\t 'targetName': getTargetName(i.targetType),\r\n\t 'isCorrect': i.targetType == i.itemType,\r\n\t 'itemName': i.itemName,\r\n\t 'itemTypeName': getTargetName(i.itemType)\r\n\t };\r\n\t });\r\n\t});\r\n\tvar getTargetName = function (type) {\r\n\t switch (type) {\r\n\t case GarbageTypes.recoverableWaste:\r\n\t return '可回收物';\r\n\t case GarbageTypes.harmfulWaste:\r\n\t return '有害垃圾';\r\n\t case GarbageTypes.wetWaste:\r\n\t return '湿垃圾';\r\n\t case GarbageTypes.dryWaste:\r\n\t return '其他垃圾';\r\n\t }\r\n\t};\r\n\t//# sourceMappingURL=transStores.js.map\n\n\tvar checkHit = (function (view, rect) {\r\n\t var x = view.x, y = view.y;\r\n\t var _a = view.texture, width = _a.width, height = _a.height;\r\n\t if (x > rect.x && y > rect.y && (x + width) < (rect.x + rect.width) && (y + height) < (rect.y + rect.height)) {\r\n\t return true;\r\n\t }\r\n\t return false;\r\n\t});\r\n\t//# sourceMappingURL=checkHit.js.map\n\n\tvar removeChild = (function (d) {\r\n\t if (d && d.parent) {\r\n\t d.parent.removeChild(d);\r\n\t }\r\n\t});\r\n\t//# sourceMappingURL=removeChild.js.map\n\n\tvar removeEle = (function (e, arr) {\r\n\t var index = arr.indexOf(e);\r\n\t if (index >= 0) {\r\n\t arr.splice(index, 1);\r\n\t }\r\n\t});\r\n\t//# sourceMappingURL=removeEle.js.map\n\n\tvar shuffle = (function (arr) {\r\n\t var _a;\r\n\t var i = arr.length;\r\n\t while (i) {\r\n\t var j = Math.floor(Math.random() * i--);\r\n\t _a = [arr[i], arr[j]], arr[j] = _a[0], arr[i] = _a[1];\r\n\t }\r\n\t return arr;\r\n\t});\r\n\t//# sourceMappingURL=shuffle.js.map\n\n\tvar WrongTips = (function (_super) {\r\n\t tslib.__extends(WrongTips, _super);\r\n\t function WrongTips() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.img = new engine.Image();\r\n\t _this.img.texture = getTextureByName('wrongTips');\r\n\t _this.addChild(_this.img);\r\n\t _this.img.anchorX = 88 / 2;\r\n\t _this.img.anchorY = 85 / 2;\r\n\t _this.visible = false;\r\n\t return _this;\r\n\t }\r\n\t WrongTips.prototype.play = function (rect) {\r\n\t this.visible = true;\r\n\t if (props.sound) {\r\n\t playSound(\"wrongTipsMp3\");\r\n\t }\r\n\t var dur = 70;\r\n\t var stren = 20;\r\n\t engine.Tween.get(this.img).set({ x: 0, y: 0, scaleX: 1, scaleY: 1, alpha: 1 })\r\n\t .to({ x: stren }, dur)\r\n\t .to({ x: 0 }, dur)\r\n\t .to({ x: -stren }, dur)\r\n\t .to({ x: 0 }, dur)\r\n\t .wait(200)\r\n\t .to({ alpha: 0 }, 300);\r\n\t this.x = rect.x + 180;\r\n\t this.y = rect.y;\r\n\t };\r\n\t return WrongTips;\r\n\t}(engine.Sprite));\r\n\tvar getTargetRect = function (targetType, gameview) {\r\n\t switch (targetType) {\r\n\t case GarbageTypes.dryWaste:\r\n\t return gameview.dryWaste;\r\n\t case GarbageTypes.wetWaste:\r\n\t return gameview.wetWaste;\r\n\t case GarbageTypes.harmfulWaste:\r\n\t return gameview.harmfulWaste;\r\n\t case GarbageTypes.recoverableWaste:\r\n\t return gameview.recoverableWaste;\r\n\t }\r\n\t};\r\n\t//# sourceMappingURL=WrongTips.js.map\n\n\tvar Conveyors = (function (_super) {\r\n\t tslib.__extends(Conveyors, _super);\r\n\t function Conveyors(p) {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.conveyorsPool = [];\r\n\t _this.GarbageConfig = GarbageConfig.config;\r\n\t _this.datas = [];\r\n\t _this.wrapper = p;\r\n\t return _this;\r\n\t }\r\n\t Conveyors.prototype.initData = function (conveyor0, conveyor1) {\r\n\t this.conveyor0 = conveyor0;\r\n\t this.conveyor1 = conveyor1;\r\n\t };\r\n\t Conveyors.prototype.setDefault = function () {\r\n\t this.score = 0;\r\n\t this.conveyorsPool.push(this.conveyor0);\r\n\t this.conveyorsPool.push(this.conveyor1);\r\n\t var allConfigs = shuffle(this.GarbageConfig.concat([]));\r\n\t for (var i = 0; i < GarbageConfig.config.length; i++) {\r\n\t allConfigs[i].idx = i;\r\n\t allConfigs[i].isRight = false;\r\n\t allConfigs[i].isMistake = false;\r\n\t allConfigs[i].isOnStage = false;\r\n\t this.datas.push(allConfigs[i]);\r\n\t }\r\n\t for (var i = 0; i < 5; i++) {\r\n\t var data = this.datas[i];\r\n\t var view = new engine.Sprite(getTextureByName(data.source));\r\n\t view.isWrong = false;\r\n\t view.isRight = false;\r\n\t data.isOnStage = true;\r\n\t view.data = data;\r\n\t view.type = data.type;\r\n\t view.name = data.name;\r\n\t view.anchorX = data.width / 2;\r\n\t view.anchorY = data.height;\r\n\t view.x = -data.width / 2;\r\n\t view.y = -data.height + 40;\r\n\t this.conveyor1[\"idx\" + i].addChild(view);\r\n\t view.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDown_garbage, this);\r\n\t }\r\n\t };\r\n\t Conveyors.prototype.startConveyors = function () {\r\n\t this.setDefault();\r\n\t engine.gameStage.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);\r\n\t };\r\n\t Conveyors.prototype.onEnterFrame = function (ENTER_FRAME, onEnterFrame, arg2) {\r\n\t if (this.score == (props.maxScore || 100)) {\r\n\t this.gameOver();\r\n\t this.wrapper.stop();\r\n\t if (props.sound)\r\n\t playSound(\"gameOverMp3\");\r\n\t }\r\n\t this.conveyorsPool.forEach(function (conveyor) {\r\n\t conveyor.x -= props.speed || 3;\r\n\t });\r\n\t if (this.conveyorsPool[this.conveyorsPool.length - 1].x <= 764) {\r\n\t var conveyor = new Conveyor();\r\n\t conveyor.x = this.conveyorsPool[this.conveyorsPool.length - 1].x + 764;\r\n\t this.wrapper.addChild(conveyor);\r\n\t this.conveyorsPool.push(conveyor);\r\n\t }\r\n\t else {\r\n\t var dataList = [];\r\n\t for (var n = 0; n < this.datas.length; n++) {\r\n\t var dataItem = this.datas[n];\r\n\t if (!dataItem.isRight && !dataItem.isOnStage) {\r\n\t dataList.push(dataItem);\r\n\t }\r\n\t }\r\n\t var lastConveyor = this.conveyorsPool[this.conveyorsPool.length - 1];\r\n\t for (var m = 0; m < 5; m++) {\r\n\t if (!lastConveyor[\"idx\" + m].children[0]) {\r\n\t var data = dataList.shift();\r\n\t if (data) {\r\n\t data.isOnStage = true;\r\n\t var view = new engine.Sprite(getTextureByName(data.source));\r\n\t view.data = data;\r\n\t view.isWrong = false;\r\n\t view.isRight = false;\r\n\t view.type = data.type;\r\n\t view.name = data.name;\r\n\t view.anchorX = data.width / 2;\r\n\t view.anchorY = data.height;\r\n\t view.x = -data.width / 2;\r\n\t view.y = -data.height + 40;\r\n\t lastConveyor[\"idx\" + m].addChild(view);\r\n\t view.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDown_garbage, this);\r\n\t }\r\n\t else {\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t if (this.conveyorsPool[0].x < -750) {\r\n\t for (var k = 0; k < this.datas.length; k++) {\r\n\t var dataItem = this.datas[k];\r\n\t var idx4 = this.conveyorsPool[0][\"idx\" + 4];\r\n\t if (idx4.children[0]) {\r\n\t if (dataItem.name == idx4.children[0].name) {\r\n\t dataItem.isOnStage = false;\r\n\t removeEle(dataItem, this.datas);\r\n\t this.datas.push(dataItem);\r\n\t idx4.removeChild(idx4.children[0]);\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t this.conveyorsPool.shift();\r\n\t }\r\n\t else if (this.conveyorsPool[0].x < -600) {\r\n\t for (var k = 0; k < this.datas.length; k++) {\r\n\t var dataItem = this.datas[k];\r\n\t var idx3 = this.conveyorsPool[0][\"idx\" + 3];\r\n\t if (idx3.children[0]) {\r\n\t if (dataItem.name == idx3.children[0].name) {\r\n\t dataItem.isOnStage = false;\r\n\t removeEle(dataItem, this.datas);\r\n\t this.datas.push(dataItem);\r\n\t idx3.removeChild(idx3.children[0]);\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t else if (this.conveyorsPool[0].x < -450) {\r\n\t for (var k = 0; k < this.datas.length; k++) {\r\n\t var dataItem = this.datas[k];\r\n\t var idx2 = this.conveyorsPool[0][\"idx\" + 2];\r\n\t if (idx2.children[0]) {\r\n\t if (dataItem.name == idx2.children[0].name) {\r\n\t dataItem.isOnStage = false;\r\n\t removeEle(dataItem, this.datas);\r\n\t this.datas.push(dataItem);\r\n\t idx2.removeChild(idx2.children[0]);\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t else if (this.conveyorsPool[0].x < -300) {\r\n\t for (var k = 0; k < this.datas.length; k++) {\r\n\t var dataItem = this.datas[k];\r\n\t var idx1 = this.conveyorsPool[0][\"idx\" + 1];\r\n\t if (idx1.children[0]) {\r\n\t if (dataItem.name == idx1.children[0].name) {\r\n\t dataItem.isOnStage = false;\r\n\t removeEle(dataItem, this.datas);\r\n\t this.datas.push(dataItem);\r\n\t idx1.removeChild(idx1.children[0]);\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t else if (this.conveyorsPool[0].x < -150) {\r\n\t for (var k = 0; k < this.datas.length; k++) {\r\n\t var dataItem = this.datas[k];\r\n\t var idx0 = this.conveyorsPool[0][\"idx\" + 0];\r\n\t if (idx0.children[0]) {\r\n\t if (dataItem.name == idx0.children[0].name) {\r\n\t dataItem.isOnStage = false;\r\n\t removeEle(dataItem, this.datas);\r\n\t this.datas.push(dataItem);\r\n\t idx0.removeChild(idx0.children[0]);\r\n\t break;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t };\r\n\t Conveyors.prototype.addscore = function () {\r\n\t this.score += (props.onceScore || 2);\r\n\t engine.globalEvent.dispatchEvent('recycling-score-update', {\r\n\t score: this.score\r\n\t });\r\n\t };\r\n\t Conveyors.prototype.gameOver = function () {\r\n\t engine.gameStage.removeEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);\r\n\t engine.globalEvent.dispatchEvent('recycling-game-end', transStores(this.stores));\r\n\t };\r\n\t Conveyors.prototype.onDown_garbage = function (e) {\r\n\t if (this._currentDragView) {\r\n\t removeChild(this._currentDragView);\r\n\t }\r\n\t var target = e.target;\r\n\t var view = new engine.Sprite(target.texture);\r\n\t this._currentDragView = view;\r\n\t this._currentTarget = target;\r\n\t target.scaleX = target.scaleY = 0;\r\n\t this.wrapper.addChild(view);\r\n\t view.x = e.stageX - target.texture.width / 2;\r\n\t view.y = e.stageY - target.texture.height / 2;\r\n\t view.type = target['type'];\r\n\t view.name = target['name'];\r\n\t this.wrapper.addEventListener(engine.MouseEvent.MOUSE_UP, this.onStageMouseUp, this);\r\n\t this.wrapper.addEventListener(engine.MouseEvent.MOUSE_MOVE, this.onStageMouseMove, this);\r\n\t };\r\n\t Conveyors.prototype.onStageMouseMove = function (e) {\r\n\t var view = this._currentDragView;\r\n\t view.x = e.stageX - view.texture.width / 2;\r\n\t view.y = e.stageY - view.texture.height / 2;\r\n\t };\r\n\t Conveyors.prototype.onStageMouseUp = function (e) {\r\n\t var _this = this;\r\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_UP, this.onStageMouseUp, this);\r\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onStageMouseMove, this);\r\n\t if (!this._currentDragView)\r\n\t return;\r\n\t var result = this.checkHitRect();\r\n\t if (result) {\r\n\t if (result == this._currentDragView['type']) {\r\n\t this.addscore();\r\n\t this.wrapper.rightTips.play(getTargetRect(result, this.wrapper));\r\n\t this._currentTarget.data.isRight = true;\r\n\t }\r\n\t else {\r\n\t engine.Tween.get(this._currentTarget).to({ scaleX: 1, scaleY: 1 }, 300).call(function () { });\r\n\t this.wrapper.wrongTips.play(getTargetRect(result, this.wrapper));\r\n\t }\r\n\t this.stores.push({ targetType: result, itemType: this._currentDragView['type'], itemName: this._currentDragView['name'] });\r\n\t }\r\n\t else {\r\n\t engine.Tween.get(this._currentTarget).to({ scaleX: 1, scaleY: 1 }, 300).call(function () { });\r\n\t }\r\n\t this._currentDragView.anchorX = this._currentDragView.texture.width / 2;\r\n\t this._currentDragView.anchorY = this._currentDragView.texture.height / 2;\r\n\t engine.Tween.get(this._currentDragView).to({ scaleX: 0, scaleY: 0 }, 300).call(function () {\r\n\t removeChild(_this._currentDragView);\r\n\t });\r\n\t };\r\n\t Conveyors.prototype.clear = function () {\r\n\t this.conveyor0.x = 0;\r\n\t this.conveyor1.x = 764;\r\n\t this.conveyorsPool.forEach(function (i) {\r\n\t i.clear();\r\n\t });\r\n\t this.conveyorsPool = [];\r\n\t this.datas = [];\r\n\t this.stores = [];\r\n\t };\r\n\t Conveyors.prototype.timeout = function () {\r\n\t if (this._currentDragView) {\r\n\t removeChild(this._currentDragView);\r\n\t }\r\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_UP, this.onStageMouseUp, this);\r\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onStageMouseMove, this);\r\n\t this.gameOver();\r\n\t };\r\n\t Conveyors.prototype.checkHitRect = function () {\r\n\t if (checkHit(this._currentDragView, this.wrapper.wetWaste)) {\r\n\t return GarbageTypes.wetWaste;\r\n\t }\r\n\t if (checkHit(this._currentDragView, this.wrapper.harmfulWaste)) {\r\n\t return GarbageTypes.harmfulWaste;\r\n\t }\r\n\t if (checkHit(this._currentDragView, this.wrapper.dryWaste)) {\r\n\t return GarbageTypes.dryWaste;\r\n\t }\r\n\t if (checkHit(this._currentDragView, this.wrapper.recoverableWaste)) {\r\n\t return GarbageTypes.recoverableWaste;\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return Conveyors;\r\n\t}(engine.Sprite));\r\n\t//# sourceMappingURL=Conveyors.js.map\n\n\tvar uiConfig = (function () {\r\n\t return [\r\n\t {\r\n\t id: 'playBg',\r\n\t texture: 'playBg'\r\n\t },\r\n\t {\r\n\t id: 'idler0',\r\n\t texture: 'idlerWheel',\r\n\t pos: [75, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t {\r\n\t id: 'idler1',\r\n\t texture: 'idlerWheel',\r\n\t pos: [175, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t {\r\n\t id: 'idler2',\r\n\t texture: 'idlerWheel',\r\n\t pos: [275, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t {\r\n\t id: 'idler3',\r\n\t texture: 'idlerWheel',\r\n\t pos: [375, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t {\r\n\t id: 'idler4',\r\n\t texture: 'idlerWheel',\r\n\t pos: [475, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t {\r\n\t id: 'idler5',\r\n\t texture: 'idlerWheel',\r\n\t pos: [575, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t {\r\n\t id: 'idler6',\r\n\t texture: 'idlerWheel',\r\n\t pos: [675, 1038],\r\n\t anchor: [20, 21.5]\r\n\t },\r\n\t ];\r\n\t});\r\n\t//# sourceMappingURL=uiConfig.js.map\n\n\tvar getGuideInfo = (function () {\r\n\t try {\r\n\t if (window.localStorage && window.localStorage.getItem) {\r\n\t return localStorage.getItem('recyclingGuide');\r\n\t }\r\n\t else {\r\n\t return 0;\r\n\t }\r\n\t }\r\n\t catch (e) {\r\n\t console.log(\"getguideinfo--error\", e);\r\n\t return 0;\r\n\t }\r\n\t});\r\n\tvar setGuide = function () {\r\n\t try {\r\n\t if (window.localStorage && window.localStorage.setItem) {\r\n\t localStorage.setItem('recyclingGuide', '1');\r\n\t }\r\n\t }\r\n\t catch (e) {\r\n\t console.log(\"setguide--err\", e);\r\n\t }\r\n\t};\r\n\t//# sourceMappingURL=getGuideInfo.js.map\n\n\tvar createBg = (function (a) {\r\n\t if (a === void 0) { a = 1; }\r\n\t var rect = new engine.Graphics();\r\n\t rect.beginFill(0);\r\n\t rect.drawRect(0, 0, 750, 1624);\r\n\t rect.endFill();\r\n\t rect.alpha = a;\r\n\t return rect;\r\n\t});\r\n\t//# sourceMappingURL=createBg.js.map\n\n\tvar createImg = (function (texture) {\r\n\t return new engine.Sprite(getTextureByName(texture));\r\n\t});\r\n\t//# sourceMappingURL=createImg.js.map\n\n\tvar CountDownGroup = (function (_super) {\r\n\t tslib.__extends(CountDownGroup, _super);\r\n\t function CountDownGroup() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.addChild(createBg(.6));\r\n\t _this.num1 = createImg('num1');\r\n\t _this.num2 = createImg('num2');\r\n\t _this.num3 = createImg('num3');\r\n\t _this.go = createImg('go');\r\n\t _this.go.anchorX = 240;\r\n\t _this.go.anchorY = 171.5;\r\n\t _this.num1.anchorX = 125.5;\r\n\t _this.num1.anchorY = 189;\r\n\t _this.num2.anchorX = 149.5;\r\n\t _this.num2.anchorY = 191.5;\r\n\t _this.num3.anchorX = 148.5;\r\n\t _this.num3.anchorY = 191.5;\r\n\t _this.go.x = 750 / 2 - 240;\r\n\t _this.go.y = 525 - 171.5;\r\n\t _this.num1.x = 750 / 2 - 125.5;\r\n\t _this.num1.y = 529 - 189;\r\n\t _this.num2.x = 750 / 2 - 149.5;\r\n\t _this.num2.y = 526 - 191.5;\r\n\t _this.num3.x = 750 / 2 - 148.5;\r\n\t _this.num3.y = 525 - 191.5;\r\n\t _this.addChild(_this.num1);\r\n\t _this.addChild(_this.num2);\r\n\t _this.addChild(_this.num3);\r\n\t _this.addChild(_this.go);\r\n\t _this.visible = false;\r\n\t _this.reset();\r\n\t return _this;\r\n\t }\r\n\t CountDownGroup.prototype.reset = function () {\r\n\t this.go.alpha = this.num1.alpha = this.num2.alpha = this.num3.alpha = 0;\r\n\t this.go.scaleX = this.num1.scaleX = this.num2.scaleX = this.num3.scaleX = 3;\r\n\t this.go.scaleY = this.num1.scaleY = this.num2.scaleY = this.num3.scaleY = 3;\r\n\t };\r\n\t CountDownGroup.prototype.startCountDown = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t return [2, new Promise(function (r) {\r\n\t _this.reset();\r\n\t _this.visible = true;\r\n\t _this.num3.alpha = 1;\r\n\t var n3 = engine.Tween.get(_this.num3);\r\n\t if (props.sound) {\r\n\t playSound(\"numCountDown\");\r\n\t }\r\n\t n3.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(function () {\r\n\t _this.num2.alpha = 1;\r\n\t var n2 = engine.Tween.get(_this.num2);\r\n\t if (props.sound) {\r\n\t playSound(\"numCountDown\");\r\n\t }\r\n\t n2.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(function () {\r\n\t _this.num1.alpha = 1;\r\n\t var n1 = engine.Tween.get(_this.num1);\r\n\t if (props.sound) {\r\n\t playSound(\"numCountDown\");\r\n\t }\r\n\t n1.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(function () {\r\n\t _this.go.alpha = 1;\r\n\t var go = engine.Tween.get(_this.go);\r\n\t if (props.sound) {\r\n\t if (props.sound)\r\n\t playSound(\"goMp3\");\r\n\t }\r\n\t go.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).call(function () {\r\n\t _this.visible = false;\r\n\t r();\r\n\t });\r\n\t });\r\n\t });\r\n\t });\r\n\t })];\r\n\t });\r\n\t });\r\n\t };\r\n\t return CountDownGroup;\r\n\t}(engine.Sprite));\r\n\t//# sourceMappingURL=CountDownGroup.js.map\n\n\tvar GuideView = (function (_super) {\r\n\t tslib.__extends(GuideView, _super);\r\n\t function GuideView() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.initUI();\r\n\t _this.visible = false;\r\n\t return _this;\r\n\t }\r\n\t GuideView.prototype.initUI = function () {\r\n\t this.addChild(createBg(.6));\r\n\t this.guideBg = createImg('guideBg');\r\n\t this.addChild(this.guideBg);\r\n\t this.guideEle = createImg('guideEle');\r\n\t this.addChild(this.guideEle);\r\n\t this.guideBg.x = 403;\r\n\t this.guideBg.y = 565;\r\n\t this.guideEle.x = 361;\r\n\t this.guideEle.y = 877;\r\n\t this.guideEle.anchorX = 14;\r\n\t this.guideEle.anchorY = 88;\r\n\t this.guideEle.mouseEnabled = this.guideEle.mouseChildren = true;\r\n\t var svga = createSvga(\"guideTips\");\r\n\t this.svga = svga;\r\n\t this.addChild(svga);\r\n\t svga.gotoAndStop(1);\r\n\t svga.mouseEnabled = svga.mouseChildren = false;\r\n\t };\r\n\t GuideView.prototype.checkHit = function (x, y, w, h) {\r\n\t var rect = new engine.Rectangle(403, 565, 252, 297);\r\n\t if (x > rect.x && y > rect.y && (x + w) < (rect.x + rect.width) && (y + h) < (rect.y + rect.height)) {\r\n\t return true;\r\n\t }\r\n\t return false;\r\n\t };\r\n\t GuideView.prototype.startGuide = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t return [2, new Promise(function (r) {\r\n\t _this.visible = true;\r\n\t _this.svga.gotoAndStop(1);\r\n\t _this.svga.play(false, true);\r\n\t _this.guideEle.scaleX = 1;\r\n\t _this.guideEle.scaleY = 1;\r\n\t var offset = [0, 0];\r\n\t var guideOver = function () {\r\n\t _this.guideEle.removeEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, _this);\r\n\t _this.guideEle.anchorX = 14;\r\n\t _this.guideEle.anchorY = 44;\r\n\t engine.Tween.get(_this.guideEle).to({ scaleX: 0, scaleY: 0 }, 300).call(function () {\r\n\t _this.visible = false;\r\n\t r();\r\n\t });\r\n\t };\r\n\t var onUp = function (e) {\r\n\t _this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, _this);\r\n\t if (_this.checkHit(_this.guideEle.x, _this.guideEle.y, _this.guideEle.width, _this.guideEle.height)) {\r\n\t guideOver();\r\n\t }\r\n\t else {\r\n\t _this.svga.visible = true;\r\n\t _this.guideEle.x = 361;\r\n\t _this.guideEle.y = 877;\r\n\t engine.Tween.get(_this.guideEle).set({ scaleX: 0, scaleY: 0 }).to({ scaleX: 1, scaleY: 1 }, 300);\r\n\t }\r\n\t };\r\n\t var onMove = function (e) {\r\n\t _this.guideEle.x = e.stageX - offset[0];\r\n\t _this.guideEle.y = e.stageY - offset[1];\r\n\t };\r\n\t var ondown = function (e) {\r\n\t offset = [e.localX, e.localY];\r\n\t _this.svga.visible = false;\r\n\t _this.stage.once(engine.MouseEvent.MOUSE_UP, onUp, _this);\r\n\t _this.stage.addEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, _this);\r\n\t };\r\n\t _this.guideEle.addEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, _this);\r\n\t })];\r\n\t });\r\n\t });\r\n\t };\r\n\t return GuideView;\r\n\t}(engine.Sprite));\r\n\t//# sourceMappingURL=guideView.js.map\n\n\tvar RightTips = (function (_super) {\r\n\t tslib.__extends(RightTips, _super);\r\n\t function RightTips() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.SCORE = props.onceScore || 2;\r\n\t _this.img = new engine.Image();\r\n\t _this.img.texture = getTextureByName('rightTips');\r\n\t _this.addChild(_this.img);\r\n\t _this.img.anchorX = 88 / 2;\r\n\t _this.img.anchorY = 85 / 2;\r\n\t _this.visible = false;\r\n\t _this.txt = new engine.TextField();\r\n\t _this.addChild(_this.txt);\r\n\t _this.txt.text = '+' + _this.SCORE;\r\n\t _this.txt.size = 60;\r\n\t _this.txt.fillColor = '#437726';\r\n\t engine.playSound;\r\n\t return _this;\r\n\t }\r\n\t RightTips.prototype.play = function (rect) {\r\n\t if (props.sound) {\r\n\t playSound(\"rightTipsSound\");\r\n\t }\r\n\t this.visible = true;\r\n\t this.txt.x = 100;\r\n\t engine.Tween.get(this.txt).set({ y: 60, alpha: 1 })\r\n\t .to({ y: -50 }, 500)\r\n\t .to({ alpha: 0 });\r\n\t engine.Tween.get(this.img).set({ x: 0, y: 0, scaleX: 0, scaleY: 0, alpha: 1 })\r\n\t .to({ scaleX: 1, scaleY: 1 }, 200, engine.Ease.getBackOut(1))\r\n\t .wait(200)\r\n\t .to({ alpha: 0 }, 300);\r\n\t this.x = rect.x + 180;\r\n\t this.y = rect.y;\r\n\t };\r\n\t return RightTips;\r\n\t}(engine.Sprite));\r\n\t//# sourceMappingURL=RightTips.js.map\n\n\tvar GameView = (function (_super) {\r\n\t tslib.__extends(GameView, _super);\r\n\t function GameView() {\r\n\t var _this = _super.call(this) || this;\r\n\t _this._timeCounter = 0;\r\n\t _this.guidenew = false;\r\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\r\n\t return _this;\r\n\t }\r\n\t GameView.prototype.configUI = function () {\r\n\t var uiMap = {};\r\n\t this.uiMap = uiMap;\r\n\t var config = uiConfig();\r\n\t for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {\r\n\t var item = config_1[_i];\r\n\t var id = item.id, texture = item.texture, pos = item.pos, anchor = item.anchor;\r\n\t var sp = new engine.Sprite(getTextureByName(texture));\r\n\t this.addChild(sp);\r\n\t uiMap[id] = sp;\r\n\t if (anchor) {\r\n\t sp.anchorX = anchor[0];\r\n\t sp.anchorY = anchor[1];\r\n\t }\r\n\t if (pos) {\r\n\t sp.x = pos[0];\r\n\t sp.y = pos[1];\r\n\t if (anchor) {\r\n\t sp.x = pos[0] - sp.anchorX;\r\n\t sp.y = pos[1] - sp.anchorY;\r\n\t }\r\n\t }\r\n\t }\r\n\t this.configConveyors();\r\n\t this.createRects();\r\n\t this.countdown = new CountDownGroup();\r\n\t this.addChild(this.countdown);\r\n\t this.guide = new GuideView();\r\n\t this.addChild(this.guide);\r\n\t this.wrongTips = new WrongTips();\r\n\t this.rightTips = new RightTips();\r\n\t this.addChild(this.wrongTips);\r\n\t this.addChild(this.rightTips);\r\n\t };\r\n\t GameView.prototype.createRects = function () {\r\n\t this.wetWaste = this.createRect(104, 565, 252, 297, 0xffffff);\r\n\t this.harmfulWaste = this.createRect(104, 232, 252, 297, 0xff0000);\r\n\t this.dryWaste = this.createRect(403, 232, 252, 297, 0x000000);\r\n\t this.recoverableWaste = this.createRect(403, 565, 252, 297, 0x0000ff);\r\n\t };\r\n\t GameView.prototype.createRect = function (x, y, w, h, c) {\r\n\t var rect = new engine.Rectangle(x, y, w, h);\r\n\t var sp = new engine.Sprite();\r\n\t this.addChild(sp);\r\n\t sp.x = x;\r\n\t sp.y = y;\r\n\t var g = new engine.Graphics;\r\n\t g.alpha = 0.0;\r\n\t g.beginFill(c);\r\n\t g.drawRect(0, 0, w, h);\r\n\t g.endFill();\r\n\t sp.addChild(g);\r\n\t return rect;\r\n\t };\r\n\t GameView.prototype.configConveyors = function () {\r\n\t var conveyor0 = new Conveyor();\r\n\t var conveyor1 = new Conveyor();\r\n\t this.addChild(conveyor0);\r\n\t this.addChild(conveyor1);\r\n\t conveyor0.x = 0;\r\n\t conveyor1.x = 764;\r\n\t this.conveyors = new Conveyors(this);\r\n\t this.conveyors.initData(conveyor0, conveyor1);\r\n\t };\r\n\t GameView.prototype.playAni = function () {\r\n\t var _this = this;\r\n\t var idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\r\n\t idlerWheels = idlerWheels.map(function (i) { return _this.uiMap[i]; });\r\n\t idlerWheels.forEach(function (i) {\r\n\t engine.Tween.get(i, { loop: true }).to({ rotation: -360 }, 1000);\r\n\t });\r\n\t };\r\n\t GameView.prototype.stopAni = function () {\r\n\t var _this = this;\r\n\t var idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\r\n\t idlerWheels = idlerWheels.map(function (i) { return _this.uiMap[i]; });\r\n\t idlerWheels.forEach(function (i) {\r\n\t engine.Tween.removeTweens(i);\r\n\t });\r\n\t };\r\n\t GameView.prototype.start = function () {\r\n\t return tslib.__awaiter(this, void 0, void 0, function () {\r\n\t var _this = this;\r\n\t return tslib.__generator(this, function (_a) {\r\n\t switch (_a.label) {\r\n\t case 0:\r\n\t this._timeCounter = 0;\r\n\t if (!(!getGuideInfo() && !this.guidenew)) return [3, 2];\r\n\t return [4, this.guide.startGuide()];\r\n\t case 1:\r\n\t _a.sent();\r\n\t setGuide();\r\n\t this.guidenew = true;\r\n\t _a.label = 2;\r\n\t case 2:\r\n\t this.conveyors.clear();\r\n\t return [4, this.countdown.startCountDown()];\r\n\t case 3:\r\n\t _a.sent();\r\n\t this.startGame();\r\n\t engine.globalEvent.dispatchEvent('recycling-time-update', {\r\n\t second: this.getSecond(),\r\n\t });\r\n\t this._timer = setInterval(function () {\r\n\t _this.onTimer();\r\n\t }, 1000);\r\n\t return [2];\r\n\t }\r\n\t });\r\n\t });\r\n\t };\r\n\t GameView.prototype.startGame = function () {\r\n\t this.playAni();\r\n\t this.conveyors.startConveyors();\r\n\t };\r\n\t GameView.prototype.stopGame = function () {\r\n\t this.stopAni();\r\n\t };\r\n\t GameView.prototype.getSecond = function () {\r\n\t return props.time - this._timeCounter;\r\n\t };\r\n\t GameView.prototype.onTimer = function () {\r\n\t this._timeCounter++;\r\n\t engine.globalEvent.dispatchEvent('recycling-time-update', {\r\n\t second: this.getSecond(),\r\n\t });\r\n\t if (this.getSecond() == 0) {\r\n\t this.stop();\r\n\t this.conveyors.timeout();\r\n\t if (props.sound)\r\n\t playSound(\"gameOverMp3\");\r\n\t }\r\n\t };\r\n\t GameView.prototype.stop = function () {\r\n\t clearInterval(this._timer);\r\n\t this.stopGame();\r\n\t };\r\n\t GameView.prototype.setup = function () {\r\n\t console.log('onSteup', props);\r\n\t this.configUI();\r\n\t };\r\n\t GameView.prototype.onDown = function (e) {\r\n\t };\r\n\t GameView.prototype.stageOnUp = function (e) {\r\n\t };\r\n\t GameView.prototype.onSuccess = function () {\r\n\t };\r\n\t GameView.prototype.onMove = function (e) {\r\n\t };\r\n\t return GameView;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameView.js.map\n\n\tvar GameWrapper = (function (_super) {\r\n\t tslib.__extends(GameWrapper, _super);\r\n\t function GameWrapper() {\r\n\t var _this = _super.call(this) || this;\r\n\t engine.globalEvent.addEventListener('recycling-start', _this.start, _this);\r\n\t engine.globalEvent.addEventListener('recycling-sound-update', _this.updateSound, _this);\r\n\t engine.globalEvent.addEventListener('recycling-stop', _this.stop, _this);\r\n\t var gameView = _this._gameView = new GameView();\r\n\t _this.addChild(gameView);\r\n\t return _this;\r\n\t }\r\n\t GameWrapper.prototype.updateSound = function (event) {\r\n\t injectProps(event.data);\r\n\t };\r\n\t GameWrapper.prototype.start = function (event) {\r\n\t injectProps(event.data);\r\n\t this._gameView.start();\r\n\t };\r\n\t GameWrapper.prototype.stop = function (event) {\r\n\t this._gameView.stop();\r\n\t };\r\n\t return GameWrapper;\r\n\t}(engine.Container));\r\n\t//# sourceMappingURL=GameWrapper.js.map\n\n\tfunction index (props) {\r\n\t prepareProps();\r\n\t injectProps(props);\r\n\t var instance = new GameWrapper();\r\n\t return instance;\r\n\t}\r\n\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n" "code": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :\n\ttypeof define === 'function' && define.amd ? define(['tslib'], factory) :\n\t(global = global || self, global.recycling = factory(global.tslib));\n}(this, (function (tslib) { 'use strict';\n\n\tfunction getTexture(uuid) {\n\t return engine.Texture.from(getAssetByUUID(uuid).uuid);\n\t}\n\tfunction getTextureByName(name) {\n\t return getTexture(engine.getAssetByName(name).uuid);\n\t}\n\tfunction playSound(name) {\n\t engine.playSound(engine.getAssetByName(name).uuid, { keep: true });\n\t}\n\tfunction createSvga(name, anchorName) {\n\t var inst = new svga.Svga();\n\t inst.source = 'asset://' + engine.getAssetByName(name).uuid;\n\t return inst;\n\t}\n\t//# sourceMappingURL=utils.js.map\n\n\tvar props = {};\n\tfunction prepareProps() {\n\t var metaProps = getProps();\n\t engine.injectProp(props, metaProps);\n\t}\n\tfunction injectProps(p) {\n\t engine.injectProp(props, p);\n\t}\n\t//# sourceMappingURL=props.js.map\n\n\tvar Conveyor = (function (_super) {\n\t tslib.__extends(Conveyor, _super);\n\t function Conveyor() {\n\t var _this = _super.call(this) || this;\n\t _this.y = 904.21;\n\t var sp = new engine.Sprite(getTextureByName('conveyor'));\n\t _this.addChild(sp);\n\t _this.idx0 = _this.createItem(75, 50);\n\t _this.idx1 = _this.createItem(225, 50);\n\t _this.idx2 = _this.createItem(375, 50);\n\t _this.idx3 = _this.createItem(525, 50);\n\t _this.idx4 = _this.createItem(675, 50);\n\t return _this;\n\t }\n\t Conveyor.prototype.clear = function () {\n\t this.clearItem(this.idx0);\n\t this.clearItem(this.idx1);\n\t this.clearItem(this.idx2);\n\t this.clearItem(this.idx3);\n\t this.clearItem(this.idx4);\n\t };\n\t Conveyor.prototype.clearItem = function (idx) {\n\t if (idx.children.length > 0)\n\t idx.removeChildAt(0);\n\t };\n\t Conveyor.prototype.createItem = function (x, y) {\n\t var sp = new engine.Sprite();\n\t this.addChild(sp);\n\t sp.x = x;\n\t sp.y = y;\n\t return sp;\n\t };\n\t return Conveyor;\n\t}(engine.Sprite));\n\t//# sourceMappingURL=Conveyor.js.map\n\n\tvar GarbageTypes;\n\t(function (GarbageTypes) {\n\t GarbageTypes[\"recoverableWaste\"] = \"recoverableWaste\";\n\t GarbageTypes[\"harmfulWaste\"] = \"harmfulWaste\";\n\t GarbageTypes[\"wetWaste\"] = \"wetWaste\";\n\t GarbageTypes[\"dryWaste\"] = \"dryWaste\";\n\t})(GarbageTypes || (GarbageTypes = {}));\n\t//# sourceMappingURL=GarbageTypes.js.map\n\n\tvar GarbageConfig = (function () {\n\t function GarbageConfig() {\n\t }\n\t GarbageConfig.config = [\n\t { name: \"保鲜盒\", source: \"g00\", type: GarbageTypes.recoverableWaste, width: 129, height: 111 },\n\t { name: \"报纸\", source: \"g01\", type: GarbageTypes.recoverableWaste, width: 138, height: 144 },\n\t { name: \"贝壳\", source: \"g02\", type: GarbageTypes.dryWaste, width: 79, height: 117 },\n\t { name: \"冰箱\", source: \"g03\", type: GarbageTypes.recoverableWaste, width: 63, height: 151 },\n\t { name: \"菜梗菜叶\", source: \"g04\", type: GarbageTypes.wetWaste, width: 144, height: 98 },\n\t { name: \"残枝落叶\", source: \"g05\", type: GarbageTypes.wetWaste, width: 120, height: 99 },\n\t { name: \"茶叶渣\", source: \"g06\", type: GarbageTypes.wetWaste, width: 86, height: 96 },\n\t { name: \"尘土\", source: \"g07\", type: GarbageTypes.dryWaste, width: 109, height: 114 },\n\t { name: \"创口贴\", source: \"g08\", type: GarbageTypes.dryWaste, width: 112, height: 90 },\n\t { name: \"大骨头\", source: \"g09\", type: GarbageTypes.dryWaste, width: 89, height: 101 },\n\t { name: \"普通干电池\", source: \"g11\", type: GarbageTypes.dryWaste, width: 89, height: 131 },\n\t { name: \"方便面盒\", source: \"g12\", type: GarbageTypes.dryWaste, width: 89, height: 168 },\n\t { name: \"废弃食用油脂\", source: \"g13\", type: GarbageTypes.wetWaste, width: 131, height: 164 },\n\t { name: \"骨骼内脏\", source: \"g14\", type: GarbageTypes.wetWaste, width: 104, height: 82 },\n\t { name: \"锅具\", source: \"g15\", type: GarbageTypes.recoverableWaste, width: 119, height: 149 },\n\t { name: \"果核\", source: \"g16\", type: GarbageTypes.wetWaste, width: 99, height: 95 },\n\t { name: \"果皮\", source: \"g17\", type: GarbageTypes.wetWaste, width: 115, height: 127 },\n\t { name: \"化妆品\", source: \"g18\", type: GarbageTypes.harmfulWaste, width: 67, height: 151 },\n\t { name: \"鸡蛋壳\", source: \"g19\", type: GarbageTypes.wetWaste, width: 99, height: 107 },\n\t { name: \"剪刀\", source: \"g20\", type: GarbageTypes.recoverableWaste, width: 96, height: 127 },\n\t { name: \"胶带\", source: \"g21\", type: GarbageTypes.dryWaste, width: 87, height: 113 },\n\t { name: \"榴莲壳\", source: \"g22\", type: GarbageTypes.dryWaste, width: 136, height: 116 },\n\t { name: \"毛巾\", source: \"g23\", type: GarbageTypes.recoverableWaste, width: 108, height: 96 },\n\t { name: \"纽扣电池\", source: \"g24\", type: GarbageTypes.harmfulWaste, width: 87, height: 89 },\n\t { name: \"破旧陶瓷罐\", source: \"g25\", type: GarbageTypes.dryWaste, width: 110, height: 125 },\n\t { name: \"杀虫剂\", source: \"g26\", type: GarbageTypes.harmfulWaste, width: 64, height: 160 },\n\t { name: \"剩菜剩饭\", source: \"g27\", type: GarbageTypes.wetWaste, width: 128, height: 96 },\n\t { name: \"手机\", source: \"g28\", type: GarbageTypes.recoverableWaste, width: 82, height: 142 },\n\t { name: \"书本\", source: \"g29\", type: GarbageTypes.recoverableWaste, width: 106, height: 132 },\n\t { name: \"玻璃杯\", source: \"g30\", type: GarbageTypes.recoverableWaste, width: 62, height: 119 },\n\t { name: \"水银温度计\", source: \"g31\", type: GarbageTypes.harmfulWaste, width: 109, height: 162 },\n\t { name: \"水银血压计\", source: \"g32\", type: GarbageTypes.harmfulWaste, width: 115, height: 147 },\n\t { name: \"塑料桶\", source: \"g33\", type: GarbageTypes.recoverableWaste, width: 92, height: 131 },\n\t { name: \"卫生纸\", source: \"g34\", type: GarbageTypes.dryWaste, width: 92, height: 132 },\n\t { name: \"污染织物\", source: \"g35\", type: GarbageTypes.dryWaste, width: 128, height: 139 },\n\t { name: \"污染纸张\", source: \"g36\", type: GarbageTypes.dryWaste, width: 96, height: 136 },\n\t { name: \"洗衣机\", source: \"g37\", type: GarbageTypes.recoverableWaste, width: 87, height: 157 },\n\t { name: \"烟蒂\", source: \"g38\", type: GarbageTypes.dryWaste, width: 87, height: 124 },\n\t { name: \"药品\", source: \"g39\", type: GarbageTypes.harmfulWaste, width: 109, height: 131 },\n\t { name: \"药品包装\", source: \"g40\", type: GarbageTypes.harmfulWaste, width: 108, height: 125 },\n\t { name: \"椰子壳\", source: \"g41\", type: GarbageTypes.dryWaste, width: 104, height: 119 },\n\t { name: \"衣服\", source: \"g42\", type: GarbageTypes.recoverableWaste, width: 83, height: 137 },\n\t { name: \"衣架\", source: \"g43\", type: GarbageTypes.recoverableWaste, width: 132, height: 125 },\n\t { name: \"易拉罐\", source: \"g44\", type: GarbageTypes.recoverableWaste, width: 65, height: 133 },\n\t { name: \"荧光灯\", source: \"g45\", type: GarbageTypes.harmfulWaste, width: 90, height: 118 },\n\t { name: \"油漆桶\", source: \"g46\", type: GarbageTypes.harmfulWaste, width: 65, height: 143 },\n\t { name: \"一次性纸杯\", source: \"g47\", type: GarbageTypes.dryWaste, width: 76, height: 116 },\n\t { name: \"纸尿裤\", source: \"g48\", type: GarbageTypes.dryWaste, width: 93, height: 138 },\n\t { name: \"纸箱\", source: \"g49\", type: GarbageTypes.recoverableWaste, width: 112, height: 118 },\n\t { name: \"指甲油\", source: \"g50\", type: GarbageTypes.harmfulWaste, width: 64, height: 138 },\n\t ];\n\t return GarbageConfig;\n\t}());\n\t//# sourceMappingURL=GarbageConfig.js.map\n\n\tvar transStores = (function (list) {\n\t var tmp = [];\n\t var contains = function (val) {\n\t for (var _i = 0, tmp_1 = tmp; _i < tmp_1.length; _i++) {\n\t var i = tmp_1[_i];\n\t if (val.targetType == i.targetType && val.itemType == i.itemType && val.itemName == i.itemName)\n\t return true;\n\t }\n\t return false;\n\t };\n\t list.forEach(function (i) {\n\t if (!contains(i))\n\t tmp.push(i);\n\t });\n\t list = tmp;\n\t tmp = [];\n\t var nameList = [];\n\t var contains2 = function (val) {\n\t for (var _i = 0, tmp_2 = tmp; _i < tmp_2.length; _i++) {\n\t var i = tmp_2[_i];\n\t if (val.itemName == i.itemName) {\n\t nameList.push(i.itemName);\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t list.forEach(function (i) {\n\t if (!contains2(i))\n\t tmp.push(i);\n\t });\n\t list = tmp;\n\t list.forEach(function (i) {\n\t if (nameList.indexOf(i.itemName) != -1) {\n\t i.targetType = i.itemType;\n\t }\n\t });\n\t return list.map(function (i) {\n\t return {\n\t 'targetName': getTargetName(i.targetType),\n\t 'isCorrect': i.targetType == i.itemType,\n\t 'itemName': i.itemName,\n\t 'itemTypeName': getTargetName(i.itemType)\n\t };\n\t });\n\t});\n\tvar getTargetName = function (type) {\n\t switch (type) {\n\t case GarbageTypes.recoverableWaste:\n\t return '可回收物';\n\t case GarbageTypes.harmfulWaste:\n\t return '有害垃圾';\n\t case GarbageTypes.wetWaste:\n\t return '湿垃圾';\n\t case GarbageTypes.dryWaste:\n\t return '其他垃圾';\n\t }\n\t};\n\t//# sourceMappingURL=transStores.js.map\n\n\tvar checkHit = (function (view, rect) {\n\t var x = view.x, y = view.y;\n\t var _a = view.texture, width = _a.width, height = _a.height;\n\t if (x > rect.x && y > rect.y && (x + width) < (rect.x + rect.width) && (y + height) < (rect.y + rect.height)) {\n\t return true;\n\t }\n\t return false;\n\t});\n\t//# sourceMappingURL=checkHit.js.map\n\n\tvar removeChild = (function (d) {\n\t if (d && d.parent) {\n\t d.parent.removeChild(d);\n\t }\n\t});\n\t//# sourceMappingURL=removeChild.js.map\n\n\tvar removeEle = (function (e, arr) {\n\t var index = arr.indexOf(e);\n\t if (index >= 0) {\n\t arr.splice(index, 1);\n\t }\n\t});\n\t//# sourceMappingURL=removeEle.js.map\n\n\tvar shuffle = (function (arr) {\n\t var _a;\n\t var i = arr.length;\n\t while (i) {\n\t var j = Math.floor(Math.random() * i--);\n\t _a = [arr[i], arr[j]], arr[j] = _a[0], arr[i] = _a[1];\n\t }\n\t return arr;\n\t});\n\t//# sourceMappingURL=shuffle.js.map\n\n\tvar WrongTips = (function (_super) {\n\t tslib.__extends(WrongTips, _super);\n\t function WrongTips() {\n\t var _this = _super.call(this) || this;\n\t _this.img = new engine.Image();\n\t _this.img.texture = getTextureByName('wrongTips');\n\t _this.addChild(_this.img);\n\t _this.img.anchorX = 88 / 2;\n\t _this.img.anchorY = 85 / 2;\n\t _this.visible = false;\n\t return _this;\n\t }\n\t WrongTips.prototype.play = function (rect) {\n\t this.visible = true;\n\t if (props.sound) {\n\t playSound(\"wrongTipsMp3\");\n\t }\n\t var dur = 70;\n\t var stren = 20;\n\t engine.Tween.get(this.img).set({ x: 0, y: 0, scaleX: 1, scaleY: 1, alpha: 1 })\n\t .to({ x: stren }, dur)\n\t .to({ x: 0 }, dur)\n\t .to({ x: -stren }, dur)\n\t .to({ x: 0 }, dur)\n\t .wait(200)\n\t .to({ alpha: 0 }, 300);\n\t this.x = rect.x + 180;\n\t this.y = rect.y;\n\t };\n\t return WrongTips;\n\t}(engine.Sprite));\n\tvar getTargetRect = function (targetType, gameview) {\n\t switch (targetType) {\n\t case GarbageTypes.dryWaste:\n\t return gameview.dryWaste;\n\t case GarbageTypes.wetWaste:\n\t return gameview.wetWaste;\n\t case GarbageTypes.harmfulWaste:\n\t return gameview.harmfulWaste;\n\t case GarbageTypes.recoverableWaste:\n\t return gameview.recoverableWaste;\n\t }\n\t};\n\t//# sourceMappingURL=WrongTips.js.map\n\n\tvar Conveyors = (function (_super) {\n\t tslib.__extends(Conveyors, _super);\n\t function Conveyors(p) {\n\t var _this = _super.call(this) || this;\n\t _this.conveyorsPool = [];\n\t _this.GarbageConfig = GarbageConfig.config;\n\t _this.datas = [];\n\t _this.wrapper = p;\n\t return _this;\n\t }\n\t Conveyors.prototype.initData = function (conveyor0, conveyor1) {\n\t this.conveyor0 = conveyor0;\n\t this.conveyor1 = conveyor1;\n\t };\n\t Conveyors.prototype.setDefault = function () {\n\t this.score = 0;\n\t this.conveyorsPool.push(this.conveyor0);\n\t this.conveyorsPool.push(this.conveyor1);\n\t var allConfigs = shuffle(this.GarbageConfig.concat([]));\n\t for (var i = 0; i < GarbageConfig.config.length; i++) {\n\t allConfigs[i].idx = i;\n\t allConfigs[i].isRight = false;\n\t allConfigs[i].isMistake = false;\n\t allConfigs[i].isOnStage = false;\n\t this.datas.push(allConfigs[i]);\n\t }\n\t for (var i = 0; i < 5; i++) {\n\t var data = this.datas[i];\n\t var view = new engine.Sprite(getTextureByName(data.source));\n\t view.isWrong = false;\n\t view.isRight = false;\n\t data.isOnStage = true;\n\t view.data = data;\n\t view.type = data.type;\n\t view.name = data.name;\n\t view.anchorX = data.width / 2;\n\t view.anchorY = data.height;\n\t view.x = -data.width / 2;\n\t view.y = -data.height + 40;\n\t this.conveyor1[\"idx\" + i].addChild(view);\n\t view.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDown_garbage, this);\n\t }\n\t };\n\t Conveyors.prototype.startConveyors = function () {\n\t this.setDefault();\n\t engine.gameStage.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);\n\t };\n\t Conveyors.prototype.onEnterFrame = function (ENTER_FRAME, onEnterFrame, arg2) {\n\t if (this.score == (props.maxScore || 100)) {\n\t this.gameOver();\n\t this.wrapper.stop();\n\t if (props.sound)\n\t playSound(\"gameOverMp3\");\n\t }\n\t this.conveyorsPool.forEach(function (conveyor) {\n\t conveyor.x -= props.speed || 3;\n\t });\n\t if (this.conveyorsPool[this.conveyorsPool.length - 1].x <= 764) {\n\t var conveyor = new Conveyor();\n\t conveyor.x = this.conveyorsPool[this.conveyorsPool.length - 1].x + 764;\n\t this.wrapper.addChild(conveyor);\n\t this.conveyorsPool.push(conveyor);\n\t }\n\t else {\n\t var dataList = [];\n\t for (var n = 0; n < this.datas.length; n++) {\n\t var dataItem = this.datas[n];\n\t if (!dataItem.isRight && !dataItem.isOnStage) {\n\t dataList.push(dataItem);\n\t }\n\t }\n\t var lastConveyor = this.conveyorsPool[this.conveyorsPool.length - 1];\n\t for (var m = 0; m < 5; m++) {\n\t if (!lastConveyor[\"idx\" + m].children[0]) {\n\t var data = dataList.shift();\n\t if (data) {\n\t data.isOnStage = true;\n\t var view = new engine.Sprite(getTextureByName(data.source));\n\t view.data = data;\n\t view.isWrong = false;\n\t view.isRight = false;\n\t view.type = data.type;\n\t view.name = data.name;\n\t view.anchorX = data.width / 2;\n\t view.anchorY = data.height;\n\t view.x = -data.width / 2;\n\t view.y = -data.height + 40;\n\t lastConveyor[\"idx\" + m].addChild(view);\n\t view.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDown_garbage, this);\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t if (this.conveyorsPool[0].x < -750) {\n\t for (var k = 0; k < this.datas.length; k++) {\n\t var dataItem = this.datas[k];\n\t var idx4 = this.conveyorsPool[0][\"idx\" + 4];\n\t if (idx4.children[0]) {\n\t if (dataItem.name == idx4.children[0].name) {\n\t dataItem.isOnStage = false;\n\t removeEle(dataItem, this.datas);\n\t this.datas.push(dataItem);\n\t idx4.removeChild(idx4.children[0]);\n\t break;\n\t }\n\t }\n\t }\n\t this.conveyorsPool.shift();\n\t }\n\t else if (this.conveyorsPool[0].x < -600) {\n\t for (var k = 0; k < this.datas.length; k++) {\n\t var dataItem = this.datas[k];\n\t var idx3 = this.conveyorsPool[0][\"idx\" + 3];\n\t if (idx3.children[0]) {\n\t if (dataItem.name == idx3.children[0].name) {\n\t dataItem.isOnStage = false;\n\t removeEle(dataItem, this.datas);\n\t this.datas.push(dataItem);\n\t idx3.removeChild(idx3.children[0]);\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t else if (this.conveyorsPool[0].x < -450) {\n\t for (var k = 0; k < this.datas.length; k++) {\n\t var dataItem = this.datas[k];\n\t var idx2 = this.conveyorsPool[0][\"idx\" + 2];\n\t if (idx2.children[0]) {\n\t if (dataItem.name == idx2.children[0].name) {\n\t dataItem.isOnStage = false;\n\t removeEle(dataItem, this.datas);\n\t this.datas.push(dataItem);\n\t idx2.removeChild(idx2.children[0]);\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t else if (this.conveyorsPool[0].x < -300) {\n\t for (var k = 0; k < this.datas.length; k++) {\n\t var dataItem = this.datas[k];\n\t var idx1 = this.conveyorsPool[0][\"idx\" + 1];\n\t if (idx1.children[0]) {\n\t if (dataItem.name == idx1.children[0].name) {\n\t dataItem.isOnStage = false;\n\t removeEle(dataItem, this.datas);\n\t this.datas.push(dataItem);\n\t idx1.removeChild(idx1.children[0]);\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t else if (this.conveyorsPool[0].x < -150) {\n\t for (var k = 0; k < this.datas.length; k++) {\n\t var dataItem = this.datas[k];\n\t var idx0 = this.conveyorsPool[0][\"idx\" + 0];\n\t if (idx0.children[0]) {\n\t if (dataItem.name == idx0.children[0].name) {\n\t dataItem.isOnStage = false;\n\t removeEle(dataItem, this.datas);\n\t this.datas.push(dataItem);\n\t idx0.removeChild(idx0.children[0]);\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t };\n\t Conveyors.prototype.addscore = function () {\n\t this.score += (props.onceScore || 2);\n\t engine.globalEvent.dispatchEvent('recycling-score-update', {\n\t score: this.score\n\t });\n\t };\n\t Conveyors.prototype.gameOver = function () {\n\t engine.gameStage.removeEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);\n\t engine.globalEvent.dispatchEvent('recycling-game-end', transStores(this.stores));\n\t };\n\t Conveyors.prototype.onDown_garbage = function (e) {\n\t if (this._currentDragView) {\n\t removeChild(this._currentDragView);\n\t }\n\t var target = e.target;\n\t var view = new engine.Sprite(target.texture);\n\t this._currentDragView = view;\n\t this._currentTarget = target;\n\t target.scaleX = target.scaleY = 0;\n\t this.wrapper.addChild(view);\n\t view.x = e.stageX - target.texture.width / 2;\n\t view.y = e.stageY - target.texture.height / 2;\n\t view.type = target['type'];\n\t view.name = target['name'];\n\t this.wrapper.addEventListener(engine.MouseEvent.MOUSE_UP, this.onStageMouseUp, this);\n\t this.wrapper.addEventListener(engine.MouseEvent.MOUSE_MOVE, this.onStageMouseMove, this);\n\t };\n\t Conveyors.prototype.onStageMouseMove = function (e) {\n\t var view = this._currentDragView;\n\t view.x = e.stageX - view.texture.width / 2;\n\t view.y = e.stageY - view.texture.height / 2;\n\t };\n\t Conveyors.prototype.onStageMouseUp = function (e) {\n\t var _this = this;\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_UP, this.onStageMouseUp, this);\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onStageMouseMove, this);\n\t if (!this._currentDragView)\n\t return;\n\t var result = this.checkHitRect();\n\t if (result) {\n\t if (result == this._currentDragView['type']) {\n\t this.addscore();\n\t this.wrapper.rightTips.play(getTargetRect(result, this.wrapper));\n\t this._currentTarget.data.isRight = true;\n\t }\n\t else {\n\t engine.Tween.get(this._currentTarget).to({ scaleX: 1, scaleY: 1 }, 300).call(function () { });\n\t this.wrapper.wrongTips.play(getTargetRect(result, this.wrapper));\n\t }\n\t this.stores.push({ targetType: result, itemType: this._currentDragView['type'], itemName: this._currentDragView['name'] });\n\t }\n\t else {\n\t engine.Tween.get(this._currentTarget).to({ scaleX: 1, scaleY: 1 }, 300).call(function () { });\n\t }\n\t this._currentDragView.anchorX = this._currentDragView.texture.width / 2;\n\t this._currentDragView.anchorY = this._currentDragView.texture.height / 2;\n\t engine.Tween.get(this._currentDragView).to({ scaleX: 0, scaleY: 0 }, 300).call(function () {\n\t removeChild(_this._currentDragView);\n\t });\n\t };\n\t Conveyors.prototype.clear = function () {\n\t this.conveyor0.x = 0;\n\t this.conveyor1.x = 764;\n\t this.conveyorsPool.forEach(function (i) {\n\t i.clear();\n\t });\n\t this.conveyorsPool = [];\n\t this.datas = [];\n\t this.stores = [];\n\t };\n\t Conveyors.prototype.timeout = function () {\n\t if (this._currentDragView) {\n\t removeChild(this._currentDragView);\n\t }\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_UP, this.onStageMouseUp, this);\n\t this.wrapper.removeEventListener(engine.MouseEvent.MOUSE_MOVE, this.onStageMouseMove, this);\n\t this.gameOver();\n\t };\n\t Conveyors.prototype.checkHitRect = function () {\n\t if (checkHit(this._currentDragView, this.wrapper.wetWaste)) {\n\t return GarbageTypes.wetWaste;\n\t }\n\t if (checkHit(this._currentDragView, this.wrapper.harmfulWaste)) {\n\t return GarbageTypes.harmfulWaste;\n\t }\n\t if (checkHit(this._currentDragView, this.wrapper.dryWaste)) {\n\t return GarbageTypes.dryWaste;\n\t }\n\t if (checkHit(this._currentDragView, this.wrapper.recoverableWaste)) {\n\t return GarbageTypes.recoverableWaste;\n\t }\n\t return null;\n\t };\n\t return Conveyors;\n\t}(engine.Sprite));\n\t//# sourceMappingURL=Conveyors.js.map\n\n\tvar uiConfig = (function () {\n\t return [\n\t {\n\t id: 'playBg',\n\t texture: 'playBg'\n\t },\n\t {\n\t id: 'idler0',\n\t texture: 'idlerWheel',\n\t pos: [75, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t {\n\t id: 'idler1',\n\t texture: 'idlerWheel',\n\t pos: [175, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t {\n\t id: 'idler2',\n\t texture: 'idlerWheel',\n\t pos: [275, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t {\n\t id: 'idler3',\n\t texture: 'idlerWheel',\n\t pos: [375, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t {\n\t id: 'idler4',\n\t texture: 'idlerWheel',\n\t pos: [475, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t {\n\t id: 'idler5',\n\t texture: 'idlerWheel',\n\t pos: [575, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t {\n\t id: 'idler6',\n\t texture: 'idlerWheel',\n\t pos: [675, 1038],\n\t anchor: [20, 21.5]\n\t },\n\t ];\n\t});\n\t//# sourceMappingURL=uiConfig.js.map\n\n\tvar setGuide = function () {\n\t try {\n\t if (window.localStorage && window.localStorage.setItem) {\n\t localStorage.setItem('recyclingGuide', '1');\n\t }\n\t }\n\t catch (e) {\n\t console.log(\"setguide--err\", e);\n\t }\n\t};\n\t//# sourceMappingURL=getGuideInfo.js.map\n\n\tvar createBg = (function (a) {\n\t if (a === void 0) { a = 1; }\n\t var rect = new engine.Graphics();\n\t rect.beginFill(0);\n\t rect.drawRect(0, 0, 750, 1624);\n\t rect.endFill();\n\t rect.alpha = a;\n\t return rect;\n\t});\n\t//# sourceMappingURL=createBg.js.map\n\n\tvar createImg = (function (texture) {\n\t return new engine.Sprite(getTextureByName(texture));\n\t});\n\t//# sourceMappingURL=createImg.js.map\n\n\tvar CountDownGroup = (function (_super) {\n\t tslib.__extends(CountDownGroup, _super);\n\t function CountDownGroup() {\n\t var _this = _super.call(this) || this;\n\t _this.addChild(createBg(.6));\n\t _this.num1 = createImg('num1');\n\t _this.num2 = createImg('num2');\n\t _this.num3 = createImg('num3');\n\t _this.go = createImg('go');\n\t _this.go.anchorX = 240;\n\t _this.go.anchorY = 171.5;\n\t _this.num1.anchorX = 125.5;\n\t _this.num1.anchorY = 189;\n\t _this.num2.anchorX = 149.5;\n\t _this.num2.anchorY = 191.5;\n\t _this.num3.anchorX = 148.5;\n\t _this.num3.anchorY = 191.5;\n\t _this.go.x = 750 / 2 - 240;\n\t _this.go.y = 525 - 171.5;\n\t _this.num1.x = 750 / 2 - 125.5;\n\t _this.num1.y = 529 - 189;\n\t _this.num2.x = 750 / 2 - 149.5;\n\t _this.num2.y = 526 - 191.5;\n\t _this.num3.x = 750 / 2 - 148.5;\n\t _this.num3.y = 525 - 191.5;\n\t _this.addChild(_this.num1);\n\t _this.addChild(_this.num2);\n\t _this.addChild(_this.num3);\n\t _this.addChild(_this.go);\n\t _this.visible = false;\n\t _this.reset();\n\t return _this;\n\t }\n\t CountDownGroup.prototype.reset = function () {\n\t this.go.alpha = this.num1.alpha = this.num2.alpha = this.num3.alpha = 0;\n\t this.go.scaleX = this.num1.scaleX = this.num2.scaleX = this.num3.scaleX = 3;\n\t this.go.scaleY = this.num1.scaleY = this.num2.scaleY = this.num3.scaleY = 3;\n\t };\n\t CountDownGroup.prototype.startCountDown = function () {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t return [2, new Promise(function (r) {\n\t _this.reset();\n\t _this.visible = true;\n\t _this.num3.alpha = 1;\n\t var n3 = engine.Tween.get(_this.num3);\n\t if (props.sound) {\n\t playSound(\"numCountDown\");\n\t }\n\t n3.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(function () {\n\t _this.num2.alpha = 1;\n\t var n2 = engine.Tween.get(_this.num2);\n\t if (props.sound) {\n\t playSound(\"numCountDown\");\n\t }\n\t n2.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(function () {\n\t _this.num1.alpha = 1;\n\t var n1 = engine.Tween.get(_this.num1);\n\t if (props.sound) {\n\t playSound(\"numCountDown\");\n\t }\n\t n1.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(function () {\n\t _this.go.alpha = 1;\n\t var go = engine.Tween.get(_this.go);\n\t if (props.sound) {\n\t if (props.sound)\n\t playSound(\"goMp3\");\n\t }\n\t go.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).call(function () {\n\t _this.visible = false;\n\t r();\n\t });\n\t });\n\t });\n\t });\n\t })];\n\t });\n\t });\n\t };\n\t return CountDownGroup;\n\t}(engine.Sprite));\n\t//# sourceMappingURL=CountDownGroup.js.map\n\n\tvar GuideView = (function (_super) {\n\t tslib.__extends(GuideView, _super);\n\t function GuideView() {\n\t var _this = _super.call(this) || this;\n\t _this.initUI();\n\t _this.visible = false;\n\t return _this;\n\t }\n\t GuideView.prototype.initUI = function () {\n\t this.addChild(createBg(.6));\n\t this.guideBg = createImg('guideBg');\n\t this.addChild(this.guideBg);\n\t this.guideEle = createImg('guideEle');\n\t this.addChild(this.guideEle);\n\t this.guideBg.x = 403;\n\t this.guideBg.y = 565;\n\t this.guideEle.x = 361;\n\t this.guideEle.y = 877;\n\t this.guideEle.anchorX = 14;\n\t this.guideEle.anchorY = 88;\n\t this.guideEle.mouseEnabled = this.guideEle.mouseChildren = true;\n\t var svga = createSvga(\"guideTips\");\n\t this.svga = svga;\n\t this.addChild(svga);\n\t svga.gotoAndStop(1);\n\t svga.mouseEnabled = svga.mouseChildren = false;\n\t };\n\t GuideView.prototype.checkHit = function (x, y, w, h) {\n\t var rect = new engine.Rectangle(403, 565, 252, 297);\n\t if (x > rect.x && y > rect.y && (x + w) < (rect.x + rect.width) && (y + h) < (rect.y + rect.height)) {\n\t return true;\n\t }\n\t return false;\n\t };\n\t GuideView.prototype.startGuide = function () {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t return [2, new Promise(function (r) {\n\t _this.visible = true;\n\t _this.svga.gotoAndStop(1);\n\t _this.svga.play(false, true);\n\t _this.guideEle.scaleX = 1;\n\t _this.guideEle.scaleY = 1;\n\t var offset = [0, 0];\n\t var guideOver = function () {\n\t _this.guideEle.removeEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, _this);\n\t _this.guideEle.anchorX = 14;\n\t _this.guideEle.anchorY = 44;\n\t engine.Tween.get(_this.guideEle).to({ scaleX: 0, scaleY: 0 }, 300).call(function () {\n\t _this.visible = false;\n\t r();\n\t });\n\t };\n\t var onUp = function (e) {\n\t _this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, _this);\n\t if (_this.checkHit(_this.guideEle.x, _this.guideEle.y, _this.guideEle.width, _this.guideEle.height)) {\n\t guideOver();\n\t }\n\t else {\n\t _this.svga.visible = true;\n\t _this.guideEle.x = 361;\n\t _this.guideEle.y = 877;\n\t engine.Tween.get(_this.guideEle).set({ scaleX: 0, scaleY: 0 }).to({ scaleX: 1, scaleY: 1 }, 300);\n\t }\n\t };\n\t var onMove = function (e) {\n\t _this.guideEle.x = e.stageX - offset[0];\n\t _this.guideEle.y = e.stageY - offset[1];\n\t };\n\t var ondown = function (e) {\n\t offset = [e.localX, e.localY];\n\t _this.svga.visible = false;\n\t _this.stage.once(engine.MouseEvent.MOUSE_UP, onUp, _this);\n\t _this.stage.addEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, _this);\n\t };\n\t _this.guideEle.addEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, _this);\n\t })];\n\t });\n\t });\n\t };\n\t return GuideView;\n\t}(engine.Sprite));\n\t//# sourceMappingURL=guideView.js.map\n\n\tvar RightTips = (function (_super) {\n\t tslib.__extends(RightTips, _super);\n\t function RightTips() {\n\t var _this = _super.call(this) || this;\n\t _this.SCORE = props.onceScore || 2;\n\t _this.img = new engine.Image();\n\t _this.img.texture = getTextureByName('rightTips');\n\t _this.addChild(_this.img);\n\t _this.img.anchorX = 88 / 2;\n\t _this.img.anchorY = 85 / 2;\n\t _this.visible = false;\n\t _this.txt = new engine.TextField();\n\t _this.addChild(_this.txt);\n\t _this.txt.text = '+' + _this.SCORE;\n\t _this.txt.size = 60;\n\t _this.txt.fillColor = '#437726';\n\t engine.playSound;\n\t return _this;\n\t }\n\t RightTips.prototype.play = function (rect) {\n\t if (props.sound) {\n\t playSound(\"rightTipsSound\");\n\t }\n\t this.visible = true;\n\t this.txt.x = 100;\n\t engine.Tween.get(this.txt).set({ y: 60, alpha: 1 })\n\t .to({ y: -50 }, 500)\n\t .to({ alpha: 0 });\n\t engine.Tween.get(this.img).set({ x: 0, y: 0, scaleX: 0, scaleY: 0, alpha: 1 })\n\t .to({ scaleX: 1, scaleY: 1 }, 200, engine.Ease.getBackOut(1))\n\t .wait(200)\n\t .to({ alpha: 0 }, 300);\n\t this.x = rect.x + 180;\n\t this.y = rect.y;\n\t };\n\t return RightTips;\n\t}(engine.Sprite));\n\t//# sourceMappingURL=RightTips.js.map\n\n\tvar GameView = (function (_super) {\n\t tslib.__extends(GameView, _super);\n\t function GameView() {\n\t var _this = _super.call(this) || this;\n\t _this._timeCounter = 0;\n\t _this.guidenew = false;\n\t _this.once(engine.Event.ADDED_TO_STAGE, _this.setup, _this);\n\t return _this;\n\t }\n\t GameView.prototype.configUI = function () {\n\t var uiMap = {};\n\t this.uiMap = uiMap;\n\t var config = uiConfig();\n\t for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {\n\t var item = config_1[_i];\n\t var id = item.id, texture = item.texture, pos = item.pos, anchor = item.anchor;\n\t var sp = new engine.Sprite(getTextureByName(texture));\n\t this.addChild(sp);\n\t uiMap[id] = sp;\n\t if (anchor) {\n\t sp.anchorX = anchor[0];\n\t sp.anchorY = anchor[1];\n\t }\n\t if (pos) {\n\t sp.x = pos[0];\n\t sp.y = pos[1];\n\t if (anchor) {\n\t sp.x = pos[0] - sp.anchorX;\n\t sp.y = pos[1] - sp.anchorY;\n\t }\n\t }\n\t }\n\t this.configConveyors();\n\t this.createRects();\n\t this.countdown = new CountDownGroup();\n\t this.addChild(this.countdown);\n\t this.guide = new GuideView();\n\t this.addChild(this.guide);\n\t this.wrongTips = new WrongTips();\n\t this.rightTips = new RightTips();\n\t this.addChild(this.wrongTips);\n\t this.addChild(this.rightTips);\n\t };\n\t GameView.prototype.createRects = function () {\n\t this.wetWaste = this.createRect(104, 565, 252, 297, 0xffffff);\n\t this.harmfulWaste = this.createRect(104, 232, 252, 297, 0xff0000);\n\t this.dryWaste = this.createRect(403, 232, 252, 297, 0x000000);\n\t this.recoverableWaste = this.createRect(403, 565, 252, 297, 0x0000ff);\n\t };\n\t GameView.prototype.createRect = function (x, y, w, h, c) {\n\t var rect = new engine.Rectangle(x, y, w, h);\n\t var sp = new engine.Sprite();\n\t this.addChild(sp);\n\t sp.x = x;\n\t sp.y = y;\n\t var g = new engine.Graphics;\n\t g.alpha = 0.0;\n\t g.beginFill(c);\n\t g.drawRect(0, 0, w, h);\n\t g.endFill();\n\t sp.addChild(g);\n\t return rect;\n\t };\n\t GameView.prototype.configConveyors = function () {\n\t var conveyor0 = new Conveyor();\n\t var conveyor1 = new Conveyor();\n\t this.addChild(conveyor0);\n\t this.addChild(conveyor1);\n\t conveyor0.x = 0;\n\t conveyor1.x = 764;\n\t this.conveyors = new Conveyors(this);\n\t this.conveyors.initData(conveyor0, conveyor1);\n\t };\n\t GameView.prototype.playAni = function () {\n\t var _this = this;\n\t var idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\n\t idlerWheels = idlerWheels.map(function (i) { return _this.uiMap[i]; });\n\t idlerWheels.forEach(function (i) {\n\t engine.Tween.get(i, { loop: true }).to({ rotation: -360 }, 1000);\n\t });\n\t };\n\t GameView.prototype.stopAni = function () {\n\t var _this = this;\n\t var idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\n\t idlerWheels = idlerWheels.map(function (i) { return _this.uiMap[i]; });\n\t idlerWheels.forEach(function (i) {\n\t engine.Tween.removeTweens(i);\n\t });\n\t };\n\t GameView.prototype.start = function () {\n\t return tslib.__awaiter(this, void 0, void 0, function () {\n\t var _this = this;\n\t return tslib.__generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t this._timeCounter = 0;\n\t if (!(!props.isNewPlayer && !this.guidenew)) return [3, 2];\n\t return [4, this.guide.startGuide()];\n\t case 1:\n\t _a.sent();\n\t setGuide();\n\t this.guidenew = true;\n\t _a.label = 2;\n\t case 2:\n\t this.conveyors.clear();\n\t return [4, this.countdown.startCountDown()];\n\t case 3:\n\t _a.sent();\n\t this.startGame();\n\t engine.globalEvent.dispatchEvent('recycling-time-update', {\n\t second: this.getSecond(),\n\t });\n\t this._timer = setInterval(function () {\n\t _this.onTimer();\n\t }, 1000);\n\t return [2];\n\t }\n\t });\n\t });\n\t };\n\t GameView.prototype.startGame = function () {\n\t this.playAni();\n\t this.conveyors.startConveyors();\n\t };\n\t GameView.prototype.stopGame = function () {\n\t this.stopAni();\n\t };\n\t GameView.prototype.getSecond = function () {\n\t return props.time - this._timeCounter;\n\t };\n\t GameView.prototype.onTimer = function () {\n\t this._timeCounter++;\n\t engine.globalEvent.dispatchEvent('recycling-time-update', {\n\t second: this.getSecond(),\n\t });\n\t if (this.getSecond() == 0) {\n\t this.stop();\n\t this.conveyors.timeout();\n\t if (props.sound)\n\t playSound(\"gameOverMp3\");\n\t }\n\t };\n\t GameView.prototype.stop = function () {\n\t clearInterval(this._timer);\n\t this.stopGame();\n\t };\n\t GameView.prototype.setup = function () {\n\t console.log('onSteup', props);\n\t this.configUI();\n\t };\n\t GameView.prototype.onDown = function (e) {\n\t };\n\t GameView.prototype.stageOnUp = function (e) {\n\t };\n\t GameView.prototype.onSuccess = function () {\n\t };\n\t GameView.prototype.onMove = function (e) {\n\t };\n\t return GameView;\n\t}(engine.Container));\n\t//# sourceMappingURL=GameView.js.map\n\n\tvar GameWrapper = (function (_super) {\n\t tslib.__extends(GameWrapper, _super);\n\t function GameWrapper() {\n\t var _this = _super.call(this) || this;\n\t engine.globalEvent.addEventListener('recycling-start', _this.start, _this);\n\t engine.globalEvent.addEventListener('recycling-sound-update', _this.updateSound, _this);\n\t engine.globalEvent.addEventListener('recycling-stop', _this.stop, _this);\n\t var gameView = _this._gameView = new GameView();\n\t _this.addChild(gameView);\n\t return _this;\n\t }\n\t GameWrapper.prototype.updateSound = function (event) {\n\t injectProps(event.data);\n\t };\n\t GameWrapper.prototype.start = function (event) {\n\t injectProps(event.data);\n\t this._gameView.start();\n\t };\n\t GameWrapper.prototype.stop = function (event) {\n\t this._gameView.stop();\n\t };\n\t return GameWrapper;\n\t}(engine.Container));\n\t//# sourceMappingURL=GameWrapper.js.map\n\n\tfunction index (props) {\n\t prepareProps();\n\t injectProps(props);\n\t var instance = new GameWrapper();\n\t return instance;\n\t}\n\t//# sourceMappingURL=index.js.map\n\n\treturn index;\n\n})));\n"
} }
...@@ -46,7 +46,7 @@ function launchWithCustomModule(customModule) { ...@@ -46,7 +46,7 @@ function launchWithCustomModule(customModule) {
}, 100); }, 100);
setTimeout(() => { setTimeout(() => {
engine.globalEvent.dispatchEvent('recycling-start', { time: 1500, maxScore: 200, speed: 3, sound: 1 }); engine.globalEvent.dispatchEvent('recycling-start', { time: 1500, maxScore: 200, speed: 3, sound: 1,isNewPlayer:0 });
const d = engine.gameStage.sceneContainer.getChildAt(0); const d = engine.gameStage.sceneContainer.getChildAt(0);
}, 2000); }, 2000);
......
...@@ -597,20 +597,6 @@ ...@@ -597,20 +597,6 @@
}); });
//# sourceMappingURL=uiConfig.js.map //# sourceMappingURL=uiConfig.js.map
var getGuideInfo = (function () {
try {
if (window.localStorage && window.localStorage.getItem) {
return localStorage.getItem('recyclingGuide');
}
else {
return 0;
}
}
catch (e) {
console.log("getguideinfo--error", e);
return 0;
}
});
var setGuide = function () { var setGuide = function () {
try { try {
if (window.localStorage && window.localStorage.setItem) { if (window.localStorage && window.localStorage.setItem) {
...@@ -943,7 +929,7 @@ ...@@ -943,7 +929,7 @@
switch (_a.label) { switch (_a.label) {
case 0: case 0:
this._timeCounter = 0; this._timeCounter = 0;
if (!(!getGuideInfo() && !this.guidenew)) return [3, 2]; if (!(!props.isNewPlayer && !this.guidenew)) return [3, 2];
return [4, this.guide.startGuide()]; return [4, this.guide.startGuide()];
case 1: case 1:
_a.sent(); _a.sent();
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -6,6 +6,11 @@ ...@@ -6,6 +6,11 @@
"alias": "图片分成几列", "alias": "图片分成几列",
"type": "number", "type": "number",
"default": 3 "default": 3
},
"isNewPlayer":{
"alias": "isNewPlayer",
"type": "number",
"default": 1
} }
}, },
"assets": [{ "assets": [{
......
...@@ -129,7 +129,7 @@ export default class GameView extends engine.Container { ...@@ -129,7 +129,7 @@ export default class GameView extends engine.Container {
// console.log('on start',getGuideInfo()); // console.log('on start',getGuideInfo());
this._timeCounter = 0; this._timeCounter = 0;
if (!getGuideInfo()&&!this.guidenew) { if (!props.isNewPlayer&&!this.guidenew) {
await this.guide.startGuide(); await this.guide.startGuide();
setGuide(); setGuide();
this.guidenew = true; this.guidenew = true;
......
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