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