Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zeroing-libs
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
劳工
zeroing-libs
Commits
63f061c8
Commit
63f061c8
authored
Jun 15, 2020
by
wildfirecode
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
87951f14
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1718 additions
and
23 deletions
+1718
-23
recycling.json
dist/customs/recycling.json
+301
-1
app.js
src/custom/recycling/debug/app.js
+1
-1
main.js
src/custom/recycling/debug/main.js
+767
-1
main.js.map
src/custom/recycling/debug/main.js.map
+1
-1
meta.json
src/custom/recycling/meta.json
+307
-0
Conveyor.ts
src/custom/recycling/src/game/Conveyor.ts
+3
-0
Conveyors.ts
src/custom/recycling/src/game/Conveyors.ts
+230
-0
GameView.ts
src/custom/recycling/src/game/GameView.ts
+13
-19
Garbage.ts
src/custom/recycling/src/game/datas/Garbage.ts
+14
-0
GarbageConfig.ts
src/custom/recycling/src/game/datas/GarbageConfig.ts
+56
-0
GarbageTypes.ts
src/custom/recycling/src/game/datas/GarbageTypes.ts
+6
-0
removeEle.ts
src/custom/recycling/src/game/utils/removeEle.ts
+6
-0
shuffle.ts
src/custom/recycling/src/game/utils/shuffle.ts
+13
-0
No files found.
dist/customs/recycling.json
View file @
63f061c8
...
...
@@ -68,6 +68,306 @@
"url"
:
"//yun.duiba.com.cn/aurora/assets/b7a5489c9bc7c87479a36a5574f553e25dbe862d.png"
,
"uuid"
:
"196d410b-a645-4956-9ef1-d6f30be7c1fd"
,
"ext"
:
".png"
},
{
"name"
:
"g49"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/e408d950683da66d0a9b82de86c2a8cf532482ad.png"
,
"uuid"
:
"fe97cd48-720b-4412-9bcf-0bdd3a8e96a1"
,
"ext"
:
".png"
},
{
"name"
:
"g48"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/c13f4675de5e711bdcf2f1c5b2f7d45dd2f92aac.png"
,
"uuid"
:
"e1aedf7c-4352-4583-9df2-d2a6aea163dd"
,
"ext"
:
".png"
},
{
"name"
:
"g47"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/48f3774efcbf5f9ef0e5141f12b9ff07f5019bbc.png"
,
"uuid"
:
"402f8717-a023-4625-9daf-4e8f7964e7a2"
,
"ext"
:
".png"
},
{
"name"
:
"g46"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/e2ad0647d07daf99ecc7606a6e0832cfc7f7a8f8.png"
,
"uuid"
:
"9445c37d-e81c-4d36-a211-eed7a97eea4d"
,
"ext"
:
".png"
},
{
"name"
:
"g45"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/8aa58ad538a67a539176479e072769de0efea638.png"
,
"uuid"
:
"10e25631-ea9d-4dd3-8bef-4c340068c81a"
,
"ext"
:
".png"
},
{
"name"
:
"g44"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/7d8526e6e57130b54290a2b64567afd27c8d8f91.png"
,
"uuid"
:
"202c0ea8-bc6b-4098-aae8-bd29cf13b35f"
,
"ext"
:
".png"
},
{
"name"
:
"g43"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/967da517b471f7ed4629bba46f8dc2ba8beb1f0d.png"
,
"uuid"
:
"bb47d087-004c-4882-8d80-d172c0bff8a7"
,
"ext"
:
".png"
},
{
"name"
:
"g42"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/bf7eddba2dc2ce6ce8103175e96a348bc7e272c8.png"
,
"uuid"
:
"3a9c692c-2683-4ad5-a0b5-6193e5f708d1"
,
"ext"
:
".png"
},
{
"name"
:
"g41"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/767bcb92c9293d4edb60e413a11823b82ba05589.png"
,
"uuid"
:
"3e6d234e-2393-4d75-9e5c-c87e9f4f4370"
,
"ext"
:
".png"
},
{
"name"
:
"g40"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0a6276f244a36da419ca1b30180a126744e1838e.png"
,
"uuid"
:
"2c7df6ab-6ed5-451a-8da3-1de64e9a6518"
,
"ext"
:
".png"
},
{
"name"
:
"g39"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/b403cf582c53ea72cb48a46ae8b85c8f124d0454.png"
,
"uuid"
:
"2614eb6c-9153-4149-b8d6-ef02ac2200ae"
,
"ext"
:
".png"
},
{
"name"
:
"g38"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/b4542db81f188832e04caaf85ab17aef4d44c814.png"
,
"uuid"
:
"g38"
,
"ext"
:
".png"
},
{
"name"
:
"g37"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/6d3de9973a67e5ceba1400953bfb6f1c97e20697.png"
,
"uuid"
:
"g37"
,
"ext"
:
".png"
},
{
"name"
:
"g36"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/620f1419ace61c7f32ea180a8f22cddd21f976aa.png"
,
"uuid"
:
"g36"
,
"ext"
:
".png"
},
{
"name"
:
"g35"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/e8e2eae1199d60f79da5206fdbfb028db20ff76d.png"
,
"uuid"
:
"g35"
,
"ext"
:
".png"
},
{
"name"
:
"g34"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/d9e7793207b2fcc30251d0886576d9d7fcb5e9ee.png"
,
"uuid"
:
"g34"
,
"ext"
:
".png"
},
{
"name"
:
"g33"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/3fa131f7f897c34fb379f7bf9c29747f3e69bf43.png"
,
"uuid"
:
"g33"
,
"ext"
:
".png"
},
{
"name"
:
"g32"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/3269880aaca62db34a6deb5199308adc0d254012.png"
,
"uuid"
:
"g32"
,
"ext"
:
".png"
},
{
"name"
:
"g31"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/751067560cd76d7f9e5ceaa6b3f14479e55a69da.png"
,
"uuid"
:
"g31"
,
"ext"
:
".png"
},
{
"name"
:
"g30"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/5a3a283ecbf493d8773b31ccf2f723e91ed98d6c.png"
,
"uuid"
:
"g30"
,
"ext"
:
".png"
},
{
"name"
:
"g29"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/9b18c4e4ee1e8c841446fc595b8f0e211a454437.png"
,
"uuid"
:
"g29"
,
"ext"
:
".png"
},
{
"name"
:
"g28"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/690129e1862415926738babe59f518b6b1b5cb4e.png"
,
"uuid"
:
"g28"
,
"ext"
:
".png"
},
{
"name"
:
"g27"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/17080c9fec412c3dc013fbc5c7507e5960aed1a3.png"
,
"uuid"
:
"g27"
,
"ext"
:
".png"
},
{
"name"
:
"g26"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/a34628a8370ee6b18a84e4b340ea3e199b88722d.png"
,
"uuid"
:
"g26"
,
"ext"
:
".png"
},
{
"name"
:
"g25"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/3fd8d25962065b95ea92d15ba8ed72650bd619f7.png"
,
"uuid"
:
"g25"
,
"ext"
:
".png"
},
{
"name"
:
"g24"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/c309687ae634221e99020cd22ffb08ffcc0d8302.png"
,
"uuid"
:
"g24"
,
"ext"
:
".png"
},
{
"name"
:
"g23"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/c428c61edd2143dd29836545cadc5fb69035ee80.png"
,
"uuid"
:
"g23"
,
"ext"
:
".png"
},
{
"name"
:
"g22"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/2a147aa052d47ac0e06910e5df9ab1c932e34a92.png"
,
"uuid"
:
"g22"
,
"ext"
:
".png"
},
{
"name"
:
"g21"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/7ec81f1b13b8550effdf178101985fa31c50956a.png"
,
"uuid"
:
"g21"
,
"ext"
:
".png"
},
{
"name"
:
"g20"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/5b7500d82e6889e69fe24d605f253dfec0a42e39.png"
,
"uuid"
:
"g20"
,
"ext"
:
".png"
},
{
"name"
:
"g19"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/351ba4e8ca0c31caf69bc1b33917058e16970ef4.png"
,
"uuid"
:
"g19"
,
"ext"
:
".png"
},
{
"name"
:
"g18"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/29a63f67324429bcdaab1bb32bc944ff91bd47de.png"
,
"uuid"
:
"g18"
,
"ext"
:
".png"
},
{
"name"
:
"g17"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/8b65937268201d986f4307d2c50f9b7ab41eaaa2.png"
,
"uuid"
:
"g17"
,
"ext"
:
".png"
},
{
"name"
:
"g16"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/8867de1b241ffa9f0c74a052a5b16ccc32c6fee6.png"
,
"uuid"
:
"g16"
,
"ext"
:
".png"
},
{
"name"
:
"g15"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/93973a7931aee434f47fa66630c73c77a7f6dcee.png"
,
"uuid"
:
"g15"
,
"ext"
:
".png"
},
{
"name"
:
"g14"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/433e648f4dbdc3d64e1661e91997f09f292cfec6.png"
,
"uuid"
:
"g14"
,
"ext"
:
".png"
},
{
"name"
:
"g13"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0763e6fb31df6b0c13d466592c06d040cd2f0914.png"
,
"uuid"
:
"g13"
,
"ext"
:
".png"
},
{
"name"
:
"g12"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/6780831550258c98a024dda3dad66b38d47735c5.png"
,
"uuid"
:
"g12"
,
"ext"
:
".png"
},
{
"name"
:
"g11"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/f0291b80012c07b9a6b000ae08f06117bc091ce4.png"
,
"uuid"
:
"g11"
,
"ext"
:
".png"
},
{
"name"
:
"g10"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/ee55052e92922d7d4e8d103abc1b69f985bb32d2.png"
,
"uuid"
:
"g10"
,
"ext"
:
".png"
},
{
"name"
:
"g09"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/2ea8754293f74e08fe55496f7849804e6051b2ef.png"
,
"uuid"
:
"g09"
,
"ext"
:
".png"
},
{
"name"
:
"g08"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0648601cff5448dcb1eea1db5e70f12376c695e5.png"
,
"uuid"
:
"g08"
,
"ext"
:
".png"
},
{
"name"
:
"g07"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/b1a9a28a146a1ecb4dbd203fcae6c036a9acf041.png"
,
"uuid"
:
"g07"
,
"ext"
:
".png"
},
{
"name"
:
"g06"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/db9fa8e9fbea957e9f02502d3fc7be96ad9e6edc.png"
,
"uuid"
:
"g06"
,
"ext"
:
".png"
},
{
"name"
:
"g05"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/f0d6ea6ba0fb0cda815910d5d2c5d7d1a0af0675.png"
,
"uuid"
:
"g05"
,
"ext"
:
".png"
},
{
"name"
:
"g04"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/fb5bfe673bcadc393c15be3892e7223bf18a0a0b.png"
,
"uuid"
:
"g04"
,
"ext"
:
".png"
},
{
"name"
:
"g03"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/79d84185ebddb82219e92187d11368a5c1eb6505.png"
,
"uuid"
:
"g03"
,
"ext"
:
".png"
},
{
"name"
:
"g02"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/cf931a6dfd7d2938d31345c980b7caa22d515809.png"
,
"uuid"
:
"g02"
,
"ext"
:
".png"
},
{
"name"
:
"g01"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0772e858d5337e5a52d17f6c6b0b9a7e79fa9c36.png"
,
"uuid"
:
"g01"
,
"ext"
:
".png"
},
{
"name"
:
"g00"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/38af7a09502570152c2f8238a93f6b35b40525d7.png"
,
"uuid"
:
"g00"
,
"ext"
:
".png"
}
],
"events"
:
{
...
...
@@ -112,5 +412,5 @@
}
},
"id"
:
"recycling"
,
"code"
:
"
\"
use strict
\"
;var tslib=require(
\"
tslib
\"
);function getTexture(e){return engine.Texture.from(getAssetByUUID(e).uuid)}function getTextureByName(e){return getTexture(engine.getAssetByName(e).uuid)}function createSvga(e,t){var n=new svga.Svga;return n.source=
\"
asset://
\"
+engine.getAssetByName(e).uuid,n}var props={};function prepareProps(){var e=getProps();engine.injectProp(props,e)}function injectProps(e){engine.injectProp(props,e)}var Conveyor=function(n){function e(){var e=n.call(this)||this,t=new engine.Sprite(getTextureByName(
\"
conveyor
\"
));return e.addChild(t),e.idx0=e.createItem(75,50),e.idx1=e.createItem(225,50),e.idx2=e.createItem(375,50),e.idx3=e.createItem(525,50),e.idx4=e.createItem(675,50),e}return tslib.__extends(e,n),e.prototype.createItem=function(e,t){var n=new engine.Sprite;this.addChild(n),n.x=e-50,n.y=t-50;var i=new engine.Graphics;return i.beginFill(16711680),i.drawRect(0,0,100,100),i.endFill(),n.addChild(i),n},e}(engine.Sprite),uiConfig=function(){return[{id:
\"
playBg
\"
,texture:
\"
playBg
\"
},{id:
\"
idler0
\"
,texture:
\"
idlerWheel
\"
,pos:[75,1038],anchor:[20,21.5]},{id:
\"
idler1
\"
,texture:
\"
idlerWheel
\"
,pos:[175,1038],anchor:[20,21.5]},{id:
\"
idler2
\"
,texture:
\"
idlerWheel
\"
,pos:[275,1038],anchor:[20,21.5]},{id:
\"
idler3
\"
,texture:
\"
idlerWheel
\"
,pos:[375,1038],anchor:[20,21.5]},{id:
\"
idler4
\"
,texture:
\"
idlerWheel
\"
,pos:[475,1038],anchor:[20,21.5]},{id:
\"
idler5
\"
,texture:
\"
idlerWheel
\"
,pos:[575,1038],anchor:[20,21.5]},{id:
\"
idler6
\"
,texture:
\"
idlerWheel
\"
,pos:[675,1038],anchor:[20,21.5]}]},getGuideInfo=function(){return window.localStorage?localStorage.getItem(
\"
recyclingGuide
\"
):0},setGuide=function(){window.localStorage&&localStorage.setItem(
\"
recyclingGuide
\"
,
\"
1
\"
)},createBg=function(e){void 0===e&&(e=1);var t=new engine.Graphics;return t.beginFill(0),t.drawRect(0,0,750,1624),t.endFill(),t.alpha=e,t},createImg=function(e){return new engine.Sprite(getTextureByName(e))},CountDownGroup=function(t){function e(){var e=t.call(this)||this;return e.addChild(createBg(.6)),e.num1=createImg(
\"
num1
\"
),e.num2=createImg(
\"
num2
\"
),e.num3=createImg(
\"
num3
\"
),e.go=createImg(
\"
go
\"
),e.go.anchorX=240,e.go.anchorY=171.5,e.num1.anchorX=125.5,e.num1.anchorY=189,e.num2.anchorX=149.5,e.num2.anchorY=191.5,e.num3.anchorX=148.5,e.num3.anchorY=191.5,e.go.x=135,e.go.y=353.5,e.num1.x=249.5,e.num1.y=340,e.num2.x=225.5,e.num2.y=334.5,e.num3.x=226.5,e.num3.y=333.5,e.addChild(e.num1),e.addChild(e.num2),e.addChild(e.num3),e.addChild(e.go),e.visible=!1,e.reset(),e}return tslib.__extends(e,t),e.prototype.reset=function(){this.go.alpha=this.num1.alpha=this.num2.alpha=this.num3.alpha=0,this.go.scaleX=this.num1.scaleX=this.num2.scaleX=this.num3.scaleX=3,this.go.scaleY=this.num1.scaleY=this.num2.scaleY=this.num3.scaleY=3},e.prototype.startCountDown=function(){return tslib.__awaiter(this,void 0,void 0,function(){var t=this;return tslib.__generator(this,function(e){return[2,new Promise(function(e){t.reset(),t.visible=!0,t.num3.alpha=1,engine.Tween.get(t.num3).to({scaleX:.8,scaleY:.8},200).to({scaleX:1,scaleY:1},100).wait(500).to({scaleX:0,scaleY:0},200).call(function(){t.num2.alpha=1,engine.Tween.get(t.num2).to({scaleX:.8,scaleY:.8},200).to({scaleX:1,scaleY:1},100).wait(500).to({scaleX:0,scaleY:0},200).call(function(){t.num1.alpha=1,engine.Tween.get(t.num1).to({scaleX:.8,scaleY:.8},200).to({scaleX:1,scaleY:1},100).wait(500).to({scaleX:0,scaleY:0},200).call(function(){t.go.alpha=1,engine.Tween.get(t.go).to({scaleX:.8,scaleY:.8},200).to({scaleX:1,scaleY:1},100).wait(500).call(function(){t.visible=!1,e()})})})})})]})})},e}(engine.Sprite),GuideView=function(t){function e(){var e=t.call(this)||this;return e.initUI(),e.visible=!1,e}return tslib.__extends(e,t),e.prototype.initUI=function(){this.addChild(createBg(.6)),this.guideBg=createImg(
\"
guideBg
\"
),this.addChild(this.guideBg),this.guideEle=createImg(
\"
guideEle
\"
),this.addChild(this.guideEle),this.guideBg.x=393,this.guideBg.y=552,this.guideEle.x=361,this.guideEle.y=877,this.guideEle.mouseEnabled=this.guideEle.mouseChildren=!0;var e=createSvga(
\"
guideTips
\"
);this.svga=e,this.addChild(e),e.gotoAndStop(1),e.mouseEnabled=e.mouseChildren=!1},e.prototype.checkHit=function(e,t,n,i){var r=new engine.Rectangle(393,552,281,320);return e>r.x&&t>r.y&&e+n<r.x+r.width&&t+i<r.y+r.height},e.prototype.startGuide=function(){return tslib.__awaiter(this,void 0,void 0,function(){var a=this;return tslib.__generator(this,function(e){return[2,new Promise(function(t){a.visible=!0,a.svga.gotoAndStop(1),a.svga.play(!1,!0),a.guideEle.scaleX=1,a.guideEle.scaleY=1;function n(e){a.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE,r,a),a.checkHit(a.guideEle.x,a.guideEle.y,a.guideEle.width,a.guideEle.height)?(a.guideEle.removeEventListener(engine.MouseEvent.MOUSE_DOWN,o,a),engine.Tween.get(a.guideEle).to({scaleX:0,scaleY:0},300).call(function(){a.visible=!1,t()})):(a.svga.visible=!0,a.guideEle.x=361,a.guideEle.y=877)}var i=[0,0],r=function(e){a.guideEle.x=e.stageX-i[0],a.guideEle.y=e.stageY-i[1]},o=function(e){i=[e.localX,e.localY],a.svga.visible=!1,a.stage.once(engine.MouseEvent.MOUSE_UP,n,a),a.stage.addEventListener(engine.MouseEvent.MOUSE_MOVE,r,a)};a.guideEle.addEventListener(engine.MouseEvent.MOUSE_DOWN,o,a)})]})})},e}(engine.Sprite),GameView=function(t){function e(){var e=t.call(this)||this;return e._timeCounter=0,e.score=0,e.once(engine.Event.ADDED_TO_STAGE,e.setup,e),e}return tslib.__extends(e,t),e.prototype.configUI=function(){var e={};this.uiMap=e;for(var t=0,n=uiConfig();t<n.length;t++){var i=n[t],r=i.id,o=i.texture,a=i.pos,s=i.anchor,c=new engine.Sprite(getTextureByName(o));this.addChild(c),e[r]=c,s&&(c.anchorX=s[0],c.anchorY=s[1]),a&&(c.x=a[0],c.y=a[1],s&&(c.x=a[0]-c.anchorX,c.y=a[1]-c.anchorY))}this.configConveyors(),this.createRects(),this.countdown=new CountDownGroup,this.addChild(this.countdown),this.guide=new GuideView,this.addChild(this.guide)},e.prototype.createRects=function(){this.wetWaste=this.createRect(74,552,301,293,16777215),this.harmfulWaste=this.createRect(75,247,300,293,16711680),this.dryWaste=this.createRect(389,249,286,291,0),this.recoverableWaste=this.createRect(389,551,287,292,255)},e.prototype.createRect=function(e,t,n,i,r){var o=new engine.Rectangle(e,t,n,i),a=new engine.Sprite;this.addChild(a),a.x=e,a.y=t;var s=new engine.Graphics;return s.alpha=0,s.beginFill(r),s.drawRect(0,0,n,i),s.endFill(),a.addChild(s),o},e.prototype.configConveyors=function(){var e=new Conveyor;e.x=0,e.y=904.21;var t=new Conveyor;this.addChild(e),this.addChild(t),t.x=764,t.y=904.21},e.prototype.playAni=function(){var t=this,e=[
\"
idler0
\"
,
\"
idler1
\"
,
\"
idler2
\"
,
\"
idler3
\"
,
\"
idler4
\"
,
\"
idler5
\"
,
\"
idler6
\"
];(e=e.map(function(e){return t.uiMap[e]})).forEach(function(e){engine.Tween.get(e,{loop:!0}).to({rotation:-360},1e3)})},e.prototype.stopAni=function(){var t=this,e=[
\"
idler0
\"
,
\"
idler1
\"
,
\"
idler2
\"
,
\"
idler3
\"
,
\"
idler4
\"
,
\"
idler5
\"
,
\"
idler6
\"
];(e=e.map(function(e){return t.uiMap[e]})).forEach(function(e){engine.Tween.removeTweens(e)})},e.prototype.start=function(){return tslib.__awaiter(this,void 0,void 0,function(){var t=this;return tslib.__generator(this,function(e){switch(e.label){case 0:return console.log(
\"
on start
\"
),this._timeCounter=0,this.score=0,getGuideInfo()?[3,2]:[4,this.guide.startGuide()];case 1:e.sent(),setGuide(),e.label=2;case 2:return[4,this.countdown.startCountDown()];case 3:return e.sent(),this.startGame(),engine.globalEvent.dispatchEvent(
\"
recycling-time-update
\"
,{second:this.getSecond()}),this._timer=setInterval(function(){t.onTimer()},1e3),[2]}})})},e.prototype.startGame=function(){this.playAni(),this.stage.addEventListener(engine.MouseEvent.CLICK,this.xxx,this)},e.prototype.xxx=function(){this.score++,engine.globalEvent.dispatchEvent(
\"
recycling-score-update
\"
,{score:this.score})},e.prototype.stopGame=function(){this.stage.removeEventListener(engine.MouseEvent.CLICK,this.xxx,this),this.stopAni()},e.prototype.getSecond=function(){return props.time-this._timeCounter},e.prototype.onTimer=function(){this._timeCounter++,engine.globalEvent.dispatchEvent(
\"
recycling-time-update
\"
,{second:this.getSecond()}),0==this.getSecond()&&(this.stop(),engine.globalEvent.dispatchEvent(
\"
recycling-game-end
\"
,{}))},e.prototype.stop=function(){clearInterval(this._timer),this.stopGame()},e.prototype.setup=function(){console.log(
\"
onSteup
\"
,props),this.configUI()},e.prototype.onDown=function(e){},e.prototype.stageOnUp=function(e){},e.prototype.onSuccess=function(){},e.prototype.onMove=function(e){},e}(engine.Container),GameWrapper=function(n){function e(){var e=n.call(this)||this;engine.globalEvent.addEventListener(
\"
recycling-start
\"
,e.start,e),engine.globalEvent.addEventListener(
\"
recycling-stop
\"
,e.stop,e);var t=e._gameView=new GameView;return e.addChild(t),e}return tslib.__extends(e,n),e.prototype.start=function(e){injectProps(e.data),this._gameView.start()},e.prototype.stop=function(e){this._gameView.stop()},e}(engine.Container);function index(e){return prepareProps(),injectProps(e),new GameWrapper}module.exports=index
;
\n
"
"code"
:
"
(function (global, factory) {
\n\t
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tslib')) :
\n\t
typeof 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\t
function getTexture(uuid) {
\n\t
return engine.Texture.from(getAssetByUUID(uuid).uuid);
\n\t
}
\n\t
function getTextureByName(name) {
\n\t
return getTexture(engine.getAssetByName(name).uuid);
\n\t
}
\n\t
function 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\t
var props = {};
\n\t
function prepareProps() {
\n\t
var metaProps = getProps();
\n\t
engine.injectProp(props, metaProps);
\n\t
}
\n\t
function injectProps(p) {
\n\t
engine.injectProp(props, p);
\n\t
}
\n\t
//# sourceMappingURL=props.js.map
\n\n\t
var 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.createItem = function (x, y) {
\n\t
var sp = new engine.Sprite();
\n\t
this.addChild(sp);
\n\t
sp.x = x - 50;
\n\t
sp.y = y - 50;
\n\t
var g = new engine.Graphics;
\n\t
g.beginFill(0xff0000);
\n\t
g.drawRect(0, 0, 100, 100);
\n\t
g.endFill();
\n\t
sp.addChild(g);
\n\t
return sp;
\n\t
};
\n\t
return Conveyor;
\n\t
}(engine.Sprite));
\n\t
//# sourceMappingURL=Conveyor.js.map
\n\n\t
var 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\t
var getGuideInfo = (function () {
\n\t
if (!window.localStorage) {
\n\t
return 0;
\n\t
}
\n\t
return localStorage.getItem('recyclingGuide');
\n\t
});
\n\t
var setGuide = function () {
\n\t
if (window.localStorage)
\n\t
localStorage.setItem('recyclingGuide', '1');
\n\t
};
\n\t
//# sourceMappingURL=getGuideInfo.js.map
\n\n\t
var 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\t
var createImg = (function (texture) {
\n\t
return new engine.Sprite(getTextureByName(texture));
\n\t
});
\n\t
//# sourceMappingURL=createImg.js.map
\n\n\t
var 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
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
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
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
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\t
var 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 = 393;
\n\t
this.guideBg.y = 552;
\n\t
this.guideEle.x = 361;
\n\t
this.guideEle.y = 877;
\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(393, 552, 281, 320);
\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
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
}
\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\t
var Garbage = (function (_super) {
\n\t
tslib.__extends(Garbage, _super);
\n\t
function Garbage(texture) {
\n\t
var _this = _super.call(this, texture) || this;
\n\t
_this.isWrong = false;
\n\t
_this.isRight = false;
\n\t
return _this;
\n\t
}
\n\t
return Garbage;
\n\t
}(engine.Sprite));
\n\n\t
var GarbageTypes;
\n\t
(function (GarbageTypes) {
\n\t
GarbageTypes[GarbageTypes[
\"
recoverableWaste
\"
] = 0] =
\"
recoverableWaste
\"
;
\n\t
GarbageTypes[GarbageTypes[
\"
harmfulWaste
\"
] = 1] =
\"
harmfulWaste
\"
;
\n\t
GarbageTypes[GarbageTypes[
\"
wetWaste
\"
] = 2] =
\"
wetWaste
\"
;
\n\t
GarbageTypes[GarbageTypes[
\"
dryWaste
\"
] = 3] =
\"
dryWaste
\"
;
\n\t
})(GarbageTypes || (GarbageTypes = {}));
\n\t
//# sourceMappingURL=GarbageTypes.js.map
\n\n\t
var GarbageConfig = (function () {
\n\t
function GarbageConfig() {
\n\t
}
\n\t
GarbageConfig.config = [
\n\t
{ name:
\"
电池
\"
, source:
\"
g00
\"
, type: GarbageTypes.harmfulWaste, width: 51, height: 123 },
\n\t
{ name:
\"
温度计
\"
, source:
\"
g01
\"
, type: GarbageTypes.harmfulWaste, width: 65, height: 130 },
\n\t
{ name:
\"
鱼刺
\"
, source:
\"
g02
\"
, type: GarbageTypes.wetWaste, width: 104, height: 82 },
\n\t
{ name:
\"
龙虾
\"
, source:
\"
g03
\"
, type: GarbageTypes.wetWaste, width: 129, height: 122 },
\n\t
{ name:
\"
西瓜
\"
, source:
\"
g04
\"
, type: GarbageTypes.wetWaste, width: 134, height: 111 },
\n\t
{ name:
\"
旧玩具
\"
, source:
\"
g05
\"
, type: GarbageTypes.recoverableWaste, width: 72, height: 135 },
\n\t
{ name:
\"
口红
\"
, source:
\"
g06
\"
, type: GarbageTypes.dryWaste, width: 49, height: 134 },
\n\t
{ name:
\"
面包
\"
, source:
\"
g07
\"
, type: GarbageTypes.wetWaste, width: 96, height: 128 },
\n\t
{ name:
\"
绿植
\"
, source:
\"
g08
\"
, type: GarbageTypes.wetWaste, width: 81, height: 131 },
\n\t
{ name:
\"
保温瓶
\"
, source:
\"
g09
\"
, type: GarbageTypes.recoverableWaste, width: 66, height: 137 },
\n\t
{ name:
\"
破衣服
\"
, source:
\"
g10
\"
, type: GarbageTypes.recoverableWaste, width: 91, height: 121 },
\n\t
{ name:
\"
茶叶渣
\"
, source:
\"
g11
\"
, type: GarbageTypes.wetWaste, width: 108, height: 125 },
\n\t
{ name:
\"
湿巾
\"
, source:
\"
g12
\"
, type: GarbageTypes.dryWaste, width: 106, height: 109 },
\n\t
{ name:
\"
过期药膏
\"
, source:
\"
g13
\"
, type: GarbageTypes.harmfulWaste, width: 107, height: 130 },
\n\t
{ name:
\"
用完的洗发水瓶
\"
, source:
\"
g14
\"
, type: GarbageTypes.recoverableWaste, width: 153, height: 148 },
\n\t
{ name:
\"
婴儿纸尿裤
\"
, source:
\"
g15
\"
, type: GarbageTypes.dryWaste, width: 108, height: 123 },
\n\t
{ name:
\"
香水瓶
\"
, source:
\"
g16
\"
, type: GarbageTypes.recoverableWaste, width: 65, height: 127 },
\n\t
{ name:
\"
花甲壳
\"
, source:
\"
g17
\"
, type: GarbageTypes.wetWaste, width: 99, height: 115 },
\n\t
{ name:
\"
过期调味料
\"
, source:
\"
g18
\"
, type: GarbageTypes.wetWaste, width: 109, height: 130 },
\n\t
{ name:
\"
地毯
\"
, source:
\"
g19
\"
, type: GarbageTypes.recoverableWaste, width: 145, height: 119 },
\n\t
{ name:
\"
甘蔗渣
\"
, source:
\"
g20
\"
, type: GarbageTypes.wetWaste, width: 100, height: 116 },
\n\t
{ name:
\"
玻璃渣
\"
, source:
\"
g21
\"
, type: GarbageTypes.recoverableWaste, width: 95, height: 122 },
\n\t
{ name:
\"
番茄酱
\"
, source:
\"
g22
\"
, type: GarbageTypes.wetWaste, width: 82, height: 125 },
\n\t
{ name:
\"
酒精棉
\"
, source:
\"
g23
\"
, type: GarbageTypes.dryWaste, width: 64, height: 124 },
\n\t
{ name:
\"
指甲油瓶子
\"
, source:
\"
g24
\"
, type: GarbageTypes.harmfulWaste, width: 109, height: 125 },
\n\t
{ name:
\"
肉骨头
\"
, source:
\"
g25
\"
, type: GarbageTypes.dryWaste, width: 67, height: 123 },
\n\t
{ name:
\"
嚼过的口香糖
\"
, source:
\"
g26
\"
, type: GarbageTypes.dryWaste, width: 135, height: 116 },
\n\t
{ name:
\"
充电插头
\"
, source:
\"
g27
\"
, type: GarbageTypes.recoverableWaste, width: 86, height: 128 },
\n\t
{ name:
\"
旧报纸
\"
, source:
\"
g28
\"
, type: GarbageTypes.recoverableWaste, width: 68, height: 124 },
\n\t
{ name:
\"
烟头
\"
, source:
\"
g29
\"
, type: GarbageTypes.dryWaste, width: 108, height: 145 },
\n\t
{ name:
\"
奶茶塑料杯
\"
, source:
\"
g30
\"
, type: GarbageTypes.dryWaste, width: 109, height: 143 },
\n\t
{ name:
\"
瓜子壳
\"
, source:
\"
g31
\"
, type: GarbageTypes.wetWaste, width: 87, height: 121 },
\n\t
{ name:
\"
橘子皮
\"
, source:
\"
g32
\"
, type: GarbageTypes.wetWaste, width: 78, height: 120 },
\n\t
{ name:
\"
气球
\"
, source:
\"
g33
\"
, type: GarbageTypes.dryWaste, width: 78, height: 121 },
\n\t
{ name:
\"
树叶
\"
, source:
\"
g34
\"
, type: GarbageTypes.wetWaste, width: 75, height: 117 },
\n\t
{ name:
\"
感冒药
\"
, source:
\"
g35
\"
, type: GarbageTypes.harmfulWaste, width: 92, height: 121 },
\n\t
{ name:
\"
电话机
\"
, source:
\"
g36
\"
, type: GarbageTypes.recoverableWaste, width: 63, height: 121 },
\n\t
{ name:
\"
奶酪
\"
, source:
\"
g37
\"
, type: GarbageTypes.wetWaste, width: 90, height: 116 },
\n\t
{ name:
\"
啤酒瓶
\"
, source:
\"
g38
\"
, type: GarbageTypes.recoverableWaste, width: 64, height: 123 },
\n\t
{ name:
\"
薯片包装
\"
, source:
\"
g39
\"
, type: GarbageTypes.dryWaste, width: 134, height: 123 },
\n\t
{ name:
\"
过期保健品
\"
, source:
\"
g40
\"
, type: GarbageTypes.harmfulWaste, width: 108, height: 125 },
\n\t
{ name:
\"
雪糕包装袋
\"
, source:
\"
g41
\"
, type: GarbageTypes.dryWaste, width: 109, height: 128 },
\n\t
{ name:
\"
废油漆
\"
, source:
\"
g42
\"
, type: GarbageTypes.harmfulWaste, width: 98, height: 122 },
\n\t
{ name:
\"
食品罐头
\"
, source:
\"
g43
\"
, type: GarbageTypes.recoverableWaste, width: 94, height: 117 },
\n\t
{ name:
\"
陶瓷碗
\"
, source:
\"
g44
\"
, type: GarbageTypes.dryWaste, width: 105, height: 122 },
\n\t
{ name:
\"
蚊香
\"
, source:
\"
g45
\"
, type: GarbageTypes.dryWaste, width: 69, height: 146 },
\n\t
{ name:
\"
电脑机箱
\"
, source:
\"
g46
\"
, type: GarbageTypes.recoverableWaste, width: 84, height: 124 },
\n\t
{ name:
\"
鲜花
\"
, source:
\"
g47
\"
, type: GarbageTypes.wetWaste, width: 62, height: 122 },
\n\t
{ name:
\"
宠物粮食
\"
, source:
\"
g48
\"
, type: GarbageTypes.wetWaste, width: 87, height: 121 },
\n\t
{ name:
\"
银行卡
\"
, source:
\"
g49
\"
, type: GarbageTypes.recoverableWaste, width: 115, height: 123 },
\n\t
];
\n\t
return GarbageConfig;
\n\t
}());
\n\t
//# sourceMappingURL=GarbageConfig.js.map
\n\n\t
var 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\t
var 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\t
var 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.currConfigPool = [];
\n\t
_this.currGamePool = [];
\n\t
_this.p = 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
this.conveyorsPool.push(this.conveyor0);
\n\t
this.conveyorsPool.push(this.conveyor1);
\n\t
};
\n\t
Conveyors.prototype.setDefault = function () {
\n\t
this.score = 0;
\n\t
this.clear();
\n\t
this.currConfigPool = shuffle(this.GarbageConfig);
\n\t
for (var i = 0; i < 20; i++) {
\n\t
this.currConfigPool[i].idx = i;
\n\t
this.currConfigPool[i].isRight = false;
\n\t
this.currConfigPool[i].isMistake = false;
\n\t
this.currConfigPool[i].isOnStage = false;
\n\t
this.currGamePool.push(this.currConfigPool[i]);
\n\t
}
\n\t
var gamePoolIdx = 0;
\n\t
for (var i = 0; i < 5; i++) {
\n\t
var g = this.currGamePool[gamePoolIdx];
\n\t
gamePoolIdx += 1;
\n\t
var garbage = new Garbage(getTextureByName(g.source));
\n\t
g.isOnStage = true;
\n\t
garbage.type = g.type;
\n\t
garbage.name = g.name;
\n\t
garbage.anchorX = g.width / 2;
\n\t
garbage.anchorY = g.height;
\n\t
garbage.x = 0;
\n\t
garbage.y = 90;
\n\t
this.conveyor1[
\"
idx
\"
+ i].addChild(garbage);
\n\t
garbage.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDwon_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 == 100) {
\n\t
this.gameOver();
\n\t
}
\n\t
this.conveyorsPool.forEach(function (conveyor) {
\n\t
conveyor.x -= props.speed || 3;
\n\t
});
\n\t
if (this.conveyorsPool.length > 1) {
\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.p.addChild(conveyor);
\n\t
this.conveyorsPool.push(conveyor);
\n\t
}
\n\t
else {
\n\t
var asdasd = [];
\n\t
for (var n = 0; n < this.currGamePool.length; n++) {
\n\t
var cgg = this.currGamePool[n];
\n\t
if (!cgg.isRight && !cgg.isOnStage) {
\n\t
asdasd.push(cgg);
\n\t
}
\n\t
}
\n\t
var cc = this.conveyorsPool[this.conveyorsPool.length - 1];
\n\t
for (var m = 0; m < 5; m++) {
\n\t
if (!cc[
\"
idx
\"
+ m].children[0]) {
\n\t
var g = asdasd.shift();
\n\t
if (g) {
\n\t
g.isOnStage = true;
\n\t
var garbage = new Garbage(g.source);
\n\t
garbage.type = g.type;
\n\t
garbage.name = g.name;
\n\t
garbage.anchorX = g.width / 2;
\n\t
garbage.anchorY = g.height;
\n\t
garbage.x = 0;
\n\t
garbage.y = 90;
\n\t
cc[
\"
idx
\"
+ m].addChild(garbage);
\n\t
garbage.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDwon_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.currGamePool.length; k++) {
\n\t
var garbage = this.currGamePool[k];
\n\t
var cc = this.conveyorsPool[0][
\"
idx
\"
+ 4];
\n\t
if (cc.children[0]) {
\n\t
if (garbage.name == cc.children[0].$name) {
\n\t
garbage.isOnStage = false;
\n\t
removeEle(garbage, this.currGamePool);
\n\t
this.currGamePool.push(garbage);
\n\t
cc.removeChild(cc.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.currGamePool.length; k++) {
\n\t
var garbage = this.currGamePool[k];
\n\t
var cc = this.conveyorsPool[0][
\"
idx
\"
+ 3];
\n\t
if (cc.children[0]) {
\n\t
if (garbage.name == cc.children[0].$name) {
\n\t
garbage.isOnStage = false;
\n\t
removeEle(garbage, this.currGamePool);
\n\t
this.currGamePool.push(garbage);
\n\t
cc.removeChild(cc.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.currGamePool.length; k++) {
\n\t
var garbage = this.currGamePool[k];
\n\t
var cc = this.conveyorsPool[0][
\"
idx
\"
+ 2];
\n\t
if (cc.children[0]) {
\n\t
if (garbage.name == cc.children[0].$name) {
\n\t
garbage.isOnStage = false;
\n\t
removeEle(garbage, this.currGamePool);
\n\t
this.currGamePool.push(garbage);
\n\t
cc.removeChild(cc.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.currGamePool.length; k++) {
\n\t
var garbage = this.currGamePool[k];
\n\t
var cc = this.conveyorsPool[0][
\"
idx
\"
+ 1];
\n\t
if (cc.children[0]) {
\n\t
if (garbage.name == cc.children[0].$name) {
\n\t
garbage.isOnStage = false;
\n\t
removeEle(garbage, this.currGamePool);
\n\t
this.currGamePool.push(garbage);
\n\t
cc.removeChild(cc.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.currGamePool.length; k++) {
\n\t
var garbage = this.currGamePool[k];
\n\t
var cc = this.conveyorsPool[0][
\"
idx
\"
+ 0];
\n\t
if (cc.children[0]) {
\n\t
if (garbage.name == cc.children[0].$name) {
\n\t
garbage.isOnStage = false;
\n\t
removeEle(garbage, this.currGamePool);
\n\t
this.currGamePool.push(garbage);
\n\t
cc.removeChild(cc.children[0]);
\n\t
break;
\n\t
}
\n\t
}
\n\t
}
\n\t
}
\n\t
}
\n\t
};
\n\t
Conveyors.prototype.addscore = function (n) {
\n\t
this.score += n;
\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.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);
\n\t
};
\n\t
Conveyors.prototype.onDwon_garbage = function () {
\n\t
};
\n\t
Conveyors.prototype.clear = function () {
\n\t
this.currGamePool = [];
\n\t
};
\n\t
Conveyors.prototype.timeout = function () {
\n\t
engine.gameStage.removeEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this);
\n\t
};
\n\t
return Conveyors;
\n\t
}(engine.Sprite));
\n\t
//# sourceMappingURL=Conveyors.js.map
\n\n\t
var 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.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
};
\n\t
GameView.prototype.createRects = function () {
\n\t
this.wetWaste = this.createRect(74, 552, 301, 293, 0xffffff);
\n\t
this.harmfulWaste = this.createRect(75, 247, 300, 293, 0xff0000);
\n\t
this.dryWaste = this.createRect(389, 249, 286, 291, 0x000000);
\n\t
this.recoverableWaste = this.createRect(389, 551, 287, 292, 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
conveyor0.x = 0;
\n\t
var conveyor1 = new Conveyor();
\n\t
this.addChild(conveyor0);
\n\t
this.addChild(conveyor1);
\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
console.log('on start');
\n\t
this._timeCounter = 0;
\n\t
if (!!getGuideInfo()) return [3, 2];
\n\t
return [4, this.guide.startGuide()];
\n\t
case 1:
\n\t
_a.sent();
\n\t
setGuide();
\n\t
_a.label = 2;
\n\t
case 2: 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
engine.globalEvent.dispatchEvent('recycling-game-end', {});
\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\t
var 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-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.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\t
function 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\t
return index;
\n\n
})))
;
\n
"
}
src/custom/recycling/debug/app.js
View file @
63f061c8
...
...
@@ -46,7 +46,7 @@ function launchWithCustomModule(customModule) {
},
100
);
setTimeout
(()
=>
{
engine
.
globalEvent
.
dispatchEvent
(
'recycling-start'
,
{
time
:
2
});
engine
.
globalEvent
.
dispatchEvent
(
'recycling-start'
,
{
time
:
2
00
,
speed
:
3
});
const
d
=
engine
.
gameStage
.
sceneContainer
.
getChildAt
(
0
);
},
200
);
...
...
src/custom/recycling/debug/main.js
View file @
63f061c8
"use strict"
;
var
tslib
=
require
(
"tslib"
);
function
getTexture
(
e
){
return
engine
.
Texture
.
from
(
getAssetByUUID
(
e
).
uuid
)}
function
getTextureByName
(
e
){
return
getTexture
(
engine
.
getAssetByName
(
e
).
uuid
)}
function
createSvga
(
e
,
t
){
var
n
=
new
svga
.
Svga
;
return
n
.
source
=
"asset://"
+
engine
.
getAssetByName
(
e
).
uuid
,
n
}
var
props
=
{};
function
prepareProps
(){
var
e
=
getProps
();
engine
.
injectProp
(
props
,
e
)}
function
injectProps
(
e
){
engine
.
injectProp
(
props
,
e
)}
var
Conveyor
=
function
(
n
){
function
e
(){
var
e
=
n
.
call
(
this
)
||
this
,
t
=
new
engine
.
Sprite
(
getTextureByName
(
"conveyor"
));
return
e
.
addChild
(
t
),
e
.
idx0
=
e
.
createItem
(
75
,
50
),
e
.
idx1
=
e
.
createItem
(
225
,
50
),
e
.
idx2
=
e
.
createItem
(
375
,
50
),
e
.
idx3
=
e
.
createItem
(
525
,
50
),
e
.
idx4
=
e
.
createItem
(
675
,
50
),
e
}
return
tslib
.
__extends
(
e
,
n
),
e
.
prototype
.
createItem
=
function
(
e
,
t
){
var
n
=
new
engine
.
Sprite
;
this
.
addChild
(
n
),
n
.
x
=
e
-
50
,
n
.
y
=
t
-
50
;
var
i
=
new
engine
.
Graphics
;
return
i
.
beginFill
(
16711680
),
i
.
drawRect
(
0
,
0
,
100
,
100
),
i
.
endFill
(),
n
.
addChild
(
i
),
n
},
e
}(
engine
.
Sprite
),
uiConfig
=
function
(){
return
[{
id
:
"playBg"
,
texture
:
"playBg"
},{
id
:
"idler0"
,
texture
:
"idlerWheel"
,
pos
:[
75
,
1038
],
anchor
:[
20
,
21.5
]},{
id
:
"idler1"
,
texture
:
"idlerWheel"
,
pos
:[
175
,
1038
],
anchor
:[
20
,
21.5
]},{
id
:
"idler2"
,
texture
:
"idlerWheel"
,
pos
:[
275
,
1038
],
anchor
:[
20
,
21.5
]},{
id
:
"idler3"
,
texture
:
"idlerWheel"
,
pos
:[
375
,
1038
],
anchor
:[
20
,
21.5
]},{
id
:
"idler4"
,
texture
:
"idlerWheel"
,
pos
:[
475
,
1038
],
anchor
:[
20
,
21.5
]},{
id
:
"idler5"
,
texture
:
"idlerWheel"
,
pos
:[
575
,
1038
],
anchor
:[
20
,
21.5
]},{
id
:
"idler6"
,
texture
:
"idlerWheel"
,
pos
:[
675
,
1038
],
anchor
:[
20
,
21.5
]}]},
getGuideInfo
=
function
(){
return
window
.
localStorage
?
localStorage
.
getItem
(
"recyclingGuide"
):
0
},
setGuide
=
function
(){
window
.
localStorage
&&
localStorage
.
setItem
(
"recyclingGuide"
,
"1"
)},
createBg
=
function
(
e
){
void
0
===
e
&&
(
e
=
1
);
var
t
=
new
engine
.
Graphics
;
return
t
.
beginFill
(
0
),
t
.
drawRect
(
0
,
0
,
750
,
1624
),
t
.
endFill
(),
t
.
alpha
=
e
,
t
},
createImg
=
function
(
e
){
return
new
engine
.
Sprite
(
getTextureByName
(
e
))},
CountDownGroup
=
function
(
t
){
function
e
(){
var
e
=
t
.
call
(
this
)
||
this
;
return
e
.
addChild
(
createBg
(.
6
)),
e
.
num1
=
createImg
(
"num1"
),
e
.
num2
=
createImg
(
"num2"
),
e
.
num3
=
createImg
(
"num3"
),
e
.
go
=
createImg
(
"go"
),
e
.
go
.
anchorX
=
240
,
e
.
go
.
anchorY
=
171.5
,
e
.
num1
.
anchorX
=
125.5
,
e
.
num1
.
anchorY
=
189
,
e
.
num2
.
anchorX
=
149.5
,
e
.
num2
.
anchorY
=
191.5
,
e
.
num3
.
anchorX
=
148.5
,
e
.
num3
.
anchorY
=
191.5
,
e
.
go
.
x
=
135
,
e
.
go
.
y
=
353.5
,
e
.
num1
.
x
=
249.5
,
e
.
num1
.
y
=
340
,
e
.
num2
.
x
=
225.5
,
e
.
num2
.
y
=
334.5
,
e
.
num3
.
x
=
226.5
,
e
.
num3
.
y
=
333.5
,
e
.
addChild
(
e
.
num1
),
e
.
addChild
(
e
.
num2
),
e
.
addChild
(
e
.
num3
),
e
.
addChild
(
e
.
go
),
e
.
visible
=!
1
,
e
.
reset
(),
e
}
return
tslib
.
__extends
(
e
,
t
),
e
.
prototype
.
reset
=
function
(){
this
.
go
.
alpha
=
this
.
num1
.
alpha
=
this
.
num2
.
alpha
=
this
.
num3
.
alpha
=
0
,
this
.
go
.
scaleX
=
this
.
num1
.
scaleX
=
this
.
num2
.
scaleX
=
this
.
num3
.
scaleX
=
3
,
this
.
go
.
scaleY
=
this
.
num1
.
scaleY
=
this
.
num2
.
scaleY
=
this
.
num3
.
scaleY
=
3
},
e
.
prototype
.
startCountDown
=
function
(){
return
tslib
.
__awaiter
(
this
,
void
0
,
void
0
,
function
(){
var
t
=
this
;
return
tslib
.
__generator
(
this
,
function
(
e
){
return
[
2
,
new
Promise
(
function
(
e
){
t
.
reset
(),
t
.
visible
=!
0
,
t
.
num3
.
alpha
=
1
,
engine
.
Tween
.
get
(
t
.
num3
).
to
({
scaleX
:.
8
,
scaleY
:.
8
},
200
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
).
wait
(
500
).
to
({
scaleX
:
0
,
scaleY
:
0
},
200
).
call
(
function
(){
t
.
num2
.
alpha
=
1
,
engine
.
Tween
.
get
(
t
.
num2
).
to
({
scaleX
:.
8
,
scaleY
:.
8
},
200
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
).
wait
(
500
).
to
({
scaleX
:
0
,
scaleY
:
0
},
200
).
call
(
function
(){
t
.
num1
.
alpha
=
1
,
engine
.
Tween
.
get
(
t
.
num1
).
to
({
scaleX
:.
8
,
scaleY
:.
8
},
200
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
).
wait
(
500
).
to
({
scaleX
:
0
,
scaleY
:
0
},
200
).
call
(
function
(){
t
.
go
.
alpha
=
1
,
engine
.
Tween
.
get
(
t
.
go
).
to
({
scaleX
:.
8
,
scaleY
:.
8
},
200
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
).
wait
(
500
).
call
(
function
(){
t
.
visible
=!
1
,
e
()})})})})})]})})},
e
}(
engine
.
Sprite
),
GuideView
=
function
(
t
){
function
e
(){
var
e
=
t
.
call
(
this
)
||
this
;
return
e
.
initUI
(),
e
.
visible
=!
1
,
e
}
return
tslib
.
__extends
(
e
,
t
),
e
.
prototype
.
initUI
=
function
(){
this
.
addChild
(
createBg
(.
6
)),
this
.
guideBg
=
createImg
(
"guideBg"
),
this
.
addChild
(
this
.
guideBg
),
this
.
guideEle
=
createImg
(
"guideEle"
),
this
.
addChild
(
this
.
guideEle
),
this
.
guideBg
.
x
=
393
,
this
.
guideBg
.
y
=
552
,
this
.
guideEle
.
x
=
361
,
this
.
guideEle
.
y
=
877
,
this
.
guideEle
.
mouseEnabled
=
this
.
guideEle
.
mouseChildren
=!
0
;
var
e
=
createSvga
(
"guideTips"
);
this
.
svga
=
e
,
this
.
addChild
(
e
),
e
.
gotoAndStop
(
1
),
e
.
mouseEnabled
=
e
.
mouseChildren
=!
1
},
e
.
prototype
.
checkHit
=
function
(
e
,
t
,
n
,
i
){
var
r
=
new
engine
.
Rectangle
(
393
,
552
,
281
,
320
);
return
e
>
r
.
x
&&
t
>
r
.
y
&&
e
+
n
<
r
.
x
+
r
.
width
&&
t
+
i
<
r
.
y
+
r
.
height
},
e
.
prototype
.
startGuide
=
function
(){
return
tslib
.
__awaiter
(
this
,
void
0
,
void
0
,
function
(){
var
a
=
this
;
return
tslib
.
__generator
(
this
,
function
(
e
){
return
[
2
,
new
Promise
(
function
(
t
){
a
.
visible
=!
0
,
a
.
svga
.
gotoAndStop
(
1
),
a
.
svga
.
play
(
!
1
,
!
0
),
a
.
guideEle
.
scaleX
=
1
,
a
.
guideEle
.
scaleY
=
1
;
function
n
(
e
){
a
.
stage
.
removeEventListener
(
engine
.
MouseEvent
.
MOUSE_MOVE
,
r
,
a
),
a
.
checkHit
(
a
.
guideEle
.
x
,
a
.
guideEle
.
y
,
a
.
guideEle
.
width
,
a
.
guideEle
.
height
)?(
a
.
guideEle
.
removeEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
o
,
a
),
engine
.
Tween
.
get
(
a
.
guideEle
).
to
({
scaleX
:
0
,
scaleY
:
0
},
300
).
call
(
function
(){
a
.
visible
=!
1
,
t
()})):(
a
.
svga
.
visible
=!
0
,
a
.
guideEle
.
x
=
361
,
a
.
guideEle
.
y
=
877
)}
var
i
=
[
0
,
0
],
r
=
function
(
e
){
a
.
guideEle
.
x
=
e
.
stageX
-
i
[
0
],
a
.
guideEle
.
y
=
e
.
stageY
-
i
[
1
]},
o
=
function
(
e
){
i
=
[
e
.
localX
,
e
.
localY
],
a
.
svga
.
visible
=!
1
,
a
.
stage
.
once
(
engine
.
MouseEvent
.
MOUSE_UP
,
n
,
a
),
a
.
stage
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_MOVE
,
r
,
a
)};
a
.
guideEle
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
o
,
a
)})]})})},
e
}(
engine
.
Sprite
),
GameView
=
function
(
t
){
function
e
(){
var
e
=
t
.
call
(
this
)
||
this
;
return
e
.
_timeCounter
=
0
,
e
.
score
=
0
,
e
.
once
(
engine
.
Event
.
ADDED_TO_STAGE
,
e
.
setup
,
e
),
e
}
return
tslib
.
__extends
(
e
,
t
),
e
.
prototype
.
configUI
=
function
(){
var
e
=
{};
this
.
uiMap
=
e
;
for
(
var
t
=
0
,
n
=
uiConfig
();
t
<
n
.
length
;
t
++
){
var
i
=
n
[
t
],
r
=
i
.
id
,
o
=
i
.
texture
,
a
=
i
.
pos
,
s
=
i
.
anchor
,
c
=
new
engine
.
Sprite
(
getTextureByName
(
o
));
this
.
addChild
(
c
),
e
[
r
]
=
c
,
s
&&
(
c
.
anchorX
=
s
[
0
],
c
.
anchorY
=
s
[
1
]),
a
&&
(
c
.
x
=
a
[
0
],
c
.
y
=
a
[
1
],
s
&&
(
c
.
x
=
a
[
0
]
-
c
.
anchorX
,
c
.
y
=
a
[
1
]
-
c
.
anchorY
))}
this
.
configConveyors
(),
this
.
createRects
(),
this
.
countdown
=
new
CountDownGroup
,
this
.
addChild
(
this
.
countdown
),
this
.
guide
=
new
GuideView
,
this
.
addChild
(
this
.
guide
)},
e
.
prototype
.
createRects
=
function
(){
this
.
wetWaste
=
this
.
createRect
(
74
,
552
,
301
,
293
,
16777215
),
this
.
harmfulWaste
=
this
.
createRect
(
75
,
247
,
300
,
293
,
16711680
),
this
.
dryWaste
=
this
.
createRect
(
389
,
249
,
286
,
291
,
0
),
this
.
recoverableWaste
=
this
.
createRect
(
389
,
551
,
287
,
292
,
255
)},
e
.
prototype
.
createRect
=
function
(
e
,
t
,
n
,
i
,
r
){
var
o
=
new
engine
.
Rectangle
(
e
,
t
,
n
,
i
),
a
=
new
engine
.
Sprite
;
this
.
addChild
(
a
),
a
.
x
=
e
,
a
.
y
=
t
;
var
s
=
new
engine
.
Graphics
;
return
s
.
alpha
=
0
,
s
.
beginFill
(
r
),
s
.
drawRect
(
0
,
0
,
n
,
i
),
s
.
endFill
(),
a
.
addChild
(
s
),
o
},
e
.
prototype
.
configConveyors
=
function
(){
var
e
=
new
Conveyor
;
e
.
x
=
0
,
e
.
y
=
904.21
;
var
t
=
new
Conveyor
;
this
.
addChild
(
e
),
this
.
addChild
(
t
),
t
.
x
=
764
,
t
.
y
=
904.21
},
e
.
prototype
.
playAni
=
function
(){
var
t
=
this
,
e
=
[
"idler0"
,
"idler1"
,
"idler2"
,
"idler3"
,
"idler4"
,
"idler5"
,
"idler6"
];(
e
=
e
.
map
(
function
(
e
){
return
t
.
uiMap
[
e
]})).
forEach
(
function
(
e
){
engine
.
Tween
.
get
(
e
,{
loop
:
!
0
}).
to
({
rotation
:
-
360
},
1
e3
)})},
e
.
prototype
.
stopAni
=
function
(){
var
t
=
this
,
e
=
[
"idler0"
,
"idler1"
,
"idler2"
,
"idler3"
,
"idler4"
,
"idler5"
,
"idler6"
];(
e
=
e
.
map
(
function
(
e
){
return
t
.
uiMap
[
e
]})).
forEach
(
function
(
e
){
engine
.
Tween
.
removeTweens
(
e
)})},
e
.
prototype
.
start
=
function
(){
return
tslib
.
__awaiter
(
this
,
void
0
,
void
0
,
function
(){
var
t
=
this
;
return
tslib
.
__generator
(
this
,
function
(
e
){
switch
(
e
.
label
){
case
0
:
return
console
.
log
(
"on start"
),
this
.
_timeCounter
=
0
,
this
.
score
=
0
,
getGuideInfo
()?[
3
,
2
]:[
4
,
this
.
guide
.
startGuide
()];
case
1
:
e
.
sent
(),
setGuide
(),
e
.
label
=
2
;
case
2
:
return
[
4
,
this
.
countdown
.
startCountDown
()];
case
3
:
return
e
.
sent
(),
this
.
startGame
(),
engine
.
globalEvent
.
dispatchEvent
(
"recycling-time-update"
,{
second
:
this
.
getSecond
()}),
this
.
_timer
=
setInterval
(
function
(){
t
.
onTimer
()},
1
e3
),[
2
]}})})},
e
.
prototype
.
startGame
=
function
(){
this
.
playAni
(),
this
.
stage
.
addEventListener
(
engine
.
MouseEvent
.
CLICK
,
this
.
xxx
,
this
)},
e
.
prototype
.
xxx
=
function
(){
this
.
score
++
,
engine
.
globalEvent
.
dispatchEvent
(
"recycling-score-update"
,{
score
:
this
.
score
})},
e
.
prototype
.
stopGame
=
function
(){
this
.
stage
.
removeEventListener
(
engine
.
MouseEvent
.
CLICK
,
this
.
xxx
,
this
),
this
.
stopAni
()},
e
.
prototype
.
getSecond
=
function
(){
return
props
.
time
-
this
.
_timeCounter
},
e
.
prototype
.
onTimer
=
function
(){
this
.
_timeCounter
++
,
engine
.
globalEvent
.
dispatchEvent
(
"recycling-time-update"
,{
second
:
this
.
getSecond
()}),
0
==
this
.
getSecond
()
&&
(
this
.
stop
(),
engine
.
globalEvent
.
dispatchEvent
(
"recycling-game-end"
,{}))},
e
.
prototype
.
stop
=
function
(){
clearInterval
(
this
.
_timer
),
this
.
stopGame
()},
e
.
prototype
.
setup
=
function
(){
console
.
log
(
"onSteup"
,
props
),
this
.
configUI
()},
e
.
prototype
.
onDown
=
function
(
e
){},
e
.
prototype
.
stageOnUp
=
function
(
e
){},
e
.
prototype
.
onSuccess
=
function
(){},
e
.
prototype
.
onMove
=
function
(
e
){},
e
}(
engine
.
Container
),
GameWrapper
=
function
(
n
){
function
e
(){
var
e
=
n
.
call
(
this
)
||
this
;
engine
.
globalEvent
.
addEventListener
(
"recycling-start"
,
e
.
start
,
e
),
engine
.
globalEvent
.
addEventListener
(
"recycling-stop"
,
e
.
stop
,
e
);
var
t
=
e
.
_gameView
=
new
GameView
;
return
e
.
addChild
(
t
),
e
}
return
tslib
.
__extends
(
e
,
n
),
e
.
prototype
.
start
=
function
(
e
){
injectProps
(
e
.
data
),
this
.
_gameView
.
start
()},
e
.
prototype
.
stop
=
function
(
e
){
this
.
_gameView
.
stop
()},
e
}(
engine
.
Container
);
function
index
(
e
){
return
prepareProps
(),
injectProps
(
e
),
new
GameWrapper
}
module
.
exports
=
index
;
(
function
(
global
,
factory
)
{
typeof
exports
===
'object'
&&
typeof
module
!==
'undefined'
?
module
.
exports
=
factory
(
require
(
'tslib'
))
:
typeof
define
===
'function'
&&
define
.
amd
?
define
([
'tslib'
],
factory
)
:
(
global
=
global
||
self
,
global
.
recycling
=
factory
(
global
.
tslib
));
}(
this
,
(
function
(
tslib
)
{
'use strict'
;
function
getTexture
(
uuid
)
{
return
engine
.
Texture
.
from
(
getAssetByUUID
(
uuid
).
uuid
);
}
function
getTextureByName
(
name
)
{
return
getTexture
(
engine
.
getAssetByName
(
name
).
uuid
);
}
function
createSvga
(
name
,
anchorName
)
{
var
inst
=
new
svga
.
Svga
();
inst
.
source
=
'asset://'
+
engine
.
getAssetByName
(
name
).
uuid
;
return
inst
;
}
//# sourceMappingURL=utils.js.map
var
props
=
{};
function
prepareProps
()
{
var
metaProps
=
getProps
();
engine
.
injectProp
(
props
,
metaProps
);
}
function
injectProps
(
p
)
{
engine
.
injectProp
(
props
,
p
);
}
//# sourceMappingURL=props.js.map
var
Conveyor
=
(
function
(
_super
)
{
tslib
.
__extends
(
Conveyor
,
_super
);
function
Conveyor
()
{
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
y
=
904.21
;
var
sp
=
new
engine
.
Sprite
(
getTextureByName
(
'conveyor'
));
_this
.
addChild
(
sp
);
_this
.
idx0
=
_this
.
createItem
(
75
,
50
);
_this
.
idx1
=
_this
.
createItem
(
225
,
50
);
_this
.
idx2
=
_this
.
createItem
(
375
,
50
);
_this
.
idx3
=
_this
.
createItem
(
525
,
50
);
_this
.
idx4
=
_this
.
createItem
(
675
,
50
);
return
_this
;
}
Conveyor
.
prototype
.
createItem
=
function
(
x
,
y
)
{
var
sp
=
new
engine
.
Sprite
();
this
.
addChild
(
sp
);
sp
.
x
=
x
-
50
;
sp
.
y
=
y
-
50
;
var
g
=
new
engine
.
Graphics
;
g
.
beginFill
(
0xff0000
);
g
.
drawRect
(
0
,
0
,
100
,
100
);
g
.
endFill
();
sp
.
addChild
(
g
);
return
sp
;
};
return
Conveyor
;
}(
engine
.
Sprite
));
//# sourceMappingURL=Conveyor.js.map
var
uiConfig
=
(
function
()
{
return
[
{
id
:
'playBg'
,
texture
:
'playBg'
},
{
id
:
'idler0'
,
texture
:
'idlerWheel'
,
pos
:
[
75
,
1038
],
anchor
:
[
20
,
21.5
]
},
{
id
:
'idler1'
,
texture
:
'idlerWheel'
,
pos
:
[
175
,
1038
],
anchor
:
[
20
,
21.5
]
},
{
id
:
'idler2'
,
texture
:
'idlerWheel'
,
pos
:
[
275
,
1038
],
anchor
:
[
20
,
21.5
]
},
{
id
:
'idler3'
,
texture
:
'idlerWheel'
,
pos
:
[
375
,
1038
],
anchor
:
[
20
,
21.5
]
},
{
id
:
'idler4'
,
texture
:
'idlerWheel'
,
pos
:
[
475
,
1038
],
anchor
:
[
20
,
21.5
]
},
{
id
:
'idler5'
,
texture
:
'idlerWheel'
,
pos
:
[
575
,
1038
],
anchor
:
[
20
,
21.5
]
},
{
id
:
'idler6'
,
texture
:
'idlerWheel'
,
pos
:
[
675
,
1038
],
anchor
:
[
20
,
21.5
]
},
];
});
//# sourceMappingURL=uiConfig.js.map
var
getGuideInfo
=
(
function
()
{
if
(
!
window
.
localStorage
)
{
return
0
;
}
return
localStorage
.
getItem
(
'recyclingGuide'
);
});
var
setGuide
=
function
()
{
if
(
window
.
localStorage
)
localStorage
.
setItem
(
'recyclingGuide'
,
'1'
);
};
//# sourceMappingURL=getGuideInfo.js.map
var
createBg
=
(
function
(
a
)
{
if
(
a
===
void
0
)
{
a
=
1
;
}
var
rect
=
new
engine
.
Graphics
();
rect
.
beginFill
(
0
);
rect
.
drawRect
(
0
,
0
,
750
,
1624
);
rect
.
endFill
();
rect
.
alpha
=
a
;
return
rect
;
});
//# sourceMappingURL=createBg.js.map
var
createImg
=
(
function
(
texture
)
{
return
new
engine
.
Sprite
(
getTextureByName
(
texture
));
});
//# sourceMappingURL=createImg.js.map
var
CountDownGroup
=
(
function
(
_super
)
{
tslib
.
__extends
(
CountDownGroup
,
_super
);
function
CountDownGroup
()
{
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
addChild
(
createBg
(.
6
));
_this
.
num1
=
createImg
(
'num1'
);
_this
.
num2
=
createImg
(
'num2'
);
_this
.
num3
=
createImg
(
'num3'
);
_this
.
go
=
createImg
(
'go'
);
_this
.
go
.
anchorX
=
240
;
_this
.
go
.
anchorY
=
171.5
;
_this
.
num1
.
anchorX
=
125.5
;
_this
.
num1
.
anchorY
=
189
;
_this
.
num2
.
anchorX
=
149.5
;
_this
.
num2
.
anchorY
=
191.5
;
_this
.
num3
.
anchorX
=
148.5
;
_this
.
num3
.
anchorY
=
191.5
;
_this
.
go
.
x
=
750
/
2
-
240
;
_this
.
go
.
y
=
525
-
171.5
;
_this
.
num1
.
x
=
750
/
2
-
125.5
;
_this
.
num1
.
y
=
529
-
189
;
_this
.
num2
.
x
=
750
/
2
-
149.5
;
_this
.
num2
.
y
=
526
-
191.5
;
_this
.
num3
.
x
=
750
/
2
-
148.5
;
_this
.
num3
.
y
=
525
-
191.5
;
_this
.
addChild
(
_this
.
num1
);
_this
.
addChild
(
_this
.
num2
);
_this
.
addChild
(
_this
.
num3
);
_this
.
addChild
(
_this
.
go
);
_this
.
visible
=
false
;
_this
.
reset
();
return
_this
;
}
CountDownGroup
.
prototype
.
reset
=
function
()
{
this
.
go
.
alpha
=
this
.
num1
.
alpha
=
this
.
num2
.
alpha
=
this
.
num3
.
alpha
=
0
;
this
.
go
.
scaleX
=
this
.
num1
.
scaleX
=
this
.
num2
.
scaleX
=
this
.
num3
.
scaleX
=
3
;
this
.
go
.
scaleY
=
this
.
num1
.
scaleY
=
this
.
num2
.
scaleY
=
this
.
num3
.
scaleY
=
3
;
};
CountDownGroup
.
prototype
.
startCountDown
=
function
()
{
return
tslib
.
__awaiter
(
this
,
void
0
,
void
0
,
function
()
{
var
_this
=
this
;
return
tslib
.
__generator
(
this
,
function
(
_a
)
{
return
[
2
,
new
Promise
(
function
(
r
)
{
_this
.
reset
();
_this
.
visible
=
true
;
_this
.
num3
.
alpha
=
1
;
var
n3
=
engine
.
Tween
.
get
(
_this
.
num3
);
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
()
{
_this
.
num2
.
alpha
=
1
;
var
n2
=
engine
.
Tween
.
get
(
_this
.
num2
);
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
()
{
_this
.
num1
.
alpha
=
1
;
var
n1
=
engine
.
Tween
.
get
(
_this
.
num1
);
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
()
{
_this
.
go
.
alpha
=
1
;
var
go
=
engine
.
Tween
.
get
(
_this
.
go
);
go
.
to
({
scaleX
:
0.8
,
scaleY
:
0.8
},
200
).
to
({
scaleX
:
1
,
scaleY
:
1
},
100
).
wait
(
500
).
call
(
function
()
{
_this
.
visible
=
false
;
r
();
});
});
});
});
})];
});
});
};
return
CountDownGroup
;
}(
engine
.
Sprite
));
//# sourceMappingURL=CountDownGroup.js.map
var
GuideView
=
(
function
(
_super
)
{
tslib
.
__extends
(
GuideView
,
_super
);
function
GuideView
()
{
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
initUI
();
_this
.
visible
=
false
;
return
_this
;
}
GuideView
.
prototype
.
initUI
=
function
()
{
this
.
addChild
(
createBg
(.
6
));
this
.
guideBg
=
createImg
(
'guideBg'
);
this
.
addChild
(
this
.
guideBg
);
this
.
guideEle
=
createImg
(
'guideEle'
);
this
.
addChild
(
this
.
guideEle
);
this
.
guideBg
.
x
=
393
;
this
.
guideBg
.
y
=
552
;
this
.
guideEle
.
x
=
361
;
this
.
guideEle
.
y
=
877
;
this
.
guideEle
.
mouseEnabled
=
this
.
guideEle
.
mouseChildren
=
true
;
var
svga
=
createSvga
(
"guideTips"
);
this
.
svga
=
svga
;
this
.
addChild
(
svga
);
svga
.
gotoAndStop
(
1
);
svga
.
mouseEnabled
=
svga
.
mouseChildren
=
false
;
};
GuideView
.
prototype
.
checkHit
=
function
(
x
,
y
,
w
,
h
)
{
var
rect
=
new
engine
.
Rectangle
(
393
,
552
,
281
,
320
);
if
(
x
>
rect
.
x
&&
y
>
rect
.
y
&&
(
x
+
w
)
<
(
rect
.
x
+
rect
.
width
)
&&
(
y
+
h
)
<
(
rect
.
y
+
rect
.
height
))
{
return
true
;
}
return
false
;
};
GuideView
.
prototype
.
startGuide
=
function
()
{
return
tslib
.
__awaiter
(
this
,
void
0
,
void
0
,
function
()
{
var
_this
=
this
;
return
tslib
.
__generator
(
this
,
function
(
_a
)
{
return
[
2
,
new
Promise
(
function
(
r
)
{
_this
.
visible
=
true
;
_this
.
svga
.
gotoAndStop
(
1
);
_this
.
svga
.
play
(
false
,
true
);
_this
.
guideEle
.
scaleX
=
1
;
_this
.
guideEle
.
scaleY
=
1
;
var
offset
=
[
0
,
0
];
var
guideOver
=
function
()
{
_this
.
guideEle
.
removeEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
ondown
,
_this
);
engine
.
Tween
.
get
(
_this
.
guideEle
).
to
({
scaleX
:
0
,
scaleY
:
0
},
300
).
call
(
function
()
{
_this
.
visible
=
false
;
r
();
});
};
var
onUp
=
function
(
e
)
{
_this
.
stage
.
removeEventListener
(
engine
.
MouseEvent
.
MOUSE_MOVE
,
onMove
,
_this
);
if
(
_this
.
checkHit
(
_this
.
guideEle
.
x
,
_this
.
guideEle
.
y
,
_this
.
guideEle
.
width
,
_this
.
guideEle
.
height
))
{
guideOver
();
}
else
{
_this
.
svga
.
visible
=
true
;
_this
.
guideEle
.
x
=
361
;
_this
.
guideEle
.
y
=
877
;
}
};
var
onMove
=
function
(
e
)
{
_this
.
guideEle
.
x
=
e
.
stageX
-
offset
[
0
];
_this
.
guideEle
.
y
=
e
.
stageY
-
offset
[
1
];
};
var
ondown
=
function
(
e
)
{
offset
=
[
e
.
localX
,
e
.
localY
];
_this
.
svga
.
visible
=
false
;
_this
.
stage
.
once
(
engine
.
MouseEvent
.
MOUSE_UP
,
onUp
,
_this
);
_this
.
stage
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_MOVE
,
onMove
,
_this
);
};
_this
.
guideEle
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
ondown
,
_this
);
})];
});
});
};
return
GuideView
;
}(
engine
.
Sprite
));
//# sourceMappingURL=guideView.js.map
var
Garbage
=
(
function
(
_super
)
{
tslib
.
__extends
(
Garbage
,
_super
);
function
Garbage
(
texture
)
{
var
_this
=
_super
.
call
(
this
,
texture
)
||
this
;
_this
.
isWrong
=
false
;
_this
.
isRight
=
false
;
return
_this
;
}
return
Garbage
;
}(
engine
.
Sprite
));
var
GarbageTypes
;
(
function
(
GarbageTypes
)
{
GarbageTypes
[
GarbageTypes
[
"recoverableWaste"
]
=
0
]
=
"recoverableWaste"
;
GarbageTypes
[
GarbageTypes
[
"harmfulWaste"
]
=
1
]
=
"harmfulWaste"
;
GarbageTypes
[
GarbageTypes
[
"wetWaste"
]
=
2
]
=
"wetWaste"
;
GarbageTypes
[
GarbageTypes
[
"dryWaste"
]
=
3
]
=
"dryWaste"
;
})(
GarbageTypes
||
(
GarbageTypes
=
{}));
//# sourceMappingURL=GarbageTypes.js.map
var
GarbageConfig
=
(
function
()
{
function
GarbageConfig
()
{
}
GarbageConfig
.
config
=
[
{
name
:
"电池"
,
source
:
"g00"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
51
,
height
:
123
},
{
name
:
"温度计"
,
source
:
"g01"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
65
,
height
:
130
},
{
name
:
"鱼刺"
,
source
:
"g02"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
104
,
height
:
82
},
{
name
:
"龙虾"
,
source
:
"g03"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
129
,
height
:
122
},
{
name
:
"西瓜"
,
source
:
"g04"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
134
,
height
:
111
},
{
name
:
"旧玩具"
,
source
:
"g05"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
72
,
height
:
135
},
{
name
:
"口红"
,
source
:
"g06"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
49
,
height
:
134
},
{
name
:
"面包"
,
source
:
"g07"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
96
,
height
:
128
},
{
name
:
"绿植"
,
source
:
"g08"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
81
,
height
:
131
},
{
name
:
"保温瓶"
,
source
:
"g09"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
66
,
height
:
137
},
{
name
:
"破衣服"
,
source
:
"g10"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
91
,
height
:
121
},
{
name
:
"茶叶渣"
,
source
:
"g11"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
108
,
height
:
125
},
{
name
:
"湿巾"
,
source
:
"g12"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
106
,
height
:
109
},
{
name
:
"过期药膏"
,
source
:
"g13"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
107
,
height
:
130
},
{
name
:
"用完的洗发水瓶"
,
source
:
"g14"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
153
,
height
:
148
},
{
name
:
"婴儿纸尿裤"
,
source
:
"g15"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
108
,
height
:
123
},
{
name
:
"香水瓶"
,
source
:
"g16"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
65
,
height
:
127
},
{
name
:
"花甲壳"
,
source
:
"g17"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
99
,
height
:
115
},
{
name
:
"过期调味料"
,
source
:
"g18"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
109
,
height
:
130
},
{
name
:
"地毯"
,
source
:
"g19"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
145
,
height
:
119
},
{
name
:
"甘蔗渣"
,
source
:
"g20"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
100
,
height
:
116
},
{
name
:
"玻璃渣"
,
source
:
"g21"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
95
,
height
:
122
},
{
name
:
"番茄酱"
,
source
:
"g22"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
82
,
height
:
125
},
{
name
:
"酒精棉"
,
source
:
"g23"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
64
,
height
:
124
},
{
name
:
"指甲油瓶子"
,
source
:
"g24"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
109
,
height
:
125
},
{
name
:
"肉骨头"
,
source
:
"g25"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
67
,
height
:
123
},
{
name
:
"嚼过的口香糖"
,
source
:
"g26"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
135
,
height
:
116
},
{
name
:
"充电插头"
,
source
:
"g27"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
86
,
height
:
128
},
{
name
:
"旧报纸"
,
source
:
"g28"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
68
,
height
:
124
},
{
name
:
"烟头"
,
source
:
"g29"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
108
,
height
:
145
},
{
name
:
"奶茶塑料杯"
,
source
:
"g30"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
109
,
height
:
143
},
{
name
:
"瓜子壳"
,
source
:
"g31"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
87
,
height
:
121
},
{
name
:
"橘子皮"
,
source
:
"g32"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
78
,
height
:
120
},
{
name
:
"气球"
,
source
:
"g33"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
78
,
height
:
121
},
{
name
:
"树叶"
,
source
:
"g34"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
75
,
height
:
117
},
{
name
:
"感冒药"
,
source
:
"g35"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
92
,
height
:
121
},
{
name
:
"电话机"
,
source
:
"g36"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
63
,
height
:
121
},
{
name
:
"奶酪"
,
source
:
"g37"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
90
,
height
:
116
},
{
name
:
"啤酒瓶"
,
source
:
"g38"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
64
,
height
:
123
},
{
name
:
"薯片包装"
,
source
:
"g39"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
134
,
height
:
123
},
{
name
:
"过期保健品"
,
source
:
"g40"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
108
,
height
:
125
},
{
name
:
"雪糕包装袋"
,
source
:
"g41"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
109
,
height
:
128
},
{
name
:
"废油漆"
,
source
:
"g42"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
98
,
height
:
122
},
{
name
:
"食品罐头"
,
source
:
"g43"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
94
,
height
:
117
},
{
name
:
"陶瓷碗"
,
source
:
"g44"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
105
,
height
:
122
},
{
name
:
"蚊香"
,
source
:
"g45"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
69
,
height
:
146
},
{
name
:
"电脑机箱"
,
source
:
"g46"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
84
,
height
:
124
},
{
name
:
"鲜花"
,
source
:
"g47"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
62
,
height
:
122
},
{
name
:
"宠物粮食"
,
source
:
"g48"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
87
,
height
:
121
},
{
name
:
"银行卡"
,
source
:
"g49"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
115
,
height
:
123
},
];
return
GarbageConfig
;
}());
//# sourceMappingURL=GarbageConfig.js.map
var
removeEle
=
(
function
(
e
,
arr
)
{
var
index
=
arr
.
indexOf
(
e
);
if
(
index
>=
0
)
{
arr
.
splice
(
index
,
1
);
}
});
//# sourceMappingURL=removeEle.js.map
var
shuffle
=
(
function
(
arr
)
{
var
_a
;
var
i
=
arr
.
length
;
while
(
i
)
{
var
j
=
Math
.
floor
(
Math
.
random
()
*
i
--
);
_a
=
[
arr
[
i
],
arr
[
j
]],
arr
[
j
]
=
_a
[
0
],
arr
[
i
]
=
_a
[
1
];
}
return
arr
;
});
//# sourceMappingURL=shuffle.js.map
var
Conveyors
=
(
function
(
_super
)
{
tslib
.
__extends
(
Conveyors
,
_super
);
function
Conveyors
(
p
)
{
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
conveyorsPool
=
[];
_this
.
GarbageConfig
=
GarbageConfig
.
config
;
_this
.
currConfigPool
=
[];
_this
.
currGamePool
=
[];
_this
.
p
=
p
;
return
_this
;
}
Conveyors
.
prototype
.
initData
=
function
(
conveyor0
,
conveyor1
)
{
this
.
conveyor0
=
conveyor0
;
this
.
conveyor1
=
conveyor1
;
this
.
conveyorsPool
.
push
(
this
.
conveyor0
);
this
.
conveyorsPool
.
push
(
this
.
conveyor1
);
};
Conveyors
.
prototype
.
setDefault
=
function
()
{
this
.
score
=
0
;
this
.
clear
();
this
.
currConfigPool
=
shuffle
(
this
.
GarbageConfig
);
for
(
var
i
=
0
;
i
<
20
;
i
++
)
{
this
.
currConfigPool
[
i
].
idx
=
i
;
this
.
currConfigPool
[
i
].
isRight
=
false
;
this
.
currConfigPool
[
i
].
isMistake
=
false
;
this
.
currConfigPool
[
i
].
isOnStage
=
false
;
this
.
currGamePool
.
push
(
this
.
currConfigPool
[
i
]);
}
var
gamePoolIdx
=
0
;
for
(
var
i
=
0
;
i
<
5
;
i
++
)
{
var
g
=
this
.
currGamePool
[
gamePoolIdx
];
gamePoolIdx
+=
1
;
var
garbage
=
new
Garbage
(
getTextureByName
(
g
.
source
));
g
.
isOnStage
=
true
;
garbage
.
type
=
g
.
type
;
garbage
.
name
=
g
.
name
;
garbage
.
anchorX
=
g
.
width
/
2
;
garbage
.
anchorY
=
g
.
height
;
garbage
.
x
=
0
;
garbage
.
y
=
90
;
this
.
conveyor1
[
"idx"
+
i
].
addChild
(
garbage
);
garbage
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
this
.
onDwon_garbage
,
this
);
}
};
Conveyors
.
prototype
.
startConveyors
=
function
()
{
this
.
setDefault
();
engine
.
gameStage
.
addEventListener
(
engine
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
);
};
Conveyors
.
prototype
.
onEnterFrame
=
function
(
ENTER_FRAME
,
onEnterFrame
,
arg2
)
{
if
(
this
.
score
==
100
)
{
this
.
gameOver
();
}
this
.
conveyorsPool
.
forEach
(
function
(
conveyor
)
{
conveyor
.
x
-=
props
.
speed
||
3
;
});
if
(
this
.
conveyorsPool
.
length
>
1
)
{
if
(
this
.
conveyorsPool
[
this
.
conveyorsPool
.
length
-
1
].
x
<=
764
)
{
var
conveyor
=
new
Conveyor
();
conveyor
.
x
=
this
.
conveyorsPool
[
this
.
conveyorsPool
.
length
-
1
].
x
+
764
;
this
.
p
.
addChild
(
conveyor
);
this
.
conveyorsPool
.
push
(
conveyor
);
}
else
{
var
asdasd
=
[];
for
(
var
n
=
0
;
n
<
this
.
currGamePool
.
length
;
n
++
)
{
var
cgg
=
this
.
currGamePool
[
n
];
if
(
!
cgg
.
isRight
&&
!
cgg
.
isOnStage
)
{
asdasd
.
push
(
cgg
);
}
}
var
cc
=
this
.
conveyorsPool
[
this
.
conveyorsPool
.
length
-
1
];
for
(
var
m
=
0
;
m
<
5
;
m
++
)
{
if
(
!
cc
[
"idx"
+
m
].
children
[
0
])
{
var
g
=
asdasd
.
shift
();
if
(
g
)
{
g
.
isOnStage
=
true
;
var
garbage
=
new
Garbage
(
g
.
source
);
garbage
.
type
=
g
.
type
;
garbage
.
name
=
g
.
name
;
garbage
.
anchorX
=
g
.
width
/
2
;
garbage
.
anchorY
=
g
.
height
;
garbage
.
x
=
0
;
garbage
.
y
=
90
;
cc
[
"idx"
+
m
].
addChild
(
garbage
);
garbage
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
this
.
onDwon_garbage
,
this
);
}
else
{
break
;
}
}
}
}
if
(
this
.
conveyorsPool
[
0
].
x
<
-
750
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
var
garbage
=
this
.
currGamePool
[
k
];
var
cc
=
this
.
conveyorsPool
[
0
][
"idx"
+
4
];
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
]);
break
;
}
}
}
this
.
conveyorsPool
.
shift
();
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
600
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
var
garbage
=
this
.
currGamePool
[
k
];
var
cc
=
this
.
conveyorsPool
[
0
][
"idx"
+
3
];
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
]);
break
;
}
}
}
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
450
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
var
garbage
=
this
.
currGamePool
[
k
];
var
cc
=
this
.
conveyorsPool
[
0
][
"idx"
+
2
];
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
]);
break
;
}
}
}
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
300
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
var
garbage
=
this
.
currGamePool
[
k
];
var
cc
=
this
.
conveyorsPool
[
0
][
"idx"
+
1
];
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
]);
break
;
}
}
}
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
150
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
var
garbage
=
this
.
currGamePool
[
k
];
var
cc
=
this
.
conveyorsPool
[
0
][
"idx"
+
0
];
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
]);
break
;
}
}
}
}
}
};
Conveyors
.
prototype
.
addscore
=
function
(
n
)
{
this
.
score
+=
n
;
engine
.
globalEvent
.
dispatchEvent
(
'recycling-score-update'
,
{
score
:
this
.
score
});
};
Conveyors
.
prototype
.
gameOver
=
function
()
{
engine
.
gameStage
.
addEventListener
(
engine
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
);
};
Conveyors
.
prototype
.
onDwon_garbage
=
function
()
{
};
Conveyors
.
prototype
.
clear
=
function
()
{
this
.
currGamePool
=
[];
};
Conveyors
.
prototype
.
timeout
=
function
()
{
engine
.
gameStage
.
removeEventListener
(
engine
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
);
};
return
Conveyors
;
}(
engine
.
Sprite
));
//# sourceMappingURL=Conveyors.js.map
var
GameView
=
(
function
(
_super
)
{
tslib
.
__extends
(
GameView
,
_super
);
function
GameView
()
{
var
_this
=
_super
.
call
(
this
)
||
this
;
_this
.
_timeCounter
=
0
;
_this
.
once
(
engine
.
Event
.
ADDED_TO_STAGE
,
_this
.
setup
,
_this
);
return
_this
;
}
GameView
.
prototype
.
configUI
=
function
()
{
var
uiMap
=
{};
this
.
uiMap
=
uiMap
;
var
config
=
uiConfig
();
for
(
var
_i
=
0
,
config_1
=
config
;
_i
<
config_1
.
length
;
_i
++
)
{
var
item
=
config_1
[
_i
];
var
id
=
item
.
id
,
texture
=
item
.
texture
,
pos
=
item
.
pos
,
anchor
=
item
.
anchor
;
var
sp
=
new
engine
.
Sprite
(
getTextureByName
(
texture
));
this
.
addChild
(
sp
);
uiMap
[
id
]
=
sp
;
if
(
anchor
)
{
sp
.
anchorX
=
anchor
[
0
];
sp
.
anchorY
=
anchor
[
1
];
}
if
(
pos
)
{
sp
.
x
=
pos
[
0
];
sp
.
y
=
pos
[
1
];
if
(
anchor
)
{
sp
.
x
=
pos
[
0
]
-
sp
.
anchorX
;
sp
.
y
=
pos
[
1
]
-
sp
.
anchorY
;
}
}
}
this
.
configConveyors
();
this
.
createRects
();
this
.
countdown
=
new
CountDownGroup
();
this
.
addChild
(
this
.
countdown
);
this
.
guide
=
new
GuideView
();
this
.
addChild
(
this
.
guide
);
};
GameView
.
prototype
.
createRects
=
function
()
{
this
.
wetWaste
=
this
.
createRect
(
74
,
552
,
301
,
293
,
0xffffff
);
this
.
harmfulWaste
=
this
.
createRect
(
75
,
247
,
300
,
293
,
0xff0000
);
this
.
dryWaste
=
this
.
createRect
(
389
,
249
,
286
,
291
,
0x000000
);
this
.
recoverableWaste
=
this
.
createRect
(
389
,
551
,
287
,
292
,
0x0000ff
);
};
GameView
.
prototype
.
createRect
=
function
(
x
,
y
,
w
,
h
,
c
)
{
var
rect
=
new
engine
.
Rectangle
(
x
,
y
,
w
,
h
);
var
sp
=
new
engine
.
Sprite
();
this
.
addChild
(
sp
);
sp
.
x
=
x
;
sp
.
y
=
y
;
var
g
=
new
engine
.
Graphics
;
g
.
alpha
=
0.0
;
g
.
beginFill
(
c
);
g
.
drawRect
(
0
,
0
,
w
,
h
);
g
.
endFill
();
sp
.
addChild
(
g
);
return
rect
;
};
GameView
.
prototype
.
configConveyors
=
function
()
{
var
conveyor0
=
new
Conveyor
();
conveyor0
.
x
=
0
;
var
conveyor1
=
new
Conveyor
();
this
.
addChild
(
conveyor0
);
this
.
addChild
(
conveyor1
);
conveyor1
.
x
=
764
;
this
.
conveyors
=
new
Conveyors
(
this
);
this
.
conveyors
.
initData
(
conveyor0
,
conveyor1
);
};
GameView
.
prototype
.
playAni
=
function
()
{
var
_this
=
this
;
var
idlerWheels
=
[
'idler0'
,
'idler1'
,
'idler2'
,
'idler3'
,
'idler4'
,
'idler5'
,
'idler6'
];
idlerWheels
=
idlerWheels
.
map
(
function
(
i
)
{
return
_this
.
uiMap
[
i
];
});
idlerWheels
.
forEach
(
function
(
i
)
{
engine
.
Tween
.
get
(
i
,
{
loop
:
true
}).
to
({
rotation
:
-
360
},
1000
);
});
};
GameView
.
prototype
.
stopAni
=
function
()
{
var
_this
=
this
;
var
idlerWheels
=
[
'idler0'
,
'idler1'
,
'idler2'
,
'idler3'
,
'idler4'
,
'idler5'
,
'idler6'
];
idlerWheels
=
idlerWheels
.
map
(
function
(
i
)
{
return
_this
.
uiMap
[
i
];
});
idlerWheels
.
forEach
(
function
(
i
)
{
engine
.
Tween
.
removeTweens
(
i
);
});
};
GameView
.
prototype
.
start
=
function
()
{
return
tslib
.
__awaiter
(
this
,
void
0
,
void
0
,
function
()
{
var
_this
=
this
;
return
tslib
.
__generator
(
this
,
function
(
_a
)
{
switch
(
_a
.
label
)
{
case
0
:
console
.
log
(
'on start'
);
this
.
_timeCounter
=
0
;
if
(
!!
getGuideInfo
())
return
[
3
,
2
];
return
[
4
,
this
.
guide
.
startGuide
()];
case
1
:
_a
.
sent
();
setGuide
();
_a
.
label
=
2
;
case
2
:
return
[
4
,
this
.
countdown
.
startCountDown
()];
case
3
:
_a
.
sent
();
this
.
startGame
();
engine
.
globalEvent
.
dispatchEvent
(
'recycling-time-update'
,
{
second
:
this
.
getSecond
(),
});
this
.
_timer
=
setInterval
(
function
()
{
_this
.
onTimer
();
},
1000
);
return
[
2
];
}
});
});
};
GameView
.
prototype
.
startGame
=
function
()
{
this
.
playAni
();
this
.
conveyors
.
startConveyors
();
};
GameView
.
prototype
.
stopGame
=
function
()
{
this
.
stopAni
();
};
GameView
.
prototype
.
getSecond
=
function
()
{
return
props
.
time
-
this
.
_timeCounter
;
};
GameView
.
prototype
.
onTimer
=
function
()
{
this
.
_timeCounter
++
;
engine
.
globalEvent
.
dispatchEvent
(
'recycling-time-update'
,
{
second
:
this
.
getSecond
(),
});
if
(
this
.
getSecond
()
==
0
)
{
this
.
stop
();
this
.
conveyors
.
timeout
();
engine
.
globalEvent
.
dispatchEvent
(
'recycling-game-end'
,
{});
}
};
GameView
.
prototype
.
stop
=
function
()
{
clearInterval
(
this
.
_timer
);
this
.
stopGame
();
};
GameView
.
prototype
.
setup
=
function
()
{
console
.
log
(
'onSteup'
,
props
);
this
.
configUI
();
};
GameView
.
prototype
.
onDown
=
function
(
e
)
{
};
GameView
.
prototype
.
stageOnUp
=
function
(
e
)
{
};
GameView
.
prototype
.
onSuccess
=
function
()
{
};
GameView
.
prototype
.
onMove
=
function
(
e
)
{
};
return
GameView
;
}(
engine
.
Container
));
//# sourceMappingURL=GameView.js.map
var
GameWrapper
=
(
function
(
_super
)
{
tslib
.
__extends
(
GameWrapper
,
_super
);
function
GameWrapper
()
{
var
_this
=
_super
.
call
(
this
)
||
this
;
engine
.
globalEvent
.
addEventListener
(
'recycling-start'
,
_this
.
start
,
_this
);
engine
.
globalEvent
.
addEventListener
(
'recycling-stop'
,
_this
.
stop
,
_this
);
var
gameView
=
_this
.
_gameView
=
new
GameView
();
_this
.
addChild
(
gameView
);
return
_this
;
}
GameWrapper
.
prototype
.
start
=
function
(
event
)
{
injectProps
(
event
.
data
);
this
.
_gameView
.
start
();
};
GameWrapper
.
prototype
.
stop
=
function
(
event
)
{
this
.
_gameView
.
stop
();
};
return
GameWrapper
;
}(
engine
.
Container
));
//# sourceMappingURL=GameWrapper.js.map
function
index
(
props
)
{
prepareProps
();
injectProps
(
props
);
var
instance
=
new
GameWrapper
();
return
instance
;
}
//# sourceMappingURL=index.js.map
return
index
;
})));
//# sourceMappingURL=main.js.map
\ No newline at end of file
src/custom/recycling/debug/main.js.map
View file @
63f061c8
{"version":3,"file":"index.js","sources":["src/custom/recycling/src/game/utils.ts","src/custom/recycling/src/props.ts","src/custom/recycling/src/game/Conveyor.ts","src/custom/recycling/src/game/uiConfig.ts","src/custom/recycling/src/game/utils/getGuideInfo.ts","src/custom/recycling/src/game/views/createBg.ts","src/custom/recycling/src/game/views/createImg.ts","src/custom/recycling/src/game/views/CountDownGroup.ts","src/custom/recycling/src/game/views/guideView.ts","src/custom/recycling/src/game/GameView.ts","src/custom/recycling/src/game/GameWrapper.ts","src/custom/recycling/src/index.ts"],"sourcesContent":["/**\n * Created by rockyl on 2020-01-21.\n */\n\nexport function getTexture(uuid) {\n\treturn engine.Texture.from(getAssetByUUID(uuid).uuid);\n}\n\nexport function getTextureByName(name) {\n\treturn getTexture(engine.getAssetByName(name).uuid);\n}\n\nexport function playSound(name) {\n\tengine.playSound(engine.getAssetByName(name).uuid, {keep: true});\n}\nexport function createSvga(name, anchorName?) {\n\tlet inst = new svga.Svga();\n\tinst.source = 'asset://' + engine.getAssetByName(name).uuid;\n\treturn inst;\n}\n\nexport function getIndexFromRC(row,col,maxCol){\n\tlet index;\n\tindex = row * maxCol + col ;\n\treturn index\n}\n\n\n\n\nexport function getRandomArray(array){\n\tarray.sort(function() {\n\t\treturn .5 - Math.random();\n\t});\n}","/**\n * Created by rockyl on 2020-01-21.\n */\n\nexport let props: any = {};\n\nexport function prepareProps() {\n\tlet metaProps = getProps();\n\n\tengine.injectProp(props, metaProps);\n}\n\nexport function injectProps(p) {\n\tengine.injectProp(props, p);\n}\n","import { getTextureByName } from \"./utils\";\n\nexport default class Conveyor extends engine.Sprite {\n\n idx0: engine.Sprite;\n idx1: engine.Sprite;\n idx2: engine.Sprite;\n idx3: engine.Sprite;\n idx4: engine.Sprite;\n constructor() {\n super();\n const sp = new engine.Sprite(getTextureByName('conveyor'));\n this.addChild(sp);\n\n this.idx0 = this.createItem(75,50);\n this.idx1 = this.createItem(225,50);\n this.idx2 = this.createItem(375,50);\n this.idx3 = this.createItem(525,50);\n this.idx4 = this.createItem(675,50);\n }\n\n createItem(x,y) {\n const sp = new engine.Sprite();\n this.addChild(sp);\n sp.x = x - 50;\n sp.y = y- 50;\n\n const g = new engine.Graphics;\n g.beginFill(0xff0000);\n g.drawRect(0,0,100,100);\n g.endFill();\n sp.addChild(g);\n\n return sp\n }\n}","export default () => {\n return [\n {\n id: 'playBg',\n texture: 'playBg'\n },\n {\n id: 'idler0',\n texture: 'idlerWheel',\n pos: [75, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler1',\n texture: 'idlerWheel',\n pos: [175, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler2',\n texture: 'idlerWheel',\n pos: [275, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler3',\n texture: 'idlerWheel',\n pos: [375, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler4',\n texture: 'idlerWheel',\n pos: [475, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler5',\n texture: 'idlerWheel',\n pos: [575, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler6',\n texture: 'idlerWheel',\n pos: [675, 1038],\n anchor: [20, 21.5]\n },\n ]\n}","export default () => {\n //0 未引导\n if (!window.localStorage) {\n return 0\n }\n\n return localStorage.getItem('recyclingGuide')\n}\n\nexport const setGuide = () => {\n if (window.localStorage)\n localStorage.setItem('recyclingGuide', '1')\n}","export default (a=1)=>{\n const rect = new engine.Graphics();\n rect.beginFill(0)\n rect.drawRect(0,0,750,1624)\n rect.endFill();\n rect.alpha=a\n return rect\n}","import { getTextureByName } from \"../utils\";\n\nexport default (texture)=>{\n return new engine.Sprite(getTextureByName(texture));\n}","import createBg from \"./createBg\";\nimport createImg from \"./createImg\";\n\nexport default class CountDownGroup extends engine.Sprite {\n num1: engine.Sprite;\n num2: engine.Sprite;\n num3: engine.Sprite;\n go: engine.Sprite;\n constructor() {\n super();\n\n this.addChild(createBg(.6))\n\n this.num1 = createImg('num1')\n this.num2 = createImg('num2')\n this.num3 = createImg('num3')\n this.go = createImg('go')\n this.go.anchorX = 240\n this.go.anchorY = 171.5\n this.num1.anchorX = 125.5\n this.num1.anchorY = 189\n this.num2.anchorX = 149.5\n this.num2.anchorY = 191.5\n this.num3.anchorX = 148.5\n this.num3.anchorY = 191.5\n this.go.x = 750 / 2 - 240\n this.go.y = 525 - 171.5\n this.num1.x = 750 / 2 - 125.5\n this.num1.y = 529 - 189\n this.num2.x = 750 / 2 - 149.5\n this.num2.y = 526 - 191.5\n this.num3.x = 750 / 2 - 148.5\n this.num3.y = 525 - 191.5\n this.addChild(this.num1)\n this.addChild(this.num2)\n this.addChild(this.num3)\n this.addChild(this.go)\n\n this.visible = false;\n this.reset();\n }\n\n private reset() {\n this.go.alpha = this.num1.alpha = this.num2.alpha = this.num3.alpha = 0;\n this.go.scaleX = this.num1.scaleX = this.num2.scaleX = this.num3.scaleX = 3;\n this.go.scaleY = this.num1.scaleY = this.num2.scaleY = this.num3.scaleY = 3;\n }\n\n async startCountDown() {\n return new Promise((r) => {\n this.reset();\n this.visible = true;\n\n this.num3.alpha = 1;\n let n3 = engine.Tween.get(this.num3);\n\n // if (GameConst.isPlayMusic) {\n\n // playSound(\"numCountDown\");\n // }\n\n n3.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(() => {\n this.num2.alpha = 1;\n let n2 = engine.Tween.get(this.num2);\n // if (GameConst.isPlayMusic) {\n\n // playSound(\"numCountDown\");\n // }\n n2.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(() => {\n this.num1.alpha = 1;\n let n1 = engine.Tween.get(this.num1);\n // if (GameConst.isPlayMusic) {\n\n // playSound(\"numCountDown\");\n // }\n n1.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(() => {\n this.go.alpha = 1;\n let go = engine.Tween.get(this.go);\n // if (GameConst.isPlayMusic) {\n // window[\"playMusic\"](\"go\");\n // }\n go.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).call(() => {\n this.visible = false;\n r()\n })\n })\n })\n })\n\n\n })\n\n }\n}","import createBg from \"./createBg\";\nimport createImg from \"./createImg\";\nimport { createSvga } from \"../utils\";\n\nexport default class GuideView extends engine.Sprite {\n guideBg: engine.Sprite;\n guideEle: engine.Sprite;\n svga: svga.Svga;\n\n constructor() {\n super();\n this.initUI();\n this.visible = false;\n }\n\n initUI() {\n this.addChild(createBg(.6))\n this.guideBg = createImg('guideBg')\n this.addChild(this.guideBg)\n this.guideEle = createImg('guideEle')\n this.addChild(this.guideEle)\n this.guideBg.x = 393;\n this.guideBg.y = 552;\n this.guideEle.x = 361;\n this.guideEle.y = 877;\n this.guideEle.mouseEnabled = this.guideEle.mouseChildren = true;\n\n let svga = createSvga(\"guideTips\");\n this.svga = svga\n this.addChild(svga);\n svga.gotoAndStop(1);\n svga.mouseEnabled = svga.mouseChildren = false;\n }\n\n checkHit(x, y, w, h) {\n const rect = new engine.Rectangle(393, 552, 281, 320)\n if (x > rect.x && y > rect.y && (x + w) < (rect.x + rect.width) && (y + h) < (rect.y + rect.height)) {\n return true\n }\n return false;\n }\n\n async startGuide() {\n return new Promise((r) => {\n this.visible = true;\n this.svga.gotoAndStop(1);\n this.svga.play(false, true)\n this.guideEle.scaleX = 1;\n this.guideEle.scaleY = 1;\n\n let offset = [0, 0]\n const guideOver = () => {\n this.guideEle.removeEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, this)\n engine.Tween.get(this.guideEle).to({scaleX:0,scaleY:0},300).call(()=>{\n this.visible = false;\n r();\n });\n }\n\n const onUp = (e: engine.MouseEvent) => {\n this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, this)\n if (this.checkHit(this.guideEle.x, this.guideEle.y, this.guideEle.width, this.guideEle.height)) {\n guideOver();\n } else {\n this.svga.visible = true;\n this.guideEle.x = 361;\n this.guideEle.y = 877;\n }\n }\n\n const onMove = (e: engine.MouseEvent) => {\n this.guideEle.x = e.stageX - offset[0];\n this.guideEle.y = e.stageY - offset[1];\n }\n\n const ondown = (e: engine.MouseEvent) => {\n offset = [e.localX, e.localY]\n this.svga.visible = false;\n this.stage.once(engine.MouseEvent.MOUSE_UP, onUp, this)\n this.stage.addEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, this)\n }\n\n this.guideEle.addEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, this)\n\n })\n }\n}","/**\n * Created by rockyl on 2018/8/16.\n */\n\nimport { getTextureByName } from \"../../../recycling/src/game/utils\";\nimport { props } from \"../props\";\nimport Conveyor from \"./Conveyor\";\nimport uiConfig from \"./uiConfig\";\nimport getGuideInfo, { setGuide } from \"./utils/getGuideInfo\";\nimport CountDownGroup from \"./views/CountDownGroup\";\nimport GuideView from \"./views/guideView\";\n\nexport default class GameView extends engine.Container {\n private _timer;\n private _timeCounter = 0;\n score = 0;\n uiMap: any;\n wetWaste: engine.Rectangle;\n harmfulWaste: engine.Rectangle;\n dryWaste: engine.Rectangle;\n recoverableWaste: engine.Rectangle;\n countdown: CountDownGroup;\n guide: GuideView;\n\n constructor() {\n super();\n this.once(engine.Event.ADDED_TO_STAGE, this.setup, this);\n }\n\n configUI() {\n\n const uiMap: any = {};\n this.uiMap = uiMap;\n const config = uiConfig();\n for (const item of config) {\n const { id, texture, pos, anchor } = item;\n const sp = new engine.Sprite(getTextureByName(texture));\n this.addChild(sp);\n uiMap[id] = sp;\n if (anchor) {\n sp.anchorX = anchor[0];\n sp.anchorY = anchor[1];\n }\n if (pos) {\n sp.x = pos[0];\n sp.y = pos[1];\n if (anchor) {\n sp.x = pos[0] - sp.anchorX;\n sp.y = pos[1] - sp.anchorY;\n }\n }\n }\n\n this.configConveyors();\n\n this.createRects();\n\n this.countdown = new CountDownGroup();\n this.addChild(this.countdown)\n\n this.guide = new GuideView();\n this.addChild(this.guide)\n\n }\n\n private createRects() {\n this.wetWaste = this.createRect(74, 552, 301, 293, 0xffffff);\n this.harmfulWaste = this.createRect(75, 247, 300, 293, 0xff0000);\n this.dryWaste = this.createRect(389, 249, 286, 291, 0x000000);\n this.recoverableWaste = this.createRect(389, 551, 287, 292, 0x0000ff);\n }\n\n createRect(x, y, w, h, c) {\n const rect = new engine.Rectangle(x, y, w, h);\n\n const sp = new engine.Sprite();\n this.addChild(sp);\n sp.x = x;\n sp.y = y;\n\n const g = new engine.Graphics;\n g.alpha = 0.0;\n g.beginFill(c);\n g.drawRect(0, 0, w, h);\n g.endFill();\n sp.addChild(g);\n\n return rect;\n }\n\n private configConveyors() {\n const conveyor1 = new Conveyor();\n conveyor1.x = 0;\n conveyor1.y = 904.21;\n const conveyor2 = new Conveyor();\n this.addChild(conveyor1);\n this.addChild(conveyor2);\n conveyor2.x = 764;\n conveyor2.y = 904.21;\n }\n\n playAni() {\n let idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\n idlerWheels = idlerWheels.map(i => this.uiMap[i]);\n idlerWheels.forEach(i => {\n engine.Tween.get(i, { loop: true }).to({ rotation: -360 }, 1000);\n })\n }\n\n stopAni() {\n let idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\n idlerWheels = idlerWheels.map(i => this.uiMap[i]);\n idlerWheels.forEach(i => {\n engine.Tween.removeTweens(i);\n })\n }\n\n async start() {\n console.log('on start')\n this._timeCounter = 0;\n this.score = 0;\n\n if (!getGuideInfo()) {\n await this.guide.startGuide();\n setGuide();\n }\n\n await this.countdown.startCountDown();\n\n this.startGame();\n\n engine.globalEvent.dispatchEvent('recycling-time-update', {\n second: this.getSecond(),\n });\n\n this._timer = setInterval(() => {\n this.onTimer();\n }, 1000)\n }\n\n private startGame() {\n this.playAni();\n this.stage.addEventListener(engine.MouseEvent.CLICK, this.xxx, this);\n }\n\n private xxx() {\n this.score++;\n engine.globalEvent.dispatchEvent('recycling-score-update', {\n score: this.score\n });\n }\n\n private stopGame() {\n this.stage.removeEventListener(engine.MouseEvent.CLICK, this.xxx, this);\n this.stopAni();\n }\n\n getSecond() {\n\n return props.time - this._timeCounter\n }\n\n onTimer() {\n this._timeCounter++;\n engine.globalEvent.dispatchEvent('recycling-time-update', {\n second: this.getSecond(),\n });\n\n if (this.getSecond() == 0) {\n this.stop();\n engine.globalEvent.dispatchEvent('recycling-game-end', {});\n }\n }\n\n stop() {\n clearInterval(this._timer);\n this.stopGame();\n }\n\n setup() {\n console.log('onSteup', props);\n this.configUI();\n }\n\n onDown(e: engine.MouseEvent) {\n\n }\n\n stageOnUp(e) {\n\n\n }\n\n private onSuccess() {\n\n\n }\n\n onMove(e: engine.MouseEvent) {\n\n }\n\n}\n","/**\n * Created by rockyl on 2020-01-09.\n */\n\nimport GameView from \"./GameView\";\nimport { injectProps } from \"../props\";\n\n\nexport class GameWrapper extends engine.Container {\n\t// private _status;\n\tprivate _gameView: GameView;\n\tconstructor() {\n\t\tsuper();\n\n\t\tengine.globalEvent.addEventListener('recycling-start', this.start, this);\n\t\tengine.globalEvent.addEventListener('recycling-stop', this.stop, this);\n\n\t\t//创建实例\n\t\tlet gameView = this._gameView = new GameView();\n\t\tthis.addChild(gameView);\n\n\t}\n\n\tstart(event: engine.Event) {\n\t\tinjectProps(event.data);\n\n\t\tthis._gameView.start();\n\t}\n\tstop(event: engine.Event) {\n\t\t\n\t\tthis._gameView.stop();\n\t}\n}\n","/**\n * Created by rockyl on 2019-11-20.\n */\n\nimport {GameWrapper} from \"./game/GameWrapper\";\nimport {injectProps, prepareProps} from \"./props\";\n\nexport default function (props) {\n\tprepareProps();\n\tinjectProps(props);\n\n\tlet instance = new GameWrapper();\n\t\n\treturn instance;\n}\n"],"names":["__extends"],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"index.js","sources":["src/custom/recycling/src/game/utils.ts","src/custom/recycling/src/props.ts","src/custom/recycling/src/game/Conveyor.ts","src/custom/recycling/src/game/uiConfig.ts","src/custom/recycling/src/game/utils/getGuideInfo.ts","src/custom/recycling/src/game/views/createBg.ts","src/custom/recycling/src/game/views/createImg.ts","src/custom/recycling/src/game/views/CountDownGroup.ts","src/custom/recycling/src/game/views/guideView.ts","src/custom/recycling/src/game/datas/Garbage.ts","src/custom/recycling/src/game/datas/GarbageTypes.ts","src/custom/recycling/src/game/datas/GarbageConfig.ts","src/custom/recycling/src/game/utils/removeEle.ts","src/custom/recycling/src/game/utils/shuffle.ts","src/custom/recycling/src/game/Conveyors.ts","src/custom/recycling/src/game/GameView.ts","src/custom/recycling/src/game/GameWrapper.ts","src/custom/recycling/src/index.ts"],"sourcesContent":["/**\n * Created by rockyl on 2020-01-21.\n */\n\nexport function getTexture(uuid) {\n\treturn engine.Texture.from(getAssetByUUID(uuid).uuid);\n}\n\nexport function getTextureByName(name) {\n\treturn getTexture(engine.getAssetByName(name).uuid);\n}\n\nexport function playSound(name) {\n\tengine.playSound(engine.getAssetByName(name).uuid, {keep: true});\n}\nexport function createSvga(name, anchorName?) {\n\tlet inst = new svga.Svga();\n\tinst.source = 'asset://' + engine.getAssetByName(name).uuid;\n\treturn inst;\n}\n\nexport function getIndexFromRC(row,col,maxCol){\n\tlet index;\n\tindex = row * maxCol + col ;\n\treturn index\n}\n\n\n\n\nexport function getRandomArray(array){\n\tarray.sort(function() {\n\t\treturn .5 - Math.random();\n\t});\n}","/**\n * Created by rockyl on 2020-01-21.\n */\n\nexport let props: any = {};\n\nexport function prepareProps() {\n\tlet metaProps = getProps();\n\n\tengine.injectProp(props, metaProps);\n}\n\nexport function injectProps(p) {\n\tengine.injectProp(props, p);\n}\n","import { getTextureByName } from \"./utils\";\n\nexport default class Conveyor extends engine.Sprite {\n\n idx0: engine.Sprite;\n idx1: engine.Sprite;\n idx2: engine.Sprite;\n idx3: engine.Sprite;\n idx4: engine.Sprite;\n constructor() {\n super();\n\n this.y = 904.21;\n\n const sp = new engine.Sprite(getTextureByName('conveyor'));\n this.addChild(sp);\n\n this.idx0 = this.createItem(75,50);\n this.idx1 = this.createItem(225,50);\n this.idx2 = this.createItem(375,50);\n this.idx3 = this.createItem(525,50);\n this.idx4 = this.createItem(675,50);\n }\n\n createItem(x,y) {\n const sp = new engine.Sprite();\n this.addChild(sp);\n sp.x = x - 50;\n sp.y = y- 50;\n\n const g = new engine.Graphics;\n g.beginFill(0xff0000);\n g.drawRect(0,0,100,100);\n g.endFill();\n sp.addChild(g);\n\n return sp\n }\n}","export default () => {\n return [\n {\n id: 'playBg',\n texture: 'playBg'\n },\n {\n id: 'idler0',\n texture: 'idlerWheel',\n pos: [75, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler1',\n texture: 'idlerWheel',\n pos: [175, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler2',\n texture: 'idlerWheel',\n pos: [275, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler3',\n texture: 'idlerWheel',\n pos: [375, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler4',\n texture: 'idlerWheel',\n pos: [475, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler5',\n texture: 'idlerWheel',\n pos: [575, 1038],\n anchor: [20, 21.5]\n },\n {\n id: 'idler6',\n texture: 'idlerWheel',\n pos: [675, 1038],\n anchor: [20, 21.5]\n },\n ]\n}","export default () => {\n //0 未引导\n if (!window.localStorage) {\n return 0\n }\n\n return localStorage.getItem('recyclingGuide')\n}\n\nexport const setGuide = () => {\n if (window.localStorage)\n localStorage.setItem('recyclingGuide', '1')\n}","export default (a=1)=>{\n const rect = new engine.Graphics();\n rect.beginFill(0)\n rect.drawRect(0,0,750,1624)\n rect.endFill();\n rect.alpha=a\n return rect\n}","import { getTextureByName } from \"../utils\";\n\nexport default (texture)=>{\n return new engine.Sprite(getTextureByName(texture));\n}","import createBg from \"./createBg\";\nimport createImg from \"./createImg\";\n\nexport default class CountDownGroup extends engine.Sprite {\n num1: engine.Sprite;\n num2: engine.Sprite;\n num3: engine.Sprite;\n go: engine.Sprite;\n constructor() {\n super();\n\n this.addChild(createBg(.6))\n\n this.num1 = createImg('num1')\n this.num2 = createImg('num2')\n this.num3 = createImg('num3')\n this.go = createImg('go')\n this.go.anchorX = 240\n this.go.anchorY = 171.5\n this.num1.anchorX = 125.5\n this.num1.anchorY = 189\n this.num2.anchorX = 149.5\n this.num2.anchorY = 191.5\n this.num3.anchorX = 148.5\n this.num3.anchorY = 191.5\n this.go.x = 750 / 2 - 240\n this.go.y = 525 - 171.5\n this.num1.x = 750 / 2 - 125.5\n this.num1.y = 529 - 189\n this.num2.x = 750 / 2 - 149.5\n this.num2.y = 526 - 191.5\n this.num3.x = 750 / 2 - 148.5\n this.num3.y = 525 - 191.5\n this.addChild(this.num1)\n this.addChild(this.num2)\n this.addChild(this.num3)\n this.addChild(this.go)\n\n this.visible = false;\n this.reset();\n }\n\n private reset() {\n this.go.alpha = this.num1.alpha = this.num2.alpha = this.num3.alpha = 0;\n this.go.scaleX = this.num1.scaleX = this.num2.scaleX = this.num3.scaleX = 3;\n this.go.scaleY = this.num1.scaleY = this.num2.scaleY = this.num3.scaleY = 3;\n }\n\n async startCountDown() {\n return new Promise((r) => {\n this.reset();\n this.visible = true;\n\n this.num3.alpha = 1;\n let n3 = engine.Tween.get(this.num3);\n\n // if (GameConst.isPlayMusic) {\n\n // playSound(\"numCountDown\");\n // }\n\n n3.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(() => {\n this.num2.alpha = 1;\n let n2 = engine.Tween.get(this.num2);\n // if (GameConst.isPlayMusic) {\n\n // playSound(\"numCountDown\");\n // }\n n2.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(() => {\n this.num1.alpha = 1;\n let n1 = engine.Tween.get(this.num1);\n // if (GameConst.isPlayMusic) {\n\n // playSound(\"numCountDown\");\n // }\n n1.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).to({ scaleX: 0, scaleY: 0 }, 200).call(() => {\n this.go.alpha = 1;\n let go = engine.Tween.get(this.go);\n // if (GameConst.isPlayMusic) {\n // window[\"playMusic\"](\"go\");\n // }\n go.to({ scaleX: 0.8, scaleY: 0.8 }, 200).to({ scaleX: 1, scaleY: 1 }, 100).wait(500).call(() => {\n this.visible = false;\n r()\n })\n })\n })\n })\n\n\n })\n\n }\n}","import createBg from \"./createBg\";\nimport createImg from \"./createImg\";\nimport { createSvga } from \"../utils\";\n\nexport default class GuideView extends engine.Sprite {\n guideBg: engine.Sprite;\n guideEle: engine.Sprite;\n svga: svga.Svga;\n\n constructor() {\n super();\n this.initUI();\n this.visible = false;\n }\n\n initUI() {\n this.addChild(createBg(.6))\n this.guideBg = createImg('guideBg')\n this.addChild(this.guideBg)\n this.guideEle = createImg('guideEle')\n this.addChild(this.guideEle)\n this.guideBg.x = 393;\n this.guideBg.y = 552;\n this.guideEle.x = 361;\n this.guideEle.y = 877;\n this.guideEle.mouseEnabled = this.guideEle.mouseChildren = true;\n\n let svga = createSvga(\"guideTips\");\n this.svga = svga\n this.addChild(svga);\n svga.gotoAndStop(1);\n svga.mouseEnabled = svga.mouseChildren = false;\n }\n\n checkHit(x, y, w, h) {\n const rect = new engine.Rectangle(393, 552, 281, 320)\n if (x > rect.x && y > rect.y && (x + w) < (rect.x + rect.width) && (y + h) < (rect.y + rect.height)) {\n return true\n }\n return false;\n }\n\n async startGuide() {\n return new Promise((r) => {\n this.visible = true;\n this.svga.gotoAndStop(1);\n this.svga.play(false, true)\n this.guideEle.scaleX = 1;\n this.guideEle.scaleY = 1;\n\n let offset = [0, 0]\n const guideOver = () => {\n this.guideEle.removeEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, this)\n engine.Tween.get(this.guideEle).to({scaleX:0,scaleY:0},300).call(()=>{\n this.visible = false;\n r();\n });\n }\n\n const onUp = (e: engine.MouseEvent) => {\n this.stage.removeEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, this)\n if (this.checkHit(this.guideEle.x, this.guideEle.y, this.guideEle.width, this.guideEle.height)) {\n guideOver();\n } else {\n this.svga.visible = true;\n this.guideEle.x = 361;\n this.guideEle.y = 877;\n }\n }\n\n const onMove = (e: engine.MouseEvent) => {\n this.guideEle.x = e.stageX - offset[0];\n this.guideEle.y = e.stageY - offset[1];\n }\n\n const ondown = (e: engine.MouseEvent) => {\n offset = [e.localX, e.localY]\n this.svga.visible = false;\n this.stage.once(engine.MouseEvent.MOUSE_UP, onUp, this)\n this.stage.addEventListener(engine.MouseEvent.MOUSE_MOVE, onMove, this)\n }\n\n this.guideEle.addEventListener(engine.MouseEvent.MOUSE_DOWN, ondown, this)\n\n })\n }\n}","import { GarbageTypes } from './GarbageTypes';\nexport default class Garbage extends engine.Sprite {\n constructor(texture) {\n super(texture);\n }\n\n public type: GarbageTypes;\n\n public isWrong: boolean = false;\n\n public isRight: boolean = false;\n\n public\n}","export enum GarbageTypes {\n recoverableWaste,\n harmfulWaste,\n wetWaste,\n dryWaste\n}","import { GarbageTypes } from './GarbageTypes';\nexport default class GarbageConfig {\n public static config: any[] = [\n { name: \"电池\", source: \"g00\", type: GarbageTypes.harmfulWaste, width: 51, height: 123 },\n { name: \"温度计\", source: \"g01\", type: GarbageTypes.harmfulWaste, width: 65, height: 130 },\n { name: \"鱼刺\", source: \"g02\", type: GarbageTypes.wetWaste, width: 104, height: 82 },\n { name: \"龙虾\", source: \"g03\", type: GarbageTypes.wetWaste, width: 129, height: 122 },\n { name: \"西瓜\", source: \"g04\", type: GarbageTypes.wetWaste, width: 134, height: 111 },\n { name: \"旧玩具\", source: \"g05\", type: GarbageTypes.recoverableWaste, width: 72, height: 135 },\n { name: \"口红\", source: \"g06\", type: GarbageTypes.dryWaste, width: 49, height: 134 },\n { name: \"面包\", source: \"g07\", type: GarbageTypes.wetWaste, width: 96, height: 128 },\n { name: \"绿植\", source: \"g08\", type: GarbageTypes.wetWaste, width: 81, height: 131 },\n { name: \"保温瓶\", source: \"g09\", type: GarbageTypes.recoverableWaste, width: 66, height: 137 },\n { name: \"破衣服\", source: \"g10\", type: GarbageTypes.recoverableWaste, width: 91, height: 121 },\n { name: \"茶叶渣\", source: \"g11\", type: GarbageTypes.wetWaste, width: 108, height: 125 },\n { name: \"湿巾\", source: \"g12\", type: GarbageTypes.dryWaste, width: 106, height: 109 },\n { name: \"过期药膏\", source: \"g13\", type: GarbageTypes.harmfulWaste, width: 107, height: 130 },\n { name: \"用完的洗发水瓶\", source: \"g14\", type: GarbageTypes.recoverableWaste, width: 153, height: 148 },\n { name: \"婴儿纸尿裤\", source: \"g15\", type: GarbageTypes.dryWaste, width: 108, height: 123 },\n { name: \"香水瓶\", source: \"g16\", type: GarbageTypes.recoverableWaste, width: 65, height: 127 },\n { name: \"花甲壳\", source: \"g17\", type: GarbageTypes.wetWaste, width: 99, height: 115 },\n { name: \"过期调味料\", source: \"g18\", type: GarbageTypes.wetWaste, width: 109, height: 130 },\n { name: \"地毯\", source: \"g19\", type: GarbageTypes.recoverableWaste, width: 145, height: 119 },\n { name: \"甘蔗渣\", source: \"g20\", type: GarbageTypes.wetWaste, width: 100, height: 116 },\n { name: \"玻璃渣\", source: \"g21\", type: GarbageTypes.recoverableWaste, width: 95, height: 122 },\n { name: \"番茄酱\", source: \"g22\", type: GarbageTypes.wetWaste, width: 82, height: 125 },\n { name: \"酒精棉\", source: \"g23\", type: GarbageTypes.dryWaste, width: 64, height: 124 },\n { name: \"指甲油瓶子\", source: \"g24\", type: GarbageTypes.harmfulWaste, width: 109, height: 125 },\n { name: \"肉骨头\", source: \"g25\", type: GarbageTypes.dryWaste, width: 67, height: 123 },\n { name: \"嚼过的口香糖\", source: \"g26\", type: GarbageTypes.dryWaste, width: 135, height: 116 },\n { name: \"充电插头\", source: \"g27\", type: GarbageTypes.recoverableWaste, width: 86, height: 128 },\n { name: \"旧报纸\", source: \"g28\", type: GarbageTypes.recoverableWaste, width: 68, height: 124 },\n { name: \"烟头\", source: \"g29\", type: GarbageTypes.dryWaste, width: 108, height: 145 },\n { name: \"奶茶塑料杯\", source: \"g30\", type: GarbageTypes.dryWaste, width: 109, height: 143 },\n { name: \"瓜子壳\", source: \"g31\", type: GarbageTypes.wetWaste, width: 87, height: 121 },\n { name: \"橘子皮\", source: \"g32\", type: GarbageTypes.wetWaste, width: 78, height: 120 },\n { name: \"气球\", source: \"g33\", type: GarbageTypes.dryWaste, width: 78, height: 121 },\n { name: \"树叶\", source: \"g34\", type: GarbageTypes.wetWaste, width: 75, height: 117 },\n { name: \"感冒药\", source: \"g35\", type: GarbageTypes.harmfulWaste, width: 92, height: 121 },\n { name: \"电话机\", source: \"g36\", type: GarbageTypes.recoverableWaste, width: 63, height: 121 },\n { name: \"奶酪\", source: \"g37\", type: GarbageTypes.wetWaste, width: 90, height: 116 },\n { name: \"啤酒瓶\", source: \"g38\", type: GarbageTypes.recoverableWaste, width: 64, height: 123 },\n { name: \"薯片包装\", source: \"g39\", type: GarbageTypes.dryWaste, width: 134, height: 123 },\n { name: \"过期保健品\", source: \"g40\", type: GarbageTypes.harmfulWaste, width: 108, height: 125 },\n { name: \"雪糕包装袋\", source: \"g41\", type: GarbageTypes.dryWaste, width: 109, height: 128 },\n { name: \"废油漆\", source: \"g42\", type: GarbageTypes.harmfulWaste, width: 98, height: 122 },\n { name: \"食品罐头\", source: \"g43\", type: GarbageTypes.recoverableWaste, width: 94, height: 117 },\n { name: \"陶瓷碗\", source: \"g44\", type: GarbageTypes.dryWaste, width: 105, height: 122 },\n { name: \"蚊香\", source: \"g45\", type: GarbageTypes.dryWaste, width: 69, height: 146 },\n { name: \"电脑机箱\", source: \"g46\", type: GarbageTypes.recoverableWaste, width: 84, height: 124 },\n { name: \"鲜花\", source: \"g47\", type: GarbageTypes.wetWaste, width: 62, height: 122 },\n { name: \"宠物粮食\", source: \"g48\", type: GarbageTypes.wetWaste, width: 87, height: 121 },\n { name: \"银行卡\", source: \"g49\", type: GarbageTypes.recoverableWaste, width: 115, height: 123 },\n\n ];\n}","export default (e, arr)=> {\n let index = arr.indexOf(e);\n if (index >= 0) {\n arr.splice(index, 1)\n }\n}","export default (arr): any =>{\n let i = arr.length;\n\n while (i) {\n\n let j = Math.floor(Math.random() * i--); //5555\n\n [arr[j], arr[i]] = [arr[i], arr[j]];\n\n }\n\n return arr;\n}","import { props } from \"../props\";\nimport Conveyor from \"./Conveyor\";\nimport Garbage from \"./datas/Garbage\";\nimport GarbageConfig from \"./datas/GarbageConfig\";\nimport removeEle from \"./utils/removeEle\";\nimport shuffle from \"./utils/shuffle\";\nimport { getTextureByName } from \"./utils\";\n\nexport default class Conveyors extends engine.Sprite {\n\n conveyor0: Conveyor;\n conveyor1: Conveyor;\n\n private conveyorsPool: any[] = [];\n\n private GarbageConfig: any[] = GarbageConfig.config;\n\n // 本局游戏的20种垃圾\n private currConfigPool: any[] = [];\n private currGamePool: any[] = [];\n\n score: number;\n p: any;\n\n constructor(p) {\n super();\n this.p = p;\n }\n\n initData(conveyor0, conveyor1) {\n this.conveyor0 = conveyor0;\n this.conveyor1 = conveyor1;\n\n this.conveyorsPool.push(this.conveyor0);\n this.conveyorsPool.push(this.conveyor1);\n }\n\n private setDefault(){\n this.score = 0;\n this.clear();\n\n this.currConfigPool = shuffle(this.GarbageConfig);\n\n for (let i = 0; i < 20; i++) {\n this.currConfigPool[i].idx = i;\n this.currConfigPool[i].isRight = false;\n this.currConfigPool[i].isMistake = false;\n this.currConfigPool[i].isOnStage = false;\n this.currGamePool.push(this.currConfigPool[i]);\n }\n\n let gamePoolIdx = 0;\n for (let i = 0; i < 5; i++) {\n let g = this.currGamePool[gamePoolIdx];\n gamePoolIdx += 1;\n let garbage = new Garbage(getTextureByName(g.source));\n g.isOnStage = true;\n garbage.type = g.type;\n garbage.name = g.name;\n garbage.anchorX = g.width / 2;\n garbage.anchorY = g.height;\n garbage.x = 0;\n garbage.y = 90;\n this.conveyor1[`idx${i}`].addChild(garbage)\n garbage.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDwon_garbage, this);\n }\n }\n\n startConveyors() {\n this.setDefault();\n engine.gameStage.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this)\n\n }\n onEnterFrame(ENTER_FRAME: string, onEnterFrame: any, arg2: this) {\n if (this.score == 100) {\n this.gameOver();\n }\n\n this.conveyorsPool.forEach(conveyor => {\n conveyor.x -= props.speed || 3;\n });\n if (this.conveyorsPool.length > 1) {\n if (this.conveyorsPool[this.conveyorsPool.length - 1].x <= 764) {\n // 最后一个传送带完全进入屏幕时 往后添加一个传送带\n const conveyor = new Conveyor();\n conveyor.x = this.conveyorsPool[this.conveyorsPool.length - 1].x + 764;\n this.p.addChild(conveyor);\n this.conveyorsPool.push(conveyor);\n } else {\n //筛选出currGamePool里还未正确和添加在舞台上的\n let asdasd = []\n for (var n = 0; n < this.currGamePool.length; n++) {\n let cgg = this.currGamePool[n];\n if (!cgg.isRight && !cgg.isOnStage) {\n asdasd.push(cgg);\n }\n }\n //最后一个传送带\n let cc = this.conveyorsPool[this.conveyorsPool.length - 1]\n for (var m = 0; m < 5; m++) {\n if (!cc[`idx${m}`].children[0]) {\n let g = asdasd.shift();\n if (g) {\n g.isOnStage = true;\n let garbage = new Garbage(g.source);\n garbage.type = g.type;\n garbage.name = g.name;\n garbage.anchorX = g.width / 2;\n garbage.anchorY = g.height;\n garbage.x = 0;\n garbage.y = 90;\n cc[`idx${m}`].addChild(garbage);\n garbage.addEventListener(engine.MouseEvent.MOUSE_DOWN, this.onDwon_garbage, this);\n\n } else {\n break\n }\n }\n }\n }\n\n // 从场景移除\n if (this.conveyorsPool[0].x < -750) {\n for (var k = 0; k < this.currGamePool.length; k++) {\n let garbage = this.currGamePool[k]\n let cc = this.conveyorsPool[0][`idx${4}`]\n if (cc.children[0]) {\n if (garbage.name == cc.children[0].$name) {\n garbage.isOnStage = false;\n removeEle(garbage, this.currGamePool);\n this.currGamePool.push(garbage);\n cc.removeChild(cc.children[0])\n break\n }\n }\n\n }\n this.conveyorsPool.shift();\n }\n else if (this.conveyorsPool[0].x < -600) {\n for (var k = 0; k < this.currGamePool.length; k++) {\n let garbage = this.currGamePool[k]\n let cc = this.conveyorsPool[0][`idx${3}`]\n if (cc.children[0]) {\n if (garbage.name == cc.children[0].$name) {\n garbage.isOnStage = false;\n removeEle(garbage, this.currGamePool);\n this.currGamePool.push(garbage);\n cc.removeChild(cc.children[0])\n break\n }\n }\n\n }\n }\n else if (this.conveyorsPool[0].x < -450) {\n for (var k = 0; k < this.currGamePool.length; k++) {\n let garbage = this.currGamePool[k]\n let cc = this.conveyorsPool[0][`idx${2}`]\n if (cc.children[0]) {\n if (garbage.name == cc.children[0].$name) {\n garbage.isOnStage = false;\n removeEle(garbage, this.currGamePool);\n this.currGamePool.push(garbage);\n cc.removeChild(cc.children[0])\n break\n }\n }\n\n }\n }\n else if (this.conveyorsPool[0].x < -300) {\n for (var k = 0; k < this.currGamePool.length; k++) {\n let garbage = this.currGamePool[k]\n let cc = this.conveyorsPool[0][`idx${1}`]\n if (cc.children[0]) {\n if (garbage.name == cc.children[0].$name) {\n garbage.isOnStage = false;\n removeEle(garbage, this.currGamePool);\n this.currGamePool.push(garbage);\n cc.removeChild(cc.children[0])\n break\n }\n }\n\n }\n }\n else if (this.conveyorsPool[0].x < -150) {\n for (var k = 0; k < this.currGamePool.length; k++) {\n let garbage = this.currGamePool[k]\n let cc = this.conveyorsPool[0][`idx${0}`]\n if (cc.children[0]) {\n if (garbage.name == cc.children[0].$name) {\n garbage.isOnStage = false;\n removeEle(garbage, this.currGamePool);\n this.currGamePool.push(garbage);\n cc.removeChild(cc.children[0])\n break\n }\n }\n\n }\n }\n\n }\n }\n\n addscore(n) {\n this.score += n;\n engine.globalEvent.dispatchEvent('recycling-score-update', {\n score: this.score\n });\n }\n\n gameOver() {\n engine.gameStage.addEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this)\n }\n\n onDwon_garbage() {\n\n }\n\n private clear() {\n this.currGamePool = [];\n }\n\n timeout() {\n engine.gameStage.removeEventListener(engine.Event.ENTER_FRAME, this.onEnterFrame, this)\n }\n}","/**\n * Created by rockyl on 2018/8/16.\n */\n\nimport { getTextureByName } from \"../../../recycling/src/game/utils\";\nimport { props } from \"../props\";\nimport Conveyor from \"./Conveyor\";\nimport uiConfig from \"./uiConfig\";\nimport getGuideInfo, { setGuide } from \"./utils/getGuideInfo\";\nimport CountDownGroup from \"./views/CountDownGroup\";\nimport GuideView from \"./views/guideView\";\nimport Conveyors from \"./Conveyors\";\n\nexport default class GameView extends engine.Container {\n private _timer;\n private _timeCounter = 0;\n uiMap: any;\n wetWaste: engine.Rectangle;\n harmfulWaste: engine.Rectangle;\n dryWaste: engine.Rectangle;\n recoverableWaste: engine.Rectangle;\n countdown: CountDownGroup;\n guide: GuideView;\n conveyors: Conveyors;\n\n constructor() {\n super();\n this.once(engine.Event.ADDED_TO_STAGE, this.setup, this);\n }\n\n configUI() {\n\n const uiMap: any = {};\n this.uiMap = uiMap;\n const config = uiConfig();\n for (const item of config) {\n const { id, texture, pos, anchor } = item;\n const sp = new engine.Sprite(getTextureByName(texture));\n this.addChild(sp);\n uiMap[id] = sp;\n if (anchor) {\n sp.anchorX = anchor[0];\n sp.anchorY = anchor[1];\n }\n if (pos) {\n sp.x = pos[0];\n sp.y = pos[1];\n if (anchor) {\n sp.x = pos[0] - sp.anchorX;\n sp.y = pos[1] - sp.anchorY;\n }\n }\n }\n\n this.configConveyors();\n\n this.createRects();\n\n this.countdown = new CountDownGroup();\n this.addChild(this.countdown)\n\n this.guide = new GuideView();\n this.addChild(this.guide)\n\n }\n\n private createRects() {\n this.wetWaste = this.createRect(74, 552, 301, 293, 0xffffff);\n this.harmfulWaste = this.createRect(75, 247, 300, 293, 0xff0000);\n this.dryWaste = this.createRect(389, 249, 286, 291, 0x000000);\n this.recoverableWaste = this.createRect(389, 551, 287, 292, 0x0000ff);\n }\n\n createRect(x, y, w, h, c) {\n const rect = new engine.Rectangle(x, y, w, h);\n\n const sp = new engine.Sprite();\n this.addChild(sp);\n sp.x = x;\n sp.y = y;\n\n const g = new engine.Graphics;\n g.alpha = 0.0;\n g.beginFill(c);\n g.drawRect(0, 0, w, h);\n g.endFill();\n sp.addChild(g);\n\n return rect;\n }\n\n private configConveyors() {\n const conveyor0 = new Conveyor();\n conveyor0.x = 0;\n\n const conveyor1 = new Conveyor();\n this.addChild(conveyor0);\n this.addChild(conveyor1);\n conveyor1.x = 764;\n this.conveyors = new Conveyors(this);\n this.conveyors.initData(conveyor0, conveyor1)\n }\n\n playAni() {\n let idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\n idlerWheels = idlerWheels.map(i => this.uiMap[i]);\n idlerWheels.forEach(i => {\n engine.Tween.get(i, { loop: true }).to({ rotation: -360 }, 1000);\n })\n }\n\n stopAni() {\n let idlerWheels = ['idler0', 'idler1', 'idler2', 'idler3', 'idler4', 'idler5', 'idler6'];\n idlerWheels = idlerWheels.map(i => this.uiMap[i]);\n idlerWheels.forEach(i => {\n engine.Tween.removeTweens(i);\n })\n }\n\n async start() {\n console.log('on start')\n this._timeCounter = 0;\n\n if (!getGuideInfo()) {\n await this.guide.startGuide();\n setGuide();\n }\n \n await this.countdown.startCountDown();\n\n this.startGame();\n\n engine.globalEvent.dispatchEvent('recycling-time-update', {\n second: this.getSecond(),\n });\n\n this._timer = setInterval(() => {\n this.onTimer();\n }, 1000);\n }\n\n private startGame() {\n this.playAni();\n this.conveyors.startConveyors();\n }\n\n private stopGame() {\n this.stopAni();\n }\n\n getSecond() {\n\n return props.time - this._timeCounter\n }\n\n onTimer() {\n this._timeCounter++;\n engine.globalEvent.dispatchEvent('recycling-time-update', {\n second: this.getSecond(),\n });\n\n if (this.getSecond() == 0) {\n this.stop();\n this.conveyors.timeout();\n engine.globalEvent.dispatchEvent('recycling-game-end', {});\n }\n }\n\n stop() {\n clearInterval(this._timer);\n this.stopGame();\n }\n\n setup() {\n console.log('onSteup', props);\n this.configUI();\n }\n\n onDown(e: engine.MouseEvent) {\n\n }\n\n stageOnUp(e) {\n\n\n }\n\n private onSuccess() {\n\n\n }\n\n onMove(e: engine.MouseEvent) {\n\n }\n\n}\n","/**\n * Created by rockyl on 2020-01-09.\n */\n\nimport GameView from \"./GameView\";\nimport { injectProps } from \"../props\";\n\n\nexport class GameWrapper extends engine.Container {\n\t// private _status;\n\tprivate _gameView: GameView;\n\tconstructor() {\n\t\tsuper();\n\n\t\tengine.globalEvent.addEventListener('recycling-start', this.start, this);\n\t\tengine.globalEvent.addEventListener('recycling-stop', this.stop, this);\n\n\t\t//创建实例\n\t\tlet gameView = this._gameView = new GameView();\n\t\tthis.addChild(gameView);\n\n\t}\n\n\tstart(event: engine.Event) {\n\t\tinjectProps(event.data);\n\n\t\tthis._gameView.start();\n\t}\n\tstop(event: engine.Event) {\n\t\t\n\t\tthis._gameView.stop();\n\t}\n}\n","/**\n * Created by rockyl on 2019-11-20.\n */\n\nimport {GameWrapper} from \"./game/GameWrapper\";\nimport {injectProps, prepareProps} from \"./props\";\n\nexport default function (props) {\n\tprepareProps();\n\tinjectProps(props);\n\n\tlet instance = new GameWrapper();\n\t\n\treturn instance;\n}\n"],"names":["__extends"],"mappings":"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"}
\ No newline at end of file
src/custom/recycling/meta.json
View file @
63f061c8
...
...
@@ -67,6 +67,313 @@
"url"
:
"//yun.duiba.com.cn/aurora/assets/b7a5489c9bc7c87479a36a5574f553e25dbe862d.png"
,
"uuid"
:
"196d410b-a645-4956-9ef1-d6f30be7c1fd"
,
"ext"
:
".png"
},
{
"name"
:
"g49"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/e408d950683da66d0a9b82de86c2a8cf532482ad.png"
,
"uuid"
:
"fe97cd48-720b-4412-9bcf-0bdd3a8e96a1"
,
"ext"
:
".png"
},
{
"name"
:
"g48"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/c13f4675de5e711bdcf2f1c5b2f7d45dd2f92aac.png"
,
"uuid"
:
"e1aedf7c-4352-4583-9df2-d2a6aea163dd"
,
"ext"
:
".png"
},
{
"name"
:
"g47"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/48f3774efcbf5f9ef0e5141f12b9ff07f5019bbc.png"
,
"uuid"
:
"402f8717-a023-4625-9daf-4e8f7964e7a2"
,
"ext"
:
".png"
},
{
"name"
:
"g46"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/e2ad0647d07daf99ecc7606a6e0832cfc7f7a8f8.png"
,
"uuid"
:
"9445c37d-e81c-4d36-a211-eed7a97eea4d"
,
"ext"
:
".png"
},
{
"name"
:
"g45"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/8aa58ad538a67a539176479e072769de0efea638.png"
,
"uuid"
:
"10e25631-ea9d-4dd3-8bef-4c340068c81a"
,
"ext"
:
".png"
},
{
"name"
:
"g44"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/7d8526e6e57130b54290a2b64567afd27c8d8f91.png"
,
"uuid"
:
"202c0ea8-bc6b-4098-aae8-bd29cf13b35f"
,
"ext"
:
".png"
},
{
"name"
:
"g43"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/967da517b471f7ed4629bba46f8dc2ba8beb1f0d.png"
,
"uuid"
:
"bb47d087-004c-4882-8d80-d172c0bff8a7"
,
"ext"
:
".png"
},
{
"name"
:
"g42"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/bf7eddba2dc2ce6ce8103175e96a348bc7e272c8.png"
,
"uuid"
:
"3a9c692c-2683-4ad5-a0b5-6193e5f708d1"
,
"ext"
:
".png"
},
{
"name"
:
"g41"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/767bcb92c9293d4edb60e413a11823b82ba05589.png"
,
"uuid"
:
"3e6d234e-2393-4d75-9e5c-c87e9f4f4370"
,
"ext"
:
".png"
},
{
"name"
:
"g40"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0a6276f244a36da419ca1b30180a126744e1838e.png"
,
"uuid"
:
"2c7df6ab-6ed5-451a-8da3-1de64e9a6518"
,
"ext"
:
".png"
},
{
"name"
:
"g39"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/b403cf582c53ea72cb48a46ae8b85c8f124d0454.png"
,
"uuid"
:
"2614eb6c-9153-4149-b8d6-ef02ac2200ae"
,
"ext"
:
".png"
},
{
"name"
:
"g38"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/b4542db81f188832e04caaf85ab17aef4d44c814.png"
,
"uuid"
:
"g38"
,
"ext"
:
".png"
},
{
"name"
:
"g37"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/6d3de9973a67e5ceba1400953bfb6f1c97e20697.png"
,
"uuid"
:
"g37"
,
"ext"
:
".png"
},
{
"name"
:
"g36"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/620f1419ace61c7f32ea180a8f22cddd21f976aa.png"
,
"uuid"
:
"g36"
,
"ext"
:
".png"
},
{
"name"
:
"g35"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/e8e2eae1199d60f79da5206fdbfb028db20ff76d.png"
,
"uuid"
:
"g35"
,
"ext"
:
".png"
},
{
"name"
:
"g34"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/d9e7793207b2fcc30251d0886576d9d7fcb5e9ee.png"
,
"uuid"
:
"g34"
,
"ext"
:
".png"
},
{
"name"
:
"g33"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/3fa131f7f897c34fb379f7bf9c29747f3e69bf43.png"
,
"uuid"
:
"g33"
,
"ext"
:
".png"
},
{
"name"
:
"g32"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/3269880aaca62db34a6deb5199308adc0d254012.png"
,
"uuid"
:
"g32"
,
"ext"
:
".png"
},
{
"name"
:
"g31"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/751067560cd76d7f9e5ceaa6b3f14479e55a69da.png"
,
"uuid"
:
"g31"
,
"ext"
:
".png"
},
{
"name"
:
"g30"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/5a3a283ecbf493d8773b31ccf2f723e91ed98d6c.png"
,
"uuid"
:
"g30"
,
"ext"
:
".png"
},
{
"name"
:
"g29"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/9b18c4e4ee1e8c841446fc595b8f0e211a454437.png"
,
"uuid"
:
"g29"
,
"ext"
:
".png"
},
{
"name"
:
"g28"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/690129e1862415926738babe59f518b6b1b5cb4e.png"
,
"uuid"
:
"g28"
,
"ext"
:
".png"
},
{
"name"
:
"g27"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/17080c9fec412c3dc013fbc5c7507e5960aed1a3.png"
,
"uuid"
:
"g27"
,
"ext"
:
".png"
},
{
"name"
:
"g26"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/a34628a8370ee6b18a84e4b340ea3e199b88722d.png"
,
"uuid"
:
"g26"
,
"ext"
:
".png"
},
{
"name"
:
"g25"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/3fd8d25962065b95ea92d15ba8ed72650bd619f7.png"
,
"uuid"
:
"g25"
,
"ext"
:
".png"
},
{
"name"
:
"g24"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/c309687ae634221e99020cd22ffb08ffcc0d8302.png"
,
"uuid"
:
"g24"
,
"ext"
:
".png"
},
{
"name"
:
"g23"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/c428c61edd2143dd29836545cadc5fb69035ee80.png"
,
"uuid"
:
"g23"
,
"ext"
:
".png"
},
{
"name"
:
"g22"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/2a147aa052d47ac0e06910e5df9ab1c932e34a92.png"
,
"uuid"
:
"g22"
,
"ext"
:
".png"
},
{
"name"
:
"g21"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/7ec81f1b13b8550effdf178101985fa31c50956a.png"
,
"uuid"
:
"g21"
,
"ext"
:
".png"
},
{
"name"
:
"g20"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/5b7500d82e6889e69fe24d605f253dfec0a42e39.png"
,
"uuid"
:
"g20"
,
"ext"
:
".png"
},
{
"name"
:
"g19"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/351ba4e8ca0c31caf69bc1b33917058e16970ef4.png"
,
"uuid"
:
"g19"
,
"ext"
:
".png"
},
{
"name"
:
"g18"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/29a63f67324429bcdaab1bb32bc944ff91bd47de.png"
,
"uuid"
:
"g18"
,
"ext"
:
".png"
},
{
"name"
:
"g17"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/8b65937268201d986f4307d2c50f9b7ab41eaaa2.png"
,
"uuid"
:
"g17"
,
"ext"
:
".png"
},
{
"name"
:
"g16"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/8867de1b241ffa9f0c74a052a5b16ccc32c6fee6.png"
,
"uuid"
:
"g16"
,
"ext"
:
".png"
},
{
"name"
:
"g15"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/93973a7931aee434f47fa66630c73c77a7f6dcee.png"
,
"uuid"
:
"g15"
,
"ext"
:
".png"
},
{
"name"
:
"g14"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/433e648f4dbdc3d64e1661e91997f09f292cfec6.png"
,
"uuid"
:
"g14"
,
"ext"
:
".png"
},
{
"name"
:
"g13"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0763e6fb31df6b0c13d466592c06d040cd2f0914.png"
,
"uuid"
:
"g13"
,
"ext"
:
".png"
},
{
"name"
:
"g12"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/6780831550258c98a024dda3dad66b38d47735c5.png"
,
"uuid"
:
"g12"
,
"ext"
:
".png"
},
{
"name"
:
"g11"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/f0291b80012c07b9a6b000ae08f06117bc091ce4.png"
,
"uuid"
:
"g11"
,
"ext"
:
".png"
},
{
"name"
:
"g10"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/ee55052e92922d7d4e8d103abc1b69f985bb32d2.png"
,
"uuid"
:
"g10"
,
"ext"
:
".png"
},
{
"name"
:
"g09"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/2ea8754293f74e08fe55496f7849804e6051b2ef.png"
,
"uuid"
:
"g09"
,
"ext"
:
".png"
},
{
"name"
:
"g08"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0648601cff5448dcb1eea1db5e70f12376c695e5.png"
,
"uuid"
:
"g08"
,
"ext"
:
".png"
},
{
"name"
:
"g07"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/b1a9a28a146a1ecb4dbd203fcae6c036a9acf041.png"
,
"uuid"
:
"g07"
,
"ext"
:
".png"
},
{
"name"
:
"g06"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/db9fa8e9fbea957e9f02502d3fc7be96ad9e6edc.png"
,
"uuid"
:
"g06"
,
"ext"
:
".png"
},
{
"name"
:
"g05"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/f0d6ea6ba0fb0cda815910d5d2c5d7d1a0af0675.png"
,
"uuid"
:
"g05"
,
"ext"
:
".png"
},
{
"name"
:
"g04"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/fb5bfe673bcadc393c15be3892e7223bf18a0a0b.png"
,
"uuid"
:
"g04"
,
"ext"
:
".png"
},
{
"name"
:
"g03"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/79d84185ebddb82219e92187d11368a5c1eb6505.png"
,
"uuid"
:
"g03"
,
"ext"
:
".png"
},
{
"name"
:
"g02"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/cf931a6dfd7d2938d31345c980b7caa22d515809.png"
,
"uuid"
:
"g02"
,
"ext"
:
".png"
},
{
"name"
:
"g01"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/0772e858d5337e5a52d17f6c6b0b9a7e79fa9c36.png"
,
"uuid"
:
"g01"
,
"ext"
:
".png"
},
{
"name"
:
"g00"
,
"url"
:
"//yun.duiba.com.cn/aurora/assets/38af7a09502570152c2f8238a93f6b35b40525d7.png"
,
"uuid"
:
"g00"
,
"ext"
:
".png"
}
],
"events"
:
{
...
...
src/custom/recycling/src/game/Conveyor.ts
View file @
63f061c8
...
...
@@ -9,6 +9,9 @@ export default class Conveyor extends engine.Sprite {
idx4
:
engine
.
Sprite
;
constructor
()
{
super
();
this
.
y
=
904.21
;
const
sp
=
new
engine
.
Sprite
(
getTextureByName
(
'conveyor'
));
this
.
addChild
(
sp
);
...
...
src/custom/recycling/src/game/Conveyors.ts
0 → 100644
View file @
63f061c8
import
{
props
}
from
"../props"
;
import
Conveyor
from
"./Conveyor"
;
import
Garbage
from
"./datas/Garbage"
;
import
GarbageConfig
from
"./datas/GarbageConfig"
;
import
removeEle
from
"./utils/removeEle"
;
import
shuffle
from
"./utils/shuffle"
;
import
{
getTextureByName
}
from
"./utils"
;
export
default
class
Conveyors
extends
engine
.
Sprite
{
conveyor0
:
Conveyor
;
conveyor1
:
Conveyor
;
private
conveyorsPool
:
any
[]
=
[];
private
GarbageConfig
:
any
[]
=
GarbageConfig
.
config
;
// 本局游戏的20种垃圾
private
currConfigPool
:
any
[]
=
[];
private
currGamePool
:
any
[]
=
[];
score
:
number
;
p
:
any
;
constructor
(
p
)
{
super
();
this
.
p
=
p
;
}
initData
(
conveyor0
,
conveyor1
)
{
this
.
conveyor0
=
conveyor0
;
this
.
conveyor1
=
conveyor1
;
this
.
conveyorsPool
.
push
(
this
.
conveyor0
);
this
.
conveyorsPool
.
push
(
this
.
conveyor1
);
}
private
setDefault
(){
this
.
score
=
0
;
this
.
clear
();
this
.
currConfigPool
=
shuffle
(
this
.
GarbageConfig
);
for
(
let
i
=
0
;
i
<
20
;
i
++
)
{
this
.
currConfigPool
[
i
].
idx
=
i
;
this
.
currConfigPool
[
i
].
isRight
=
false
;
this
.
currConfigPool
[
i
].
isMistake
=
false
;
this
.
currConfigPool
[
i
].
isOnStage
=
false
;
this
.
currGamePool
.
push
(
this
.
currConfigPool
[
i
]);
}
let
gamePoolIdx
=
0
;
for
(
let
i
=
0
;
i
<
5
;
i
++
)
{
let
g
=
this
.
currGamePool
[
gamePoolIdx
];
gamePoolIdx
+=
1
;
let
garbage
=
new
Garbage
(
getTextureByName
(
g
.
source
));
g
.
isOnStage
=
true
;
garbage
.
type
=
g
.
type
;
garbage
.
name
=
g
.
name
;
garbage
.
anchorX
=
g
.
width
/
2
;
garbage
.
anchorY
=
g
.
height
;
garbage
.
x
=
0
;
garbage
.
y
=
90
;
this
.
conveyor1
[
`idx
${
i
}
`
].
addChild
(
garbage
)
garbage
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
this
.
onDwon_garbage
,
this
);
}
}
startConveyors
()
{
this
.
setDefault
();
engine
.
gameStage
.
addEventListener
(
engine
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
)
}
onEnterFrame
(
ENTER_FRAME
:
string
,
onEnterFrame
:
any
,
arg2
:
this
)
{
if
(
this
.
score
==
100
)
{
this
.
gameOver
();
}
this
.
conveyorsPool
.
forEach
(
conveyor
=>
{
conveyor
.
x
-=
props
.
speed
||
3
;
});
if
(
this
.
conveyorsPool
.
length
>
1
)
{
if
(
this
.
conveyorsPool
[
this
.
conveyorsPool
.
length
-
1
].
x
<=
764
)
{
// 最后一个传送带完全进入屏幕时 往后添加一个传送带
const
conveyor
=
new
Conveyor
();
conveyor
.
x
=
this
.
conveyorsPool
[
this
.
conveyorsPool
.
length
-
1
].
x
+
764
;
this
.
p
.
addChild
(
conveyor
);
this
.
conveyorsPool
.
push
(
conveyor
);
}
else
{
//筛选出currGamePool里还未正确和添加在舞台上的
let
asdasd
=
[]
for
(
var
n
=
0
;
n
<
this
.
currGamePool
.
length
;
n
++
)
{
let
cgg
=
this
.
currGamePool
[
n
];
if
(
!
cgg
.
isRight
&&
!
cgg
.
isOnStage
)
{
asdasd
.
push
(
cgg
);
}
}
//最后一个传送带
let
cc
=
this
.
conveyorsPool
[
this
.
conveyorsPool
.
length
-
1
]
for
(
var
m
=
0
;
m
<
5
;
m
++
)
{
if
(
!
cc
[
`idx
${
m
}
`
].
children
[
0
])
{
let
g
=
asdasd
.
shift
();
if
(
g
)
{
g
.
isOnStage
=
true
;
let
garbage
=
new
Garbage
(
g
.
source
);
garbage
.
type
=
g
.
type
;
garbage
.
name
=
g
.
name
;
garbage
.
anchorX
=
g
.
width
/
2
;
garbage
.
anchorY
=
g
.
height
;
garbage
.
x
=
0
;
garbage
.
y
=
90
;
cc
[
`idx
${
m
}
`
].
addChild
(
garbage
);
garbage
.
addEventListener
(
engine
.
MouseEvent
.
MOUSE_DOWN
,
this
.
onDwon_garbage
,
this
);
}
else
{
break
}
}
}
}
// 从场景移除
if
(
this
.
conveyorsPool
[
0
].
x
<
-
750
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
let
garbage
=
this
.
currGamePool
[
k
]
let
cc
=
this
.
conveyorsPool
[
0
][
`idx
${
4
}
`
]
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
])
break
}
}
}
this
.
conveyorsPool
.
shift
();
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
600
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
let
garbage
=
this
.
currGamePool
[
k
]
let
cc
=
this
.
conveyorsPool
[
0
][
`idx
${
3
}
`
]
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
])
break
}
}
}
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
450
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
let
garbage
=
this
.
currGamePool
[
k
]
let
cc
=
this
.
conveyorsPool
[
0
][
`idx
${
2
}
`
]
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
])
break
}
}
}
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
300
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
let
garbage
=
this
.
currGamePool
[
k
]
let
cc
=
this
.
conveyorsPool
[
0
][
`idx
${
1
}
`
]
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
])
break
}
}
}
}
else
if
(
this
.
conveyorsPool
[
0
].
x
<
-
150
)
{
for
(
var
k
=
0
;
k
<
this
.
currGamePool
.
length
;
k
++
)
{
let
garbage
=
this
.
currGamePool
[
k
]
let
cc
=
this
.
conveyorsPool
[
0
][
`idx
${
0
}
`
]
if
(
cc
.
children
[
0
])
{
if
(
garbage
.
name
==
cc
.
children
[
0
].
$name
)
{
garbage
.
isOnStage
=
false
;
removeEle
(
garbage
,
this
.
currGamePool
);
this
.
currGamePool
.
push
(
garbage
);
cc
.
removeChild
(
cc
.
children
[
0
])
break
}
}
}
}
}
}
addscore
(
n
)
{
this
.
score
+=
n
;
engine
.
globalEvent
.
dispatchEvent
(
'recycling-score-update'
,
{
score
:
this
.
score
});
}
gameOver
()
{
engine
.
gameStage
.
addEventListener
(
engine
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
)
}
onDwon_garbage
()
{
}
private
clear
()
{
this
.
currGamePool
=
[];
}
timeout
()
{
engine
.
gameStage
.
removeEventListener
(
engine
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
)
}
}
\ No newline at end of file
src/custom/recycling/src/game/GameView.ts
View file @
63f061c8
...
...
@@ -9,11 +9,11 @@ import uiConfig from "./uiConfig";
import
getGuideInfo
,
{
setGuide
}
from
"./utils/getGuideInfo"
;
import
CountDownGroup
from
"./views/CountDownGroup"
;
import
GuideView
from
"./views/guideView"
;
import
Conveyors
from
"./Conveyors"
;
export
default
class
GameView
extends
engine
.
Container
{
private
_timer
;
private
_timeCounter
=
0
;
score
=
0
;
uiMap
:
any
;
wetWaste
:
engine
.
Rectangle
;
harmfulWaste
:
engine
.
Rectangle
;
...
...
@@ -21,6 +21,7 @@ export default class GameView extends engine.Container {
recoverableWaste
:
engine
.
Rectangle
;
countdown
:
CountDownGroup
;
guide
:
GuideView
;
conveyors
:
Conveyors
;
constructor
()
{
super
();
...
...
@@ -89,14 +90,15 @@ export default class GameView extends engine.Container {
}
private
configConveyors
()
{
const
conveyor0
=
new
Conveyor
();
conveyor0
.
x
=
0
;
const
conveyor1
=
new
Conveyor
();
conveyor1
.
x
=
0
;
conveyor1
.
y
=
904.21
;
const
conveyor2
=
new
Conveyor
();
this
.
addChild
(
conveyor0
);
this
.
addChild
(
conveyor1
);
this
.
addChild
(
conveyor2
)
;
conveyor2
.
x
=
764
;
conveyor2
.
y
=
904.21
;
conveyor1
.
x
=
764
;
this
.
conveyors
=
new
Conveyors
(
this
)
;
this
.
conveyors
.
initData
(
conveyor0
,
conveyor1
)
}
playAni
()
{
...
...
@@ -118,13 +120,12 @@ export default class GameView extends engine.Container {
async
start
()
{
console
.
log
(
'on start'
)
this
.
_timeCounter
=
0
;
this
.
score
=
0
;
if
(
!
getGuideInfo
())
{
await
this
.
guide
.
startGuide
();
setGuide
();
}
await
this
.
countdown
.
startCountDown
();
this
.
startGame
();
...
...
@@ -135,23 +136,15 @@ export default class GameView extends engine.Container {
this
.
_timer
=
setInterval
(()
=>
{
this
.
onTimer
();
},
1000
)
},
1000
)
;
}
private
startGame
()
{
this
.
playAni
();
this
.
stage
.
addEventListener
(
engine
.
MouseEvent
.
CLICK
,
this
.
xxx
,
this
);
}
private
xxx
()
{
this
.
score
++
;
engine
.
globalEvent
.
dispatchEvent
(
'recycling-score-update'
,
{
score
:
this
.
score
});
this
.
conveyors
.
startConveyors
();
}
private
stopGame
()
{
this
.
stage
.
removeEventListener
(
engine
.
MouseEvent
.
CLICK
,
this
.
xxx
,
this
);
this
.
stopAni
();
}
...
...
@@ -168,6 +161,7 @@ export default class GameView extends engine.Container {
if
(
this
.
getSecond
()
==
0
)
{
this
.
stop
();
this
.
conveyors
.
timeout
();
engine
.
globalEvent
.
dispatchEvent
(
'recycling-game-end'
,
{});
}
}
...
...
src/custom/recycling/src/game/datas/Garbage.ts
0 → 100644
View file @
63f061c8
import
{
GarbageTypes
}
from
'./GarbageTypes'
;
export
default
class
Garbage
extends
engine
.
Sprite
{
constructor
(
texture
)
{
super
(
texture
);
}
public
type
:
GarbageTypes
;
public
isWrong
:
boolean
=
false
;
public
isRight
:
boolean
=
false
;
public
}
\ No newline at end of file
src/custom/recycling/src/game/datas/GarbageConfig.ts
0 → 100644
View file @
63f061c8
import
{
GarbageTypes
}
from
'./GarbageTypes'
;
export
default
class
GarbageConfig
{
public
static
config
:
any
[]
=
[
{
name
:
"电池"
,
source
:
"g00"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
51
,
height
:
123
},
{
name
:
"温度计"
,
source
:
"g01"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
65
,
height
:
130
},
{
name
:
"鱼刺"
,
source
:
"g02"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
104
,
height
:
82
},
{
name
:
"龙虾"
,
source
:
"g03"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
129
,
height
:
122
},
{
name
:
"西瓜"
,
source
:
"g04"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
134
,
height
:
111
},
{
name
:
"旧玩具"
,
source
:
"g05"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
72
,
height
:
135
},
{
name
:
"口红"
,
source
:
"g06"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
49
,
height
:
134
},
{
name
:
"面包"
,
source
:
"g07"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
96
,
height
:
128
},
{
name
:
"绿植"
,
source
:
"g08"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
81
,
height
:
131
},
{
name
:
"保温瓶"
,
source
:
"g09"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
66
,
height
:
137
},
{
name
:
"破衣服"
,
source
:
"g10"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
91
,
height
:
121
},
{
name
:
"茶叶渣"
,
source
:
"g11"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
108
,
height
:
125
},
{
name
:
"湿巾"
,
source
:
"g12"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
106
,
height
:
109
},
{
name
:
"过期药膏"
,
source
:
"g13"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
107
,
height
:
130
},
{
name
:
"用完的洗发水瓶"
,
source
:
"g14"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
153
,
height
:
148
},
{
name
:
"婴儿纸尿裤"
,
source
:
"g15"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
108
,
height
:
123
},
{
name
:
"香水瓶"
,
source
:
"g16"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
65
,
height
:
127
},
{
name
:
"花甲壳"
,
source
:
"g17"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
99
,
height
:
115
},
{
name
:
"过期调味料"
,
source
:
"g18"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
109
,
height
:
130
},
{
name
:
"地毯"
,
source
:
"g19"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
145
,
height
:
119
},
{
name
:
"甘蔗渣"
,
source
:
"g20"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
100
,
height
:
116
},
{
name
:
"玻璃渣"
,
source
:
"g21"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
95
,
height
:
122
},
{
name
:
"番茄酱"
,
source
:
"g22"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
82
,
height
:
125
},
{
name
:
"酒精棉"
,
source
:
"g23"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
64
,
height
:
124
},
{
name
:
"指甲油瓶子"
,
source
:
"g24"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
109
,
height
:
125
},
{
name
:
"肉骨头"
,
source
:
"g25"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
67
,
height
:
123
},
{
name
:
"嚼过的口香糖"
,
source
:
"g26"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
135
,
height
:
116
},
{
name
:
"充电插头"
,
source
:
"g27"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
86
,
height
:
128
},
{
name
:
"旧报纸"
,
source
:
"g28"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
68
,
height
:
124
},
{
name
:
"烟头"
,
source
:
"g29"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
108
,
height
:
145
},
{
name
:
"奶茶塑料杯"
,
source
:
"g30"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
109
,
height
:
143
},
{
name
:
"瓜子壳"
,
source
:
"g31"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
87
,
height
:
121
},
{
name
:
"橘子皮"
,
source
:
"g32"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
78
,
height
:
120
},
{
name
:
"气球"
,
source
:
"g33"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
78
,
height
:
121
},
{
name
:
"树叶"
,
source
:
"g34"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
75
,
height
:
117
},
{
name
:
"感冒药"
,
source
:
"g35"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
92
,
height
:
121
},
{
name
:
"电话机"
,
source
:
"g36"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
63
,
height
:
121
},
{
name
:
"奶酪"
,
source
:
"g37"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
90
,
height
:
116
},
{
name
:
"啤酒瓶"
,
source
:
"g38"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
64
,
height
:
123
},
{
name
:
"薯片包装"
,
source
:
"g39"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
134
,
height
:
123
},
{
name
:
"过期保健品"
,
source
:
"g40"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
108
,
height
:
125
},
{
name
:
"雪糕包装袋"
,
source
:
"g41"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
109
,
height
:
128
},
{
name
:
"废油漆"
,
source
:
"g42"
,
type
:
GarbageTypes
.
harmfulWaste
,
width
:
98
,
height
:
122
},
{
name
:
"食品罐头"
,
source
:
"g43"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
94
,
height
:
117
},
{
name
:
"陶瓷碗"
,
source
:
"g44"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
105
,
height
:
122
},
{
name
:
"蚊香"
,
source
:
"g45"
,
type
:
GarbageTypes
.
dryWaste
,
width
:
69
,
height
:
146
},
{
name
:
"电脑机箱"
,
source
:
"g46"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
84
,
height
:
124
},
{
name
:
"鲜花"
,
source
:
"g47"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
62
,
height
:
122
},
{
name
:
"宠物粮食"
,
source
:
"g48"
,
type
:
GarbageTypes
.
wetWaste
,
width
:
87
,
height
:
121
},
{
name
:
"银行卡"
,
source
:
"g49"
,
type
:
GarbageTypes
.
recoverableWaste
,
width
:
115
,
height
:
123
},
];
}
\ No newline at end of file
src/custom/recycling/src/game/datas/GarbageTypes.ts
0 → 100644
View file @
63f061c8
export
enum
GarbageTypes
{
recoverableWaste
,
harmfulWaste
,
wetWaste
,
dryWaste
}
\ No newline at end of file
src/custom/recycling/src/game/utils/removeEle.ts
0 → 100644
View file @
63f061c8
export
default
(
e
,
arr
)
=>
{
let
index
=
arr
.
indexOf
(
e
);
if
(
index
>=
0
)
{
arr
.
splice
(
index
,
1
)
}
}
\ No newline at end of file
src/custom/recycling/src/game/utils/shuffle.ts
0 → 100644
View file @
63f061c8
export
default
(
arr
):
any
=>
{
let
i
=
arr
.
length
;
while
(
i
)
{
let
j
=
Math
.
floor
(
Math
.
random
()
*
i
--
);
//5555
[
arr
[
j
],
arr
[
i
]]
=
[
arr
[
i
],
arr
[
j
]];
}
return
arr
;
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment