1
0
forked from sent/waves
waves/public/assets/g/bobtherobber2/bob-the-robber-2.min.f.js
2025-04-09 17:11:14 -05:00

128120 lines
3.6 MiB

!function(e) {
var t;
"object" == typeof exports ? module.exports = e() : ("undefined" != typeof window ? t = window : "undefined" != typeof global ? t = global : "undefined" != typeof self && (t = self),
t.p2 = e())
}(function() {
return function o(s, a, n) {
function h(i, e) {
if (!a[i]) {
if (!s[i]) {
var t = "function" == typeof require && require;
if (!e && t)
return t(i, !0);
if (c)
return c(i, !0);
throw new Error("Cannot find module '" + i + "'")
}
var r = a[i] = {
exports: {}
};
s[i][0].call(r.exports, function(e) {
var t = s[i][1][e];
return h(t || e)
}, r, r.exports, o, s, a, n)
}
return a[i].exports
}
for (var c = "function" == typeof require && require, e = 0; e < n.length; e++)
h(n[e]);
return h
}({
1: [function(e, t, i) {
var m = e("./Scalar");
function r() {}
(t.exports = r).lineInt = function(e, t, i) {
i = i || 0;
var r, o, s, a, n, h, c, l = [0, 0];
return r = e[1][1] - e[0][1],
o = e[0][0] - e[1][0],
s = r * e[0][0] + o * e[0][1],
a = t[1][1] - t[0][1],
n = t[0][0] - t[1][0],
h = a * t[0][0] + n * t[0][1],
c = r * n - a * o,
m.eq(c, 0, i) || (l[0] = (n * s - o * h) / c,
l[1] = (r * h - a * s) / c),
l
}
,
r.segmentsIntersect = function(e, t, i, r) {
var o = t[0] - e[0]
, s = t[1] - e[1]
, a = r[0] - i[0]
, n = r[1] - i[1];
if (a * s - n * o == 0)
return !1;
var h = (o * (i[1] - e[1]) + s * (e[0] - i[0])) / (a * s - n * o)
, c = (a * (e[1] - i[1]) + n * (i[0] - e[0])) / (n * o - a * s);
return 0 <= h && h <= 1 && 0 <= c && c <= 1
}
}
, {
"./Scalar": 4
}],
2: [function(e, t, i) {
function c() {}
(t.exports = c).area = function(e, t, i) {
return (t[0] - e[0]) * (i[1] - e[1]) - (i[0] - e[0]) * (t[1] - e[1])
}
,
c.left = function(e, t, i) {
return 0 < c.area(e, t, i)
}
,
c.leftOn = function(e, t, i) {
return 0 <= c.area(e, t, i)
}
,
c.right = function(e, t, i) {
return c.area(e, t, i) < 0
}
,
c.rightOn = function(e, t, i) {
return c.area(e, t, i) <= 0
}
;
var l = []
, m = [];
c.collinear = function(e, t, i, r) {
if (r) {
var o = l
, s = m;
o[0] = t[0] - e[0],
o[1] = t[1] - e[1],
s[0] = i[0] - t[0],
s[1] = i[1] - t[1];
var a = o[0] * s[0] + o[1] * s[1]
, n = Math.sqrt(o[0] * o[0] + o[1] * o[1])
, h = Math.sqrt(s[0] * s[0] + s[1] * s[1]);
return Math.acos(a / (n * h)) < r
}
return 0 == c.area(e, t, i)
}
,
c.sqdist = function(e, t) {
var i = t[0] - e[0]
, r = t[1] - e[1];
return i * i + r * r
}
}
, {}],
3: [function(e, t, i) {
var n = e("./Line")
, v = e("./Point")
, u = e("./Scalar");
function z() {
this.vertices = []
}
(t.exports = z).prototype.at = function(e) {
var t = this.vertices
, i = t.length;
return t[e < 0 ? e % i + i : e % i]
}
,
z.prototype.first = function() {
return this.vertices[0]
}
,
z.prototype.last = function() {
return this.vertices[this.vertices.length - 1]
}
,
z.prototype.clear = function() {
this.vertices.length = 0
}
,
z.prototype.append = function(e, t, i) {
if (void 0 === t)
throw new Error("From is not given!");
if (void 0 === i)
throw new Error("To is not given!");
if (i - 1 < t)
throw new Error("lol1");
if (i > e.vertices.length)
throw new Error("lol2");
if (t < 0)
throw new Error("lol3");
for (var r = t; r < i; r++)
this.vertices.push(e.vertices[r])
}
,
z.prototype.makeCCW = function() {
for (var e = 0, t = this.vertices, i = 1; i < this.vertices.length; ++i)
(t[i][1] < t[e][1] || t[i][1] == t[e][1] && t[i][0] > t[e][0]) && (e = i);
v.left(this.at(e - 1), this.at(e), this.at(e + 1)) || this.reverse()
}
,
z.prototype.reverse = function() {
for (var e = [], t = 0, i = this.vertices.length; t !== i; t++)
e.push(this.vertices.pop());
this.vertices = e
}
,
z.prototype.isReflex = function(e) {
return v.right(this.at(e - 1), this.at(e), this.at(e + 1))
}
;
var h = []
, c = [];
function C(e, t, i, r, o) {
o = o || 0;
var s = t[1] - e[1]
, a = e[0] - t[0]
, n = s * e[0] + a * e[1]
, h = r[1] - i[1]
, c = i[0] - r[0]
, l = h * i[0] + c * i[1]
, m = s * c - h * a;
return u.eq(m, 0, o) ? [0, 0] : [(c * n - a * l) / m, (s * l - h * n) / m]
}
z.prototype.canSee = function(e, t) {
var i, r, o = h, s = c;
if (v.leftOn(this.at(e + 1), this.at(e), this.at(t)) && v.rightOn(this.at(e - 1), this.at(e), this.at(t)))
return !1;
r = v.sqdist(this.at(e), this.at(t));
for (var a = 0; a !== this.vertices.length; ++a)
if ((a + 1) % this.vertices.length !== e && a !== e && v.leftOn(this.at(e), this.at(t), this.at(a + 1)) && v.rightOn(this.at(e), this.at(t), this.at(a)) && (o[0] = this.at(e),
o[1] = this.at(t),
s[0] = this.at(a),
s[1] = this.at(a + 1),
i = n.lineInt(o, s),
v.sqdist(this.at(e), i) < r))
return !1;
return !0
}
,
z.prototype.copy = function(e, t, i) {
var r = i || new z;
if (r.clear(),
e < t)
for (var o = e; o <= t; o++)
r.vertices.push(this.vertices[o]);
else {
for (o = 0; o <= t; o++)
r.vertices.push(this.vertices[o]);
for (o = e; o < this.vertices.length; o++)
r.vertices.push(this.vertices[o])
}
return r
}
,
z.prototype.getCutEdges = function() {
for (var e = [], t = [], i = [], r = new z, o = Number.MAX_VALUE, s = 0; s < this.vertices.length; ++s)
if (this.isReflex(s))
for (var a = 0; a < this.vertices.length; ++a)
if (this.canSee(s, a)) {
t = this.copy(s, a, r).getCutEdges(),
i = this.copy(a, s, r).getCutEdges();
for (var n = 0; n < i.length; n++)
t.push(i[n]);
t.length < o && (o = (e = t).length,
e.push([this.at(s), this.at(a)]))
}
return e
}
,
z.prototype.decomp = function() {
var e = this.getCutEdges();
return 0 < e.length ? this.slice(e) : [this]
}
,
z.prototype.slice = function(e) {
if (0 == e.length)
return [this];
if (e instanceof Array && e.length && e[0]instanceof Array && 2 == e[0].length && e[0][0]instanceof Array) {
for (var t = [this], i = 0; i < e.length; i++)
for (var r = e[i], o = 0; o < t.length; o++) {
var s = t[o].slice(r);
if (s) {
t.splice(o, 1),
t.push(s[0], s[1]);
break
}
}
return t
}
r = e,
i = this.vertices.indexOf(r[0]),
o = this.vertices.indexOf(r[1]);
return -1 != i && -1 != o && [this.copy(i, o), this.copy(o, i)]
}
,
z.prototype.isSimple = function() {
for (var e = this.vertices, t = 0; t < e.length - 1; t++)
for (var i = 0; i < t - 1; i++)
if (n.segmentsIntersect(e[t], e[t + 1], e[i], e[i + 1]))
return !1;
for (t = 1; t < e.length - 2; t++)
if (n.segmentsIntersect(e[0], e[e.length - 1], e[t], e[t + 1]))
return !1;
return !0
}
,
z.prototype.quickDecomp = function(e, t, i, r, o, s) {
o = o || 100,
s = s || 0,
r = r || 25,
e = void 0 !== e ? e : [],
t = t || [],
i = i || [];
var a = [0, 0]
, n = [0, 0]
, h = [0, 0]
, c = 0
, l = 0
, m = 0
, u = 0
, d = 0
, p = 0
, f = 0
, y = new z
, S = new z
, w = this
, g = this.vertices;
if (g.length < 3)
return e;
if (o < ++s)
return e;
for (var x = 0; x < this.vertices.length; ++x)
if (w.isReflex(x)) {
t.push(w.vertices[x]),
c = l = Number.MAX_VALUE;
for (var b = 0; b < this.vertices.length; ++b)
v.left(w.at(x - 1), w.at(x), w.at(b)) && v.rightOn(w.at(x - 1), w.at(x), w.at(b - 1)) && (h = C(w.at(x - 1), w.at(x), w.at(b), w.at(b - 1)),
v.right(w.at(x + 1), w.at(x), h) && (m = v.sqdist(w.vertices[x], h)) < l && (l = m,
n = h,
p = b)),
v.left(w.at(x + 1), w.at(x), w.at(b + 1)) && v.rightOn(w.at(x + 1), w.at(x), w.at(b)) && (h = C(w.at(x + 1), w.at(x), w.at(b), w.at(b + 1)),
v.left(w.at(x - 1), w.at(x), h) && (m = v.sqdist(w.vertices[x], h)) < c && (c = m,
a = h,
d = b));
if (p == (d + 1) % this.vertices.length)
h[0] = (n[0] + a[0]) / 2,
h[1] = (n[1] + a[1]) / 2,
i.push(h),
x < d ? (y.append(w, x, d + 1),
y.vertices.push(h),
S.vertices.push(h),
0 != p && S.append(w, p, w.vertices.length),
S.append(w, 0, x + 1)) : (0 != x && y.append(w, x, w.vertices.length),
y.append(w, 0, d + 1),
y.vertices.push(h),
S.vertices.push(h),
S.append(w, p, x + 1));
else {
if (d < p && (d += this.vertices.length),
u = Number.MAX_VALUE,
d < p)
return e;
for (b = p; b <= d; ++b)
v.leftOn(w.at(x - 1), w.at(x), w.at(b)) && v.rightOn(w.at(x + 1), w.at(x), w.at(b)) && (m = v.sqdist(w.at(x), w.at(b))) < u && (u = m,
f = b % this.vertices.length);
x < f ? (y.append(w, x, f + 1),
0 != f && S.append(w, f, g.length),
S.append(w, 0, x + 1)) : (0 != x && y.append(w, x, g.length),
y.append(w, 0, f + 1),
S.append(w, f, x + 1))
}
return y.vertices.length < S.vertices.length ? (y.quickDecomp(e, t, i, r, o, s),
S.quickDecomp(e, t, i, r, o, s)) : (S.quickDecomp(e, t, i, r, o, s),
y.quickDecomp(e, t, i, r, o, s)),
e
}
return e.push(this),
e
}
,
z.prototype.removeCollinearPoints = function(e) {
for (var t = 0, i = this.vertices.length - 1; 3 < this.vertices.length && 0 <= i; --i)
v.collinear(this.at(i - 1), this.at(i), this.at(i + 1), e) && (this.vertices.splice(i % this.vertices.length, 1),
i--,
t++);
return t
}
}
, {
"./Line": 1,
"./Point": 2,
"./Scalar": 4
}],
4: [function(e, t, i) {
function r() {}
(t.exports = r).eq = function(e, t, i) {
return i = i || 0,
Math.abs(e - t) < i
}
}
, {}],
5: [function(e, t, i) {
t.exports = {
Polygon: e("./Polygon"),
Point: e("./Point")
}
}
, {
"./Point": 2,
"./Polygon": 3
}],
6: [function(e, t, i) {
t.exports = {
name: "p2",
version: "0.7.0",
description: "A JavaScript 2D physics engine.",
author: "Stefan Hedman <schteppe@gmail.com> (http://steffe.se)",
keywords: ["p2.js", "p2", "physics", "engine", "2d"],
main: "./src/p2.js",
engines: {
node: "*"
},
repository: {
type: "git",
url: "https://github.com/schteppe/p2.js.git"
},
bugs: {
url: "https://github.com/schteppe/p2.js/issues"
},
licenses: [{
type: "MIT"
}],
devDependencies: {
grunt: "^0.4.5",
"grunt-contrib-jshint": "^0.11.2",
"grunt-contrib-nodeunit": "^0.4.1",
"grunt-contrib-uglify": "~0.4.0",
"grunt-contrib-watch": "~0.5.0",
"grunt-browserify": "~2.0.1",
"grunt-contrib-concat": "^0.4.0"
},
dependencies: {
"poly-decomp": "0.1.0"
}
}
}
, {}],
7: [function(e, t, i) {
var d = e("../math/vec2");
e("../utils/Utils");
function r(e) {
this.lowerBound = d.create(),
e && e.lowerBound && d.copy(this.lowerBound, e.lowerBound),
this.upperBound = d.create(),
e && e.upperBound && d.copy(this.upperBound, e.upperBound)
}
t.exports = r;
var p = d.create();
r.prototype.setFromPoints = function(e, t, i, r) {
var o = this.lowerBound
, s = this.upperBound;
"number" != typeof i && (i = 0),
0 !== i ? d.rotate(o, e[0], i) : d.copy(o, e[0]),
d.copy(s, o);
for (var a = Math.cos(i), n = Math.sin(i), h = 1; h < e.length; h++) {
var c = e[h];
if (0 !== i) {
var l = c[0]
, m = c[1];
p[0] = a * l - n * m,
p[1] = n * l + a * m,
c = p
}
for (var u = 0; u < 2; u++)
c[u] > s[u] && (s[u] = c[u]),
c[u] < o[u] && (o[u] = c[u])
}
t && (d.add(this.lowerBound, this.lowerBound, t),
d.add(this.upperBound, this.upperBound, t)),
r && (this.lowerBound[0] -= r,
this.lowerBound[1] -= r,
this.upperBound[0] += r,
this.upperBound[1] += r)
}
,
r.prototype.copy = function(e) {
d.copy(this.lowerBound, e.lowerBound),
d.copy(this.upperBound, e.upperBound)
}
,
r.prototype.extend = function(e) {
for (var t = 2; t--; ) {
var i = e.lowerBound[t];
this.lowerBound[t] > i && (this.lowerBound[t] = i);
var r = e.upperBound[t];
this.upperBound[t] < r && (this.upperBound[t] = r)
}
}
,
r.prototype.overlaps = function(e) {
var t = this.lowerBound
, i = this.upperBound
, r = e.lowerBound
, o = e.upperBound;
return (r[0] <= i[0] && i[0] <= o[0] || t[0] <= o[0] && o[0] <= i[0]) && (r[1] <= i[1] && i[1] <= o[1] || t[1] <= o[1] && o[1] <= i[1])
}
,
r.prototype.containsPoint = function(e) {
var t = this.lowerBound
, i = this.upperBound;
return t[0] <= e[0] && e[0] <= i[0] && t[1] <= e[1] && e[1] <= i[1]
}
,
r.prototype.overlapsRay = function(e) {
var t = 1 / e.direction[0]
, i = 1 / e.direction[1]
, r = (this.lowerBound[0] - e.from[0]) * t
, o = (this.upperBound[0] - e.from[0]) * t
, s = (this.lowerBound[1] - e.from[1]) * i
, a = (this.upperBound[1] - e.from[1]) * i
, n = Math.max(Math.max(Math.min(r, o), Math.min(s, a)))
, h = Math.min(Math.min(Math.max(r, o), Math.max(s, a)));
return h < 0 ? -1 : h < n ? -1 : n
}
}
, {
"../math/vec2": 30,
"../utils/Utils": 57
}],
8: [function(e, t, i) {
var o = e("../math/vec2")
, s = e("../objects/Body");
function r(e) {
this.type = e,
this.result = [],
this.world = null,
this.boundingVolumeType = r.AABB
}
(t.exports = r).AABB = 1,
r.BOUNDING_CIRCLE = 2,
r.prototype.setWorld = function(e) {
this.world = e
}
,
r.prototype.getCollisionPairs = function(e) {}
;
var a = o.create();
r.boundingRadiusCheck = function(e, t) {
o.sub(a, e.position, t.position);
var i = o.squaredLength(a)
, r = e.boundingRadius + t.boundingRadius;
return i <= r * r
}
,
r.aabbCheck = function(e, t) {
return e.getAABB().overlaps(t.getAABB())
}
,
r.prototype.boundingVolumeCheck = function(e, t) {
var i;
switch (this.boundingVolumeType) {
case r.BOUNDING_CIRCLE:
i = r.boundingRadiusCheck(e, t);
break;
case r.AABB:
i = r.aabbCheck(e, t);
break;
default:
throw new Error("Bounding volume type not recognized: " + this.boundingVolumeType)
}
return i
}
,
r.canCollide = function(e, t) {
var i = s.KINEMATIC
, r = s.STATIC;
return (e.type !== r || t.type !== r) && (!(e.type === i && t.type === r || e.type === r && t.type === i) && ((e.type !== i || t.type !== i) && ((e.sleepState !== s.SLEEPING || t.sleepState !== s.SLEEPING) && !(e.sleepState === s.SLEEPING && t.type === r || t.sleepState === s.SLEEPING && e.type === r))))
}
,
r.NAIVE = 1,
r.SAP = 2
}
, {
"../math/vec2": 30,
"../objects/Body": 31
}],
9: [function(e, t, i) {
e("../shapes/Circle"),
e("../shapes/Plane"),
e("../shapes/Shape"),
e("../shapes/Particle");
var h = e("../collision/Broadphase");
e("../math/vec2");
function r() {
h.call(this, h.NAIVE)
}
(((t.exports = r).prototype = new h).constructor = r).prototype.getCollisionPairs = function(e) {
for (var t = e.bodies, i = this.result, r = i.length = 0, o = t.length; r !== o; r++)
for (var s = t[r], a = 0; a < r; a++) {
var n = t[a];
h.canCollide(s, n) && this.boundingVolumeCheck(s, n) && i.push(s, n)
}
return i
}
,
r.prototype.aabbQuery = function(e, t, i) {
i = i || [];
for (var r = e.bodies, o = 0; o < r.length; o++) {
var s = r[o];
s.aabbNeedsUpdate && s.updateAABB(),
s.aabb.overlaps(t) && i.push(s)
}
return i
}
}
, {
"../collision/Broadphase": 8,
"../math/vec2": 30,
"../shapes/Circle": 39,
"../shapes/Particle": 43,
"../shapes/Plane": 44,
"../shapes/Shape": 45
}],
10: [function(e, t, i) {
var U = e("../math/vec2")
, W = U.sub
, X = U.add
, H = U.dot
, r = (e("../utils/Utils"),
e("../utils/ContactEquationPool"))
, o = e("../utils/FrictionEquationPool")
, s = e("../utils/TupleDictionary")
, a = e("../equations/Equation")
, n = (e("../equations/ContactEquation"),
e("../equations/FrictionEquation"),
e("../shapes/Circle"))
, h = e("../shapes/Convex")
, c = e("../shapes/Shape")
, z = (e("../objects/Body"),
e("../shapes/Box"));
t.exports = $;
var C = U.fromValues(0, 1)
, j = U.fromValues(0, 0)
, Y = U.fromValues(0, 0)
, V = U.fromValues(0, 0)
, K = U.fromValues(0, 0)
, q = U.fromValues(0, 0)
, I = U.fromValues(0, 0)
, Z = U.fromValues(0, 0)
, J = U.fromValues(0, 0)
, Q = U.fromValues(0, 0)
, L = U.fromValues(0, 0)
, O = U.fromValues(0, 0)
, R = U.fromValues(0, 0)
, F = U.fromValues(0, 0)
, G = U.fromValues(0, 0)
, D = U.fromValues(0, 0)
, k = U.fromValues(0, 0)
, _ = U.fromValues(0, 0)
, B = U.fromValues(0, 0)
, N = [];
function $() {
this.contactEquations = [],
this.frictionEquations = [],
this.enableFriction = !0,
this.enabledEquations = !0,
this.slipForce = 10,
this.frictionCoefficient = .3,
this.surfaceVelocity = 0,
this.contactEquationPool = new r({
size: 32
}),
this.frictionEquationPool = new o({
size: 64
}),
this.restitution = 0,
this.stiffness = a.DEFAULT_STIFFNESS,
this.relaxation = a.DEFAULT_RELAXATION,
this.frictionStiffness = a.DEFAULT_STIFFNESS,
this.frictionRelaxation = a.DEFAULT_RELAXATION,
this.enableFrictionReduction = !0,
this.collidingBodiesLastStep = new s,
this.contactSkinSize = .01
}
var l = U.create()
, m = U.create();
function g(e, t) {
U.set(e.vertices[0], .5 * -t.length, -t.radius),
U.set(e.vertices[1], .5 * t.length, -t.radius),
U.set(e.vertices[2], .5 * t.length, t.radius),
U.set(e.vertices[3], .5 * -t.length, t.radius)
}
$.prototype.bodiesOverlap = function(e, t) {
for (var i = l, r = m, o = 0, s = e.shapes.length; o !== s; o++) {
var a = e.shapes[o];
e.toWorldFrame(i, a.position);
for (var n = 0, h = t.shapes.length; n !== h; n++) {
var c = t.shapes[n];
if (t.toWorldFrame(r, c.position),
this[a.type | c.type](e, a, i, a.angle + e.angle, t, c, r, c.angle + t.angle, !0))
return !0
}
}
return !1
}
,
$.prototype.collidedLastStep = function(e, t) {
var i = 0 | e.id
, r = 0 | t.id;
return !!this.collidingBodiesLastStep.get(i, r)
}
,
$.prototype.reset = function() {
this.collidingBodiesLastStep.reset();
for (var e = this.contactEquations, t = e.length; t--; ) {
var i = e[t]
, r = i.bodyA.id
, o = i.bodyB.id;
this.collidingBodiesLastStep.set(r, o, !0)
}
for (var s = this.contactEquations, a = this.frictionEquations, n = 0; n < s.length; n++)
this.contactEquationPool.release(s[n]);
for (n = 0; n < a.length; n++)
this.frictionEquationPool.release(a[n]);
this.contactEquations.length = this.frictionEquations.length = 0
}
,
$.prototype.createContactEquation = function(e, t, i, r) {
var o = this.contactEquationPool.get();
return o.bodyA = e,
o.bodyB = t,
o.shapeA = i,
o.shapeB = r,
o.restitution = this.restitution,
o.firstImpact = !this.collidedLastStep(e, t),
o.stiffness = this.stiffness,
o.relaxation = this.relaxation,
o.needsUpdate = !0,
o.enabled = this.enabledEquations,
o.offset = this.contactSkinSize,
o
}
,
$.prototype.createFrictionEquation = function(e, t, i, r) {
var o = this.frictionEquationPool.get();
return o.bodyA = e,
o.bodyB = t,
o.shapeA = i,
o.shapeB = r,
o.setSlipForce(this.slipForce),
o.frictionCoefficient = this.frictionCoefficient,
o.relativeVelocity = this.surfaceVelocity,
o.enabled = this.enabledEquations,
o.needsUpdate = !0,
o.stiffness = this.frictionStiffness,
o.relaxation = this.frictionRelaxation,
o.contactEquations.length = 0,
o
}
,
$.prototype.createFrictionFromContact = function(e) {
var t = this.createFrictionEquation(e.bodyA, e.bodyB, e.shapeA, e.shapeB);
return U.copy(t.contactPointA, e.contactPointA),
U.copy(t.contactPointB, e.contactPointB),
U.rotate90cw(t.t, e.normalA),
t.contactEquations.push(e),
t
}
,
$.prototype.createFrictionFromAverage = function(e) {
var t = this.contactEquations[this.contactEquations.length - 1]
, i = this.createFrictionEquation(t.bodyA, t.bodyB, t.shapeA, t.shapeB)
, r = t.bodyA;
t.bodyB;
U.set(i.contactPointA, 0, 0),
U.set(i.contactPointB, 0, 0),
U.set(i.t, 0, 0);
for (var o = 0; o !== e; o++)
(t = this.contactEquations[this.contactEquations.length - 1 - o]).bodyA === r ? (U.add(i.t, i.t, t.normalA),
U.add(i.contactPointA, i.contactPointA, t.contactPointA),
U.add(i.contactPointB, i.contactPointB, t.contactPointB)) : (U.sub(i.t, i.t, t.normalA),
U.add(i.contactPointA, i.contactPointA, t.contactPointB),
U.add(i.contactPointB, i.contactPointB, t.contactPointA)),
i.contactEquations.push(t);
var s = 1 / e;
return U.scale(i.contactPointA, i.contactPointA, s),
U.scale(i.contactPointB, i.contactPointB, s),
U.normalize(i.t, i.t),
U.rotate90cw(i.t, i.t),
i
}
,
$.prototype[c.LINE | c.CONVEX] = $.prototype.convexLine = function(e, t, i, r, o, s, a, n, h) {
return !h && 0
}
,
$.prototype[c.LINE | c.BOX] = $.prototype.lineBox = function(e, t, i, r, o, s, a, n, h) {
return !h && 0
}
;
var d = new z({
width: 1,
height: 1
})
, p = U.create();
$.prototype[c.CAPSULE | c.CONVEX] = $.prototype[c.CAPSULE | c.BOX] = $.prototype.convexCapsule = function(e, t, i, r, o, s, a, n, h) {
var c = p;
U.set(c, s.length / 2, 0),
U.rotate(c, c, n),
U.add(c, c, a);
var l = this.circleConvex(o, s, c, n, e, t, i, r, h, s.radius);
U.set(c, -s.length / 2, 0),
U.rotate(c, c, n),
U.add(c, c, a);
var m = this.circleConvex(o, s, c, n, e, t, i, r, h, s.radius);
if (h && (l || m))
return !0;
var u = d;
return g(u, s),
this.convexConvex(e, t, i, r, o, u, a, n, h) + l + m
}
,
$.prototype[c.CAPSULE | c.LINE] = $.prototype.lineCapsule = function(e, t, i, r, o, s, a, n, h) {
return !h && 0
}
;
var x = U.create()
, b = U.create()
, v = new z({
width: 1,
height: 1
});
$.prototype[c.CAPSULE | c.CAPSULE] = $.prototype.capsuleCapsule = function(e, t, i, r, o, s, a, n, h) {
for (var c = x, l = b, m = 0, u = 0; u < 2; u++) {
U.set(c, (0 === u ? -1 : 1) * t.length / 2, 0),
U.rotate(c, c, r),
U.add(c, c, i);
for (var d = 0; d < 2; d++) {
U.set(l, (0 === d ? -1 : 1) * s.length / 2, 0),
U.rotate(l, l, n),
U.add(l, l, a),
this.enableFrictionReduction && (S = this.enableFriction,
this.enableFriction = !1);
var p = this.circleCircle(e, t, c, r, o, s, l, n, h, t.radius, s.radius);
if (this.enableFrictionReduction && (this.enableFriction = S),
h && p)
return !0;
m += p
}
}
this.enableFrictionReduction && (S = this.enableFriction,
this.enableFriction = !1);
var f = v;
g(f, t);
var y = this.convexCapsule(e, f, i, r, o, s, a, n, h);
if (this.enableFrictionReduction && (this.enableFriction = S),
h && y)
return !0;
if (m += y,
this.enableFrictionReduction) {
var S = this.enableFriction;
this.enableFriction = !1
}
g(f, s);
var w = this.convexCapsule(o, f, a, n, e, t, i, r, h);
return this.enableFrictionReduction && (this.enableFriction = S),
!(!h || !w) || (m += w,
this.enableFrictionReduction && m && this.enableFriction && this.frictionEquations.push(this.createFrictionFromAverage(m)),
m)
}
,
$.prototype[c.LINE | c.LINE] = $.prototype.lineLine = function(e, t, i, r, o, s, a, n, h) {
return !h && 0
}
,
$.prototype[c.PLANE | c.LINE] = $.prototype.planeLine = function(e, t, i, r, o, s, a, n, h) {
var c = j
, l = Y
, m = V
, u = K
, d = q
, p = I
, f = Z
, y = J
, S = Q
, w = N
, g = 0;
U.set(c, -s.length / 2, 0),
U.set(l, s.length / 2, 0),
U.rotate(m, c, n),
U.rotate(u, l, n),
X(m, m, a),
X(u, u, a),
U.copy(c, m),
U.copy(l, u),
W(d, l, c),
U.normalize(p, d),
U.rotate90cw(S, p),
U.rotate(y, C, r),
w[0] = c,
w[1] = l;
for (var x = 0; x < w.length; x++) {
var b = w[x];
W(f, b, i);
var v = H(f, y);
if (v < 0) {
if (h)
return !0;
var z = this.createContactEquation(e, o, t, s);
g++,
U.copy(z.normalA, y),
U.normalize(z.normalA, z.normalA),
U.scale(f, y, v),
W(z.contactPointA, b, f),
W(z.contactPointA, z.contactPointA, e.position),
W(z.contactPointB, b, a),
X(z.contactPointB, z.contactPointB, a),
W(z.contactPointB, z.contactPointB, o.position),
this.contactEquations.push(z),
this.enableFrictionReduction || this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(z))
}
}
return !h && (this.enableFrictionReduction || g && this.enableFriction && this.frictionEquations.push(this.createFrictionFromAverage(g)),
g)
}
,
$.prototype[c.PARTICLE | c.CAPSULE] = $.prototype.particleCapsule = function(e, t, i, r, o, s, a, n, h) {
return this.circleLine(e, t, i, r, o, s, a, n, h, s.radius, 0)
}
,
$.prototype[c.CIRCLE | c.LINE] = $.prototype.circleLine = function(e, t, i, r, o, s, a, n, h, c, l) {
c = c || 0,
l = void 0 !== l ? l : t.radius;
var m = j
, u = Y
, d = V
, p = K
, f = q
, y = I
, S = Z
, w = J
, g = Q
, x = L
, b = O
, v = R
, z = F
, C = G
, T = N;
U.set(w, -s.length / 2, 0),
U.set(g, s.length / 2, 0),
U.rotate(x, w, n),
U.rotate(b, g, n),
X(x, x, a),
X(b, b, a),
U.copy(w, x),
U.copy(g, b),
W(y, g, w),
U.normalize(S, y),
U.rotate90cw(f, S),
W(v, i, w);
var P = H(v, f);
W(p, w, a),
W(z, i, a);
var A = l + c;
if (Math.abs(P) < A) {
U.scale(m, f, P),
W(d, i, m),
U.scale(u, f, H(f, z)),
U.normalize(u, u),
U.scale(u, u, c),
X(d, d, u);
var _ = H(S, d)
, B = H(S, w)
, D = H(S, g);
if (B < _ && _ < D) {
if (h)
return !0;
var k = this.createContactEquation(e, o, t, s);
return U.scale(k.normalA, m, -1),
U.normalize(k.normalA, k.normalA),
U.scale(k.contactPointA, k.normalA, l),
X(k.contactPointA, k.contactPointA, i),
W(k.contactPointA, k.contactPointA, e.position),
W(k.contactPointB, d, a),
X(k.contactPointB, k.contactPointB, a),
W(k.contactPointB, k.contactPointB, o.position),
this.contactEquations.push(k),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(k)),
1
}
}
T[0] = w,
T[1] = g;
for (var E = 0; E < T.length; E++) {
var M = T[E];
if (W(v, M, i),
U.squaredLength(v) < Math.pow(A, 2)) {
if (h)
return !0;
k = this.createContactEquation(e, o, t, s);
return U.copy(k.normalA, v),
U.normalize(k.normalA, k.normalA),
U.scale(k.contactPointA, k.normalA, l),
X(k.contactPointA, k.contactPointA, i),
W(k.contactPointA, k.contactPointA, e.position),
W(k.contactPointB, M, a),
U.scale(C, k.normalA, -c),
X(k.contactPointB, k.contactPointB, C),
X(k.contactPointB, k.contactPointB, a),
W(k.contactPointB, k.contactPointB, o.position),
this.contactEquations.push(k),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(k)),
1
}
}
return 0
}
,
$.prototype[c.CIRCLE | c.CAPSULE] = $.prototype.circleCapsule = function(e, t, i, r, o, s, a, n, h) {
return this.circleLine(e, t, i, r, o, s, a, n, h, s.radius)
}
,
$.prototype[c.CIRCLE | c.CONVEX] = $.prototype[c.CIRCLE | c.BOX] = $.prototype.circleConvex = function(e, t, i, r, o, s, a, n, h, c) {
c = "number" == typeof c ? c : t.radius;
for (var l = j, m = Y, u = V, d = K, p = q, f = L, y = O, S = F, w = G, g = D, x = k, b = !1, v = Number.MAX_VALUE, z = s.vertices, C = 0; C !== z.length + 1; C++) {
var T = z[C % z.length]
, P = z[(C + 1) % z.length];
if (U.rotate(l, T, n),
U.rotate(m, P, n),
X(l, l, a),
X(m, m, a),
W(u, m, l),
U.normalize(d, u),
U.rotate90cw(p, d),
U.scale(w, p, -t.radius),
X(w, w, i),
E(w, s, a, n)) {
U.sub(g, l, w);
var A = Math.abs(U.dot(g, p));
A < v && (U.copy(x, w),
v = A,
U.scale(S, p, A),
U.add(S, S, w),
b = !0)
}
}
if (b) {
if (h)
return !0;
var _ = this.createContactEquation(e, o, t, s);
return U.sub(_.normalA, x, i),
U.normalize(_.normalA, _.normalA),
U.scale(_.contactPointA, _.normalA, c),
X(_.contactPointA, _.contactPointA, i),
W(_.contactPointA, _.contactPointA, e.position),
W(_.contactPointB, S, a),
X(_.contactPointB, _.contactPointB, a),
W(_.contactPointB, _.contactPointB, o.position),
this.contactEquations.push(_),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(_)),
1
}
if (0 < c)
for (C = 0; C < z.length; C++) {
var B = z[C];
if (U.rotate(y, B, n),
X(y, y, a),
W(f, y, i),
U.squaredLength(f) < Math.pow(c, 2)) {
if (h)
return !0;
_ = this.createContactEquation(e, o, t, s);
return U.copy(_.normalA, f),
U.normalize(_.normalA, _.normalA),
U.scale(_.contactPointA, _.normalA, c),
X(_.contactPointA, _.contactPointA, i),
W(_.contactPointA, _.contactPointA, e.position),
W(_.contactPointB, y, a),
X(_.contactPointB, _.contactPointB, a),
W(_.contactPointB, _.contactPointB, o.position),
this.contactEquations.push(_),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(_)),
1
}
}
return 0
}
;
var f = U.create()
, y = U.create()
, S = U.create()
, w = U.create();
function E(e, t, i, r) {
for (var o = f, s = y, a = S, n = w, h = e, c = t.vertices, l = null, m = 0; m !== c.length + 1; m++) {
var u = c[m % c.length]
, d = c[(m + 1) % c.length];
U.rotate(o, u, r),
U.rotate(s, d, r),
X(o, o, i),
X(s, s, i),
W(a, o, h),
W(n, s, h);
var p = U.crossLength(a, n);
if (null === l && (l = p),
p * l <= 0)
return !1;
l = p
}
return !0
}
$.prototype[c.PARTICLE | c.CONVEX] = $.prototype[c.PARTICLE | c.BOX] = $.prototype.particleConvex = function(e, t, i, r, o, s, a, n, h) {
var c = j
, l = Y
, m = V
, u = K
, d = q
, p = I
, f = Z
, y = L
, S = F
, w = _
, g = B
, x = Number.MAX_VALUE
, b = !1
, v = s.vertices;
if (!E(i, s, a, n))
return 0;
if (h)
return !0;
for (var z = 0; z !== v.length + 1; z++) {
var C = v[z % v.length]
, T = v[(z + 1) % v.length];
U.rotate(c, C, n),
U.rotate(l, T, n),
X(c, c, a),
X(l, l, a),
W(m, l, c),
U.normalize(u, m),
U.rotate90cw(d, u),
W(y, i, c);
H(y, d);
W(p, c, a),
W(f, i, a),
U.sub(w, c, i);
var P = Math.abs(U.dot(w, d));
P < x && (x = P,
U.scale(S, d, P),
U.add(S, S, i),
U.copy(g, d),
b = !0)
}
if (b) {
var A = this.createContactEquation(e, o, t, s);
return U.scale(A.normalA, g, -1),
U.normalize(A.normalA, A.normalA),
U.set(A.contactPointA, 0, 0),
X(A.contactPointA, A.contactPointA, i),
W(A.contactPointA, A.contactPointA, e.position),
W(A.contactPointB, S, a),
X(A.contactPointB, A.contactPointB, a),
W(A.contactPointB, A.contactPointB, o.position),
this.contactEquations.push(A),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(A)),
1
}
return 0
}
,
$.prototype[c.CIRCLE] = $.prototype.circleCircle = function(e, t, i, r, o, s, a, n, h, c, l) {
var m = j;
c = c || t.radius,
l = l || s.radius;
W(m, i, a);
var u = c + l;
if (U.squaredLength(m) > Math.pow(u, 2))
return 0;
if (h)
return !0;
var d = this.createContactEquation(e, o, t, s);
return W(d.normalA, a, i),
U.normalize(d.normalA, d.normalA),
U.scale(d.contactPointA, d.normalA, c),
U.scale(d.contactPointB, d.normalA, -l),
X(d.contactPointA, d.contactPointA, i),
W(d.contactPointA, d.contactPointA, e.position),
X(d.contactPointB, d.contactPointB, a),
W(d.contactPointB, d.contactPointB, o.position),
this.contactEquations.push(d),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(d)),
1
}
,
$.prototype[c.PLANE | c.CONVEX] = $.prototype[c.PLANE | c.BOX] = $.prototype.planeConvex = function(e, t, i, r, o, s, a, n, h) {
var c = j
, l = Y
, m = V
, u = 0;
U.rotate(l, C, r);
for (var d = 0; d !== s.vertices.length; d++) {
var p = s.vertices[d];
if (U.rotate(c, p, n),
X(c, c, a),
W(m, c, i),
H(m, l) <= 0) {
if (h)
return !0;
u++;
var f = this.createContactEquation(e, o, t, s);
W(m, c, i),
U.copy(f.normalA, l);
var y = H(m, f.normalA);
U.scale(m, f.normalA, y),
W(f.contactPointB, c, o.position),
W(f.contactPointA, c, m),
W(f.contactPointA, f.contactPointA, e.position),
this.contactEquations.push(f),
this.enableFrictionReduction || this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(f))
}
}
return this.enableFrictionReduction && this.enableFriction && u && this.frictionEquations.push(this.createFrictionFromAverage(u)),
u
}
,
$.prototype[c.PARTICLE | c.PLANE] = $.prototype.particlePlane = function(e, t, i, r, o, s, a, n, h) {
var c = j
, l = Y;
n = n || 0,
W(c, i, a),
U.rotate(l, C, n);
var m = H(c, l);
if (0 < m)
return 0;
if (h)
return !0;
var u = this.createContactEquation(o, e, s, t);
return U.copy(u.normalA, l),
U.scale(c, u.normalA, m),
W(u.contactPointA, i, c),
W(u.contactPointA, u.contactPointA, o.position),
W(u.contactPointB, i, e.position),
this.contactEquations.push(u),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(u)),
1
}
,
$.prototype[c.CIRCLE | c.PARTICLE] = $.prototype.circleParticle = function(e, t, i, r, o, s, a, n, h) {
var c = j;
if (W(c, a, i),
U.squaredLength(c) > Math.pow(t.radius, 2))
return 0;
if (h)
return !0;
var l = this.createContactEquation(e, o, t, s);
return U.copy(l.normalA, c),
U.normalize(l.normalA, l.normalA),
U.scale(l.contactPointA, l.normalA, t.radius),
X(l.contactPointA, l.contactPointA, i),
W(l.contactPointA, l.contactPointA, e.position),
W(l.contactPointB, a, o.position),
this.contactEquations.push(l),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(l)),
1
}
;
var T = new n({
radius: 1
})
, P = U.create()
, A = U.create();
U.create();
$.prototype[c.PLANE | c.CAPSULE] = $.prototype.planeCapsule = function(e, t, i, r, o, s, a, n, h) {
var c, l = P, m = A, u = T;
U.set(l, -s.length / 2, 0),
U.rotate(l, l, n),
X(l, l, a),
U.set(m, s.length / 2, 0),
U.rotate(m, m, n),
X(m, m, a),
u.radius = s.radius,
this.enableFrictionReduction && (c = this.enableFriction,
this.enableFriction = !1);
var d = this.circlePlane(o, u, l, 0, e, t, i, r, h)
, p = this.circlePlane(o, u, m, 0, e, t, i, r, h);
if (this.enableFrictionReduction && (this.enableFriction = c),
h)
return d || p;
var f = d + p;
return this.enableFrictionReduction && f && this.frictionEquations.push(this.createFrictionFromAverage(f)),
f
}
,
$.prototype[c.CIRCLE | c.PLANE] = $.prototype.circlePlane = function(e, t, i, r, o, s, a, n, h) {
var c = e
, l = t
, m = i
, u = o
, d = a
, p = n;
p = p || 0;
var f = j
, y = Y
, S = V;
W(f, m, d),
U.rotate(y, C, p);
var w = H(y, f);
if (w > l.radius)
return 0;
if (h)
return !0;
var g = this.createContactEquation(u, c, s, t);
return U.copy(g.normalA, y),
U.scale(g.contactPointB, g.normalA, -l.radius),
X(g.contactPointB, g.contactPointB, m),
W(g.contactPointB, g.contactPointB, c.position),
U.scale(S, g.normalA, w),
W(g.contactPointA, f, S),
X(g.contactPointA, g.contactPointA, d),
W(g.contactPointA, g.contactPointA, u.position),
this.contactEquations.push(g),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(g)),
1
}
,
$.prototype[c.CONVEX] = $.prototype[c.CONVEX | c.BOX] = $.prototype[c.BOX] = $.prototype.convexConvex = function(e, t, i, r, o, s, a, n, h, c) {
var l = j
, m = Y
, u = V
, d = K
, p = q
, f = Z
, y = J
, S = Q
, w = 0;
c = "number" == typeof c ? c : 0;
if (!$.findSeparatingAxis(t, i, r, s, a, n, l))
return 0;
W(y, a, i),
0 < H(l, y) && U.scale(l, l, -1);
var g = $.getClosestEdge(t, r, l, !0)
, x = $.getClosestEdge(s, n, l);
if (-1 === g || -1 === x)
return 0;
for (var b = 0; b < 2; b++) {
var v, z = g, C = x, T = t, P = s, A = i, _ = a, B = r, D = n, k = e, E = o;
if (0 === b)
v = z,
z = C,
C = v,
v = T,
T = P,
P = v,
v = A,
A = _,
_ = v,
v = B,
B = D,
D = v,
v = k,
k = E,
E = v;
for (var M = C; M < C + 2; M++) {
var I = P.vertices[(M + P.vertices.length) % P.vertices.length];
U.rotate(m, I, D),
X(m, m, _);
for (var L = 0, O = z - 1; O < z + 2; O++) {
var R = T.vertices[(O + T.vertices.length) % T.vertices.length]
, F = T.vertices[(O + 1 + T.vertices.length) % T.vertices.length];
U.rotate(u, R, B),
U.rotate(d, F, B),
X(u, u, A),
X(d, d, A),
W(p, d, u),
U.rotate90cw(S, p),
U.normalize(S, S),
W(y, m, u);
var G = H(S, y);
(O === z && G <= c || O !== z && G <= 0) && L++
}
if (3 <= L) {
if (h)
return !0;
var N = this.createContactEquation(k, E, T, P);
w++;
R = T.vertices[z % T.vertices.length],
F = T.vertices[(z + 1) % T.vertices.length];
U.rotate(u, R, B),
U.rotate(d, F, B),
X(u, u, A),
X(d, d, A),
W(p, d, u),
U.rotate90cw(N.normalA, p),
U.normalize(N.normalA, N.normalA),
W(y, m, u);
G = H(N.normalA, y);
U.scale(f, N.normalA, G),
W(N.contactPointA, m, A),
W(N.contactPointA, N.contactPointA, f),
X(N.contactPointA, N.contactPointA, A),
W(N.contactPointA, N.contactPointA, k.position),
W(N.contactPointB, m, _),
X(N.contactPointB, N.contactPointB, _),
W(N.contactPointB, N.contactPointB, E.position),
this.contactEquations.push(N),
this.enableFrictionReduction || this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(N))
}
}
}
return this.enableFrictionReduction && this.enableFriction && w && this.frictionEquations.push(this.createFrictionFromAverage(w)),
w
}
;
var M = U.fromValues(0, 0);
$.projectConvexOntoAxis = function(e, t, i, r, o) {
var s, a, n = null, h = null, c = M;
U.rotate(c, r, -i);
for (var l = 0; l < e.vertices.length; l++)
s = e.vertices[l],
a = H(s, c),
(null === n || n < a) && (n = a),
(null === h || a < h) && (h = a);
if (n < h) {
var m = h;
h = n,
n = m
}
var u = H(t, r);
U.set(o, h + u, n + u)
}
;
var ee = U.fromValues(0, 0)
, te = U.fromValues(0, 0)
, ie = U.fromValues(0, 0)
, re = U.fromValues(0, 0)
, oe = U.fromValues(0, 0)
, se = U.fromValues(0, 0);
$.findSeparatingAxis = function(e, t, i, r, o, s, a) {
var n = null
, h = !1
, c = !1
, l = ee
, m = te
, u = ie
, d = re
, p = oe
, f = se;
if (e instanceof z && r instanceof z)
for (var y = 0; 2 !== y; y++) {
var S = e
, w = i;
1 === y && (S = r,
w = s);
for (var g = 0; 2 !== g; g++) {
0 === g ? U.set(d, 0, 1) : 1 === g && U.set(d, 1, 0),
0 !== w && U.rotate(d, d, w),
$.projectConvexOntoAxis(e, t, i, d, p),
$.projectConvexOntoAxis(r, o, s, d, f);
var x = p
, b = f;
p[0] > f[0] && (b = p,
x = f,
!0),
h = (v = b[0] - x[1]) <= 0,
(null === n || n < v) && (U.copy(a, d),
n = v,
c = h)
}
}
else
for (y = 0; 2 !== y; y++) {
S = e,
w = i;
1 === y && (S = r,
w = s);
for (g = 0; g !== S.vertices.length; g++) {
U.rotate(m, S.vertices[g], w),
U.rotate(u, S.vertices[(g + 1) % S.vertices.length], w),
W(l, u, m),
U.rotate90cw(d, l),
U.normalize(d, d),
$.projectConvexOntoAxis(e, t, i, d, p),
$.projectConvexOntoAxis(r, o, s, d, f);
var v;
x = p,
b = f;
p[0] > f[0] && (b = p,
x = f,
!0),
h = (v = b[0] - x[1]) <= 0,
(null === n || n < v) && (U.copy(a, d),
n = v,
c = h)
}
}
return c
}
;
var u = U.fromValues(0, 0)
, ae = U.fromValues(0, 0)
, ne = U.fromValues(0, 0);
$.getClosestEdge = function(e, t, i, r) {
var o = u
, s = ae
, a = ne;
U.rotate(o, i, -t),
r && U.scale(o, o, -1);
for (var n = -1, h = e.vertices.length, c = -1, l = 0; l !== h; l++) {
W(s, e.vertices[(l + 1) % h], e.vertices[l % h]),
U.rotate90cw(a, s),
U.normalize(a, a);
var m = H(a, o);
(-1 === n || c < m) && (n = l % h,
c = m)
}
return n
}
;
var he = U.create()
, ce = U.create()
, le = U.create()
, me = U.create()
, ue = U.create()
, de = U.create()
, pe = U.create();
$.prototype[c.CIRCLE | c.HEIGHTFIELD] = $.prototype.circleHeightfield = function(e, t, i, r, o, s, a, n, h, c) {
var l = s.heights
, m = (c = c || t.radius,
s.elementWidth)
, u = ce
, d = he
, p = ue
, f = pe
, y = de
, S = le
, w = me
, g = Math.floor((i[0] - c - a[0]) / m)
, x = Math.ceil((i[0] + c - a[0]) / m);
g < 0 && (g = 0),
x >= l.length && (x = l.length - 1);
for (var b = l[g], v = l[x], z = g; z < x; z++)
l[z] < v && (v = l[z]),
l[z] > b && (b = l[z]);
if (i[1] - c > b)
return !h && 0;
var C = !1;
for (z = g; z < x; z++) {
U.set(S, z * m, l[z]),
U.set(w, (z + 1) * m, l[z + 1]),
U.add(S, S, a),
U.add(w, w, a),
U.sub(y, w, S),
U.rotate(y, y, Math.PI / 2),
U.normalize(y, y),
U.scale(d, y, -c),
U.add(d, d, i),
U.sub(u, d, S);
var T = U.dot(u, y);
if (d[0] >= S[0] && d[0] < w[0] && T <= 0) {
if (h)
return !0;
C = !0,
U.scale(u, y, -T),
U.add(p, d, u),
U.copy(f, y);
var P = this.createContactEquation(o, e, s, t);
U.copy(P.normalA, f),
U.scale(P.contactPointB, P.normalA, -c),
X(P.contactPointB, P.contactPointB, i),
W(P.contactPointB, P.contactPointB, e.position),
U.copy(P.contactPointA, p),
U.sub(P.contactPointA, P.contactPointA, o.position),
this.contactEquations.push(P),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(P))
}
}
if (C = !1,
0 < c)
for (z = g; z <= x; z++)
if (U.set(S, z * m, l[z]),
U.add(S, S, a),
U.sub(u, i, S),
U.squaredLength(u) < Math.pow(c, 2)) {
if (h)
return !0;
C = !0;
P = this.createContactEquation(o, e, s, t);
U.copy(P.normalA, u),
U.normalize(P.normalA, P.normalA),
U.scale(P.contactPointB, P.normalA, -c),
X(P.contactPointB, P.contactPointB, i),
W(P.contactPointB, P.contactPointB, e.position),
W(P.contactPointA, S, a),
X(P.contactPointA, P.contactPointA, a),
W(P.contactPointA, P.contactPointA, o.position),
this.contactEquations.push(P),
this.enableFriction && this.frictionEquations.push(this.createFrictionFromContact(P))
}
return C ? 1 : 0
}
;
var fe = U.create()
, ye = U.create()
, Se = U.create()
, we = new h({
vertices: [U.create(), U.create(), U.create(), U.create()]
});
$.prototype[c.BOX | c.HEIGHTFIELD] = $.prototype[c.CONVEX | c.HEIGHTFIELD] = $.prototype.convexHeightfield = function(e, t, i, r, o, s, a, n, h) {
var c = s.heights
, l = s.elementWidth
, m = fe
, u = ye
, d = Se
, p = we
, f = Math.floor((e.aabb.lowerBound[0] - a[0]) / l)
, y = Math.ceil((e.aabb.upperBound[0] - a[0]) / l);
f < 0 && (f = 0),
y >= c.length && (y = c.length - 1);
for (var S = c[f], w = c[y], g = f; g < y; g++)
c[g] < w && (w = c[g]),
c[g] > S && (S = c[g]);
if (e.aabb.lowerBound[1] > S)
return !h && 0;
var x = 0;
for (g = f; g < y; g++) {
U.set(m, g * l, c[g]),
U.set(u, (g + 1) * l, c[g + 1]),
U.add(m, m, a),
U.add(u, u, a);
U.set(d, .5 * (u[0] + m[0]), .5 * (u[1] + m[1] - 100)),
U.sub(p.vertices[0], u, d),
U.sub(p.vertices[1], m, d),
U.copy(p.vertices[2], p.vertices[1]),
U.copy(p.vertices[3], p.vertices[0]),
p.vertices[2][1] -= 100,
p.vertices[3][1] -= 100,
x += this.convexConvex(e, t, i, r, o, p, d, 0, h)
}
return x
}
}
, {
"../equations/ContactEquation": 21,
"../equations/Equation": 22,
"../equations/FrictionEquation": 23,
"../math/vec2": 30,
"../objects/Body": 31,
"../shapes/Box": 37,
"../shapes/Circle": 39,
"../shapes/Convex": 40,
"../shapes/Shape": 45,
"../utils/ContactEquationPool": 48,
"../utils/FrictionEquationPool": 49,
"../utils/TupleDictionary": 56,
"../utils/Utils": 57
}],
11: [function(e, t, i) {
t.exports = a;
var h = e("../math/vec2");
e("../collision/RaycastResult"),
e("../shapes/Shape"),
e("../collision/AABB");
function a(e) {
e = e || {},
this.from = e.from ? h.fromValues(e.from[0], e.from[1]) : h.create(),
this.to = e.to ? h.fromValues(e.to[0], e.to[1]) : h.create(),
this.checkCollisionResponse = void 0 === e.checkCollisionResponse || e.checkCollisionResponse,
this.skipBackfaces = !!e.skipBackfaces,
this.collisionMask = void 0 !== e.collisionMask ? e.collisionMask : -1,
this.collisionGroup = void 0 !== e.collisionGroup ? e.collisionGroup : -1,
this.mode = void 0 !== e.mode ? e.mode : a.ANY,
this.callback = e.callback || function(e) {}
,
this.direction = h.create(),
this.length = 1,
this.update()
}
(a.prototype.constructor = a).CLOSEST = 1,
a.ANY = 2,
a.ALL = 4,
a.prototype.update = function() {
var e = this.direction;
h.sub(e, this.to, this.from),
this.length = h.length(e),
h.normalize(e, e)
}
,
a.prototype.intersectBodies = function(e, t) {
for (var i = 0, r = t.length; !e.shouldStop(this) && i < r; i++) {
var o = t[i]
, s = o.getAABB();
(0 <= s.overlapsRay(this) || s.containsPoint(this.from)) && this.intersectBody(e, o)
}
}
;
var c = h.create();
a.prototype.intersectBody = function(e, t) {
var i = this.checkCollisionResponse;
if (!i || t.collisionResponse)
for (var r = c, o = 0, s = t.shapes.length; o < s; o++) {
var a = t.shapes[o];
if ((!i || a.collisionResponse) && (0 != (this.collisionGroup & a.collisionMask) && 0 != (a.collisionGroup & this.collisionMask))) {
h.rotate(r, a.position, t.angle),
h.add(r, r, t.position);
var n = a.angle + t.angle;
if (this.intersectShape(e, a, n, r, t),
e.shouldStop(this))
break
}
}
}
,
a.prototype.intersectShape = function(e, t, i, r, o) {
(function(e, t, i) {
h.sub(s, i, e);
var r = h.dot(s, t);
return h.scale(n, t, r),
h.add(n, n, e),
h.squaredDistance(i, n)
}
)(this.from, this.direction, r) > t.boundingRadius * t.boundingRadius || (this._currentBody = o,
(this._currentShape = t).raycast(e, this, r, i),
this._currentBody = this._currentShape = null)
}
,
a.prototype.getAABB = function(e) {
var t = this.to
, i = this.from;
h.set(e.lowerBound, Math.min(t[0], i[0]), Math.min(t[1], i[1])),
h.set(e.upperBound, Math.max(t[0], i[0]), Math.max(t[1], i[1]))
}
;
h.create();
a.prototype.reportIntersection = function(e, t, i, r) {
this.from,
this.to;
var o = this._currentShape
, s = this._currentBody;
if (!(this.skipBackfaces && 0 < h.dot(i, this.direction)))
switch (this.mode) {
case a.ALL:
e.set(i, o, s, t, r),
this.callback(e);
break;
case a.CLOSEST:
(t < e.fraction || !e.hasHit()) && e.set(i, o, s, t, r);
break;
case a.ANY:
e.set(i, o, s, t, r)
}
}
;
var s = h.create()
, n = h.create()
}
, {
"../collision/AABB": 7,
"../collision/RaycastResult": 12,
"../math/vec2": 30,
"../shapes/Shape": 45
}],
12: [function(e, t, i) {
var s = e("../math/vec2")
, r = e("../collision/Ray");
function o() {
this.normal = s.create(),
this.shape = null,
this.body = null,
this.faceIndex = -1,
this.fraction = -1,
this.isStopped = !1
}
(t.exports = o).prototype.reset = function() {
s.set(this.normal, 0, 0),
this.shape = null,
this.body = null,
this.faceIndex = -1,
this.fraction = -1,
this.isStopped = !1
}
,
o.prototype.getHitDistance = function(e) {
return s.distance(e.from, e.to) * this.fraction
}
,
o.prototype.hasHit = function() {
return -1 !== this.fraction
}
,
o.prototype.getHitPoint = function(e, t) {
s.lerp(e, t.from, t.to, this.fraction)
}
,
o.prototype.stop = function() {
this.isStopped = !0
}
,
o.prototype.shouldStop = function(e) {
return this.isStopped || -1 !== this.fraction && e.mode === r.ANY
}
,
o.prototype.set = function(e, t, i, r, o) {
s.copy(this.normal, e),
this.shape = t,
this.body = i,
this.fraction = r,
this.faceIndex = o
}
}
, {
"../collision/Ray": 11,
"../math/vec2": 30
}],
13: [function(e, t, i) {
var r = e("../utils/Utils")
, m = e("../collision/Broadphase");
function o() {
m.call(this, m.SAP),
this.axisList = [],
this.axisIndex = 0;
var i = this;
this._addBodyHandler = function(e) {
i.axisList.push(e.body)
}
,
this._removeBodyHandler = function(e) {
var t = i.axisList.indexOf(e.body);
-1 !== t && i.axisList.splice(t, 1)
}
}
(((t.exports = o).prototype = new m).constructor = o).prototype.setWorld = function(e) {
this.axisList.length = 0,
r.appendArray(this.axisList, e.bodies),
e.off("addBody", this._addBodyHandler).off("removeBody", this._removeBodyHandler),
e.on("addBody", this._addBodyHandler).on("removeBody", this._removeBodyHandler),
this.world = e
}
,
o.sortAxisList = function(e, t) {
t |= 0;
for (var i = 1, r = e.length; i < r; i++) {
for (var o = e[i], s = i - 1; 0 <= s && !(e[s].aabb.lowerBound[t] <= o.aabb.lowerBound[t]); s--)
e[s + 1] = e[s];
e[s + 1] = o
}
return e
}
,
o.prototype.sortList = function() {
var e = this.axisList
, t = this.axisIndex;
o.sortAxisList(e, t)
}
,
o.prototype.getCollisionPairs = function(e) {
var t = this.axisList
, i = this.result
, r = this.axisIndex;
i.length = 0;
for (var o = t.length; o--; ) {
var s = t[o];
s.aabbNeedsUpdate && s.updateAABB()
}
this.sortList();
for (var a = 0, n = 0 | t.length; a !== n; a++)
for (var h = t[a], c = a + 1; c < n; c++) {
var l = t[c];
if (!(l.aabb.lowerBound[r] <= h.aabb.upperBound[r]))
break;
m.canCollide(h, l) && this.boundingVolumeCheck(h, l) && i.push(h, l)
}
return i
}
,
o.prototype.aabbQuery = function(e, t, i) {
i = i || [],
this.sortList();
var r = this.axisIndex
, o = "x";
1 === r && (o = "y"),
2 === r && (o = "z");
for (var s = this.axisList, a = (t.lowerBound[o],
t.upperBound[o],
0); a < s.length; a++) {
var n = s[a];
n.aabbNeedsUpdate && n.updateAABB(),
n.aabb.overlaps(t) && i.push(n)
}
return i
}
}
, {
"../collision/Broadphase": 8,
"../utils/Utils": 57
}],
14: [function(e, t, i) {
t.exports = r;
var o = e("../utils/Utils");
function r(e, t, i, r) {
this.type = i,
r = o.defaults(r, {
collideConnected: !0,
wakeUpBodies: !0
}),
this.equations = [],
this.bodyA = e,
this.bodyB = t,
this.collideConnected = r.collideConnected,
r.wakeUpBodies && (e && e.wakeUp(),
t && t.wakeUp())
}
r.prototype.update = function() {
throw new Error("method update() not implmemented in this Constraint subclass!")
}
,
r.DISTANCE = 1,
r.GEAR = 2,
r.LOCK = 3,
r.PRISMATIC = 4,
r.REVOLUTE = 5,
r.prototype.setStiffness = function(e) {
for (var t = this.equations, i = 0; i !== t.length; i++) {
var r = t[i];
r.stiffness = e,
r.needsUpdate = !0
}
}
,
r.prototype.setRelaxation = function(e) {
for (var t = this.equations, i = 0; i !== t.length; i++) {
var r = t[i];
r.relaxation = e,
r.needsUpdate = !0
}
}
}
, {
"../utils/Utils": 57
}],
15: [function(e, t, i) {
var d = e("./Constraint")
, p = e("../equations/Equation")
, f = e("../math/vec2")
, y = e("../utils/Utils");
function r(e, t, i) {
i = y.defaults(i, {
localAnchorA: [0, 0],
localAnchorB: [0, 0]
}),
d.call(this, e, t, d.DISTANCE, i),
this.localAnchorA = f.fromValues(i.localAnchorA[0], i.localAnchorA[1]),
this.localAnchorB = f.fromValues(i.localAnchorB[0], i.localAnchorB[1]);
var r, o = this.localAnchorA, s = this.localAnchorB;
if (this.distance = 0,
"number" == typeof i.distance)
this.distance = i.distance;
else {
var a = f.create()
, n = f.create()
, h = f.create();
f.rotate(a, o, e.angle),
f.rotate(n, s, t.angle),
f.add(h, t.position, n),
f.sub(h, h, a),
f.sub(h, h, e.position),
this.distance = f.length(h)
}
r = void 0 === i.maxForce ? Number.MAX_VALUE : i.maxForce;
var c = new p(e,t,-r,r);
this.equations = [c],
this.maxForce = r;
h = f.create();
var l = f.create()
, m = f.create()
, u = this;
c.computeGq = function() {
var e = this.bodyA
, t = this.bodyB
, i = e.position
, r = t.position;
return f.rotate(l, o, e.angle),
f.rotate(m, s, t.angle),
f.add(h, r, m),
f.sub(h, h, l),
f.sub(h, h, i),
f.length(h) - u.distance
}
,
this.setMaxForce(r),
this.upperLimitEnabled = !1,
this.upperLimit = 1,
this.lowerLimitEnabled = !1,
this.lowerLimit = 0,
this.position = 0
}
((t.exports = r).prototype = new d).constructor = r;
var l = f.create()
, m = f.create()
, u = f.create();
r.prototype.update = function() {
var e = this.equations[0]
, t = this.bodyA
, i = this.bodyB
, r = (this.distance,
t.position)
, o = i.position
, s = this.equations[0]
, a = e.G;
f.rotate(m, this.localAnchorA, t.angle),
f.rotate(u, this.localAnchorB, i.angle),
f.add(l, o, u),
f.sub(l, l, m),
f.sub(l, l, r),
this.position = f.length(l);
var n = !1;
if (this.upperLimitEnabled && this.position > this.upperLimit && (s.maxForce = 0,
s.minForce = -this.maxForce,
this.distance = this.upperLimit,
n = !0),
this.lowerLimitEnabled && this.position < this.lowerLimit && (s.maxForce = this.maxForce,
s.minForce = 0,
this.distance = this.lowerLimit,
n = !0),
!this.lowerLimitEnabled && !this.upperLimitEnabled || n) {
s.enabled = !0,
f.normalize(l, l);
var h = f.crossLength(m, l)
, c = f.crossLength(u, l);
a[0] = -l[0],
a[1] = -l[1],
a[2] = -h,
a[3] = l[0],
a[4] = l[1],
a[5] = c
} else
s.enabled = !1
}
,
r.prototype.setMaxForce = function(e) {
var t = this.equations[0];
t.minForce = -e,
t.maxForce = e
}
,
r.prototype.getMaxForce = function() {
return this.equations[0].maxForce
}
}
, {
"../equations/Equation": 22,
"../math/vec2": 30,
"../utils/Utils": 57,
"./Constraint": 14
}],
16: [function(e, t, i) {
var r = e("./Constraint")
, o = (e("../equations/Equation"),
e("../equations/AngleLockEquation"));
e("../math/vec2");
function s(e, t, i) {
i = i || {},
r.call(this, e, t, r.GEAR, i),
this.ratio = void 0 !== i.ratio ? i.ratio : 1,
this.angle = void 0 !== i.angle ? i.angle : t.angle - this.ratio * e.angle,
i.angle = this.angle,
i.ratio = this.ratio,
this.equations = [new o(e,t,i)],
void 0 !== i.maxTorque && this.setMaxTorque(i.maxTorque)
}
(((t.exports = s).prototype = new r).constructor = s).prototype.update = function() {
var e = this.equations[0];
e.ratio !== this.ratio && e.setRatio(this.ratio),
e.angle = this.angle
}
,
s.prototype.setMaxTorque = function(e) {
this.equations[0].setMaxTorque(e)
}
,
s.prototype.getMaxTorque = function(e) {
return this.equations[0].maxForce
}
}
, {
"../equations/AngleLockEquation": 20,
"../equations/Equation": 22,
"../math/vec2": 30,
"./Constraint": 14
}],
17: [function(e, t, i) {
var u = e("./Constraint")
, d = e("../math/vec2")
, p = e("../equations/Equation");
function r(e, t, i) {
i = i || {},
u.call(this, e, t, u.LOCK, i);
var r = void 0 === i.maxForce ? Number.MAX_VALUE : i.maxForce
, o = (i.localAngleB,
new p(e,t,-r,r))
, s = new p(e,t,-r,r)
, a = new p(e,t,-r,r)
, n = d.create()
, h = d.create()
, c = this;
o.computeGq = function() {
return d.rotate(n, c.localOffsetB, e.angle),
d.sub(h, t.position, e.position),
d.sub(h, h, n),
h[0]
}
,
s.computeGq = function() {
return d.rotate(n, c.localOffsetB, e.angle),
d.sub(h, t.position, e.position),
d.sub(h, h, n),
h[1]
}
;
var l = d.create()
, m = d.create();
a.computeGq = function() {
return d.rotate(l, c.localOffsetB, t.angle - c.localAngleB),
d.scale(l, l, -1),
d.sub(h, e.position, t.position),
d.add(h, h, l),
d.rotate(m, l, -Math.PI / 2),
d.normalize(m, m),
d.dot(h, m)
}
,
this.localOffsetB = d.create(),
i.localOffsetB ? d.copy(this.localOffsetB, i.localOffsetB) : (d.sub(this.localOffsetB, t.position, e.position),
d.rotate(this.localOffsetB, this.localOffsetB, -e.angle)),
this.localAngleB = 0,
"number" == typeof i.localAngleB ? this.localAngleB = i.localAngleB : this.localAngleB = t.angle - e.angle,
this.equations.push(o, s, a),
this.setMaxForce(r)
}
(((t.exports = r).prototype = new u).constructor = r).prototype.setMaxForce = function(e) {
for (var t = this.equations, i = 0; i < this.equations.length; i++)
t[i].maxForce = e,
t[i].minForce = -e
}
,
r.prototype.getMaxForce = function() {
return this.equations[0].maxForce
}
;
var s = d.create()
, a = d.create()
, n = d.create()
, h = d.fromValues(1, 0)
, c = d.fromValues(0, 1);
r.prototype.update = function() {
var e = this.equations[0]
, t = this.equations[1]
, i = this.equations[2]
, r = this.bodyA
, o = this.bodyB;
d.rotate(s, this.localOffsetB, r.angle),
d.rotate(a, this.localOffsetB, o.angle - this.localAngleB),
d.scale(a, a, -1),
d.rotate(n, a, Math.PI / 2),
d.normalize(n, n),
e.G[0] = -1,
e.G[1] = 0,
e.G[2] = -d.crossLength(s, h),
e.G[3] = 1,
t.G[0] = 0,
t.G[1] = -1,
t.G[2] = -d.crossLength(s, c),
t.G[4] = 1,
i.G[0] = -n[0],
i.G[1] = -n[1],
i.G[3] = n[0],
i.G[4] = n[1],
i.G[5] = d.crossLength(a, n)
}
}
, {
"../equations/Equation": 22,
"../math/vec2": 30,
"./Constraint": 14
}],
18: [function(e, t, i) {
var f = e("./Constraint")
, y = e("../equations/ContactEquation")
, S = e("../equations/Equation")
, w = e("../math/vec2")
, g = e("../equations/RotationalLockEquation");
function r(r, o, e) {
e = e || {},
f.call(this, r, o, f.PRISMATIC, e);
var s = w.fromValues(0, 0)
, a = w.fromValues(1, 0)
, n = w.fromValues(0, 0);
e.localAnchorA && w.copy(s, e.localAnchorA),
e.localAxisA && w.copy(a, e.localAxisA),
e.localAnchorB && w.copy(n, e.localAnchorB),
this.localAnchorA = s,
this.localAnchorB = n,
this.localAxisA = a;
var t = this.maxForce = void 0 !== e.maxForce ? e.maxForce : Number.MAX_VALUE
, i = new S(r,o,-t,t)
, h = new w.create
, c = new w.create
, l = new w.create
, m = new w.create;
if (i.computeGq = function() {
return w.dot(l, m)
}
,
i.updateJacobian = function() {
var e = this.G
, t = r.position
, i = o.position;
w.rotate(h, s, r.angle),
w.rotate(c, n, o.angle),
w.add(l, i, c),
w.sub(l, l, t),
w.sub(l, l, h),
w.rotate(m, a, r.angle + Math.PI / 2),
e[0] = -m[0],
e[1] = -m[1],
e[2] = -w.crossLength(h, m) + w.crossLength(m, l),
e[3] = m[0],
e[4] = m[1],
e[5] = w.crossLength(c, m)
}
,
this.equations.push(i),
!e.disableRotationalLock) {
var u = new g(r,o,-t,t);
this.equations.push(u)
}
this.position = 0,
this.velocity = 0,
this.lowerLimitEnabled = void 0 !== e.lowerLimit,
this.upperLimitEnabled = void 0 !== e.upperLimit,
this.lowerLimit = void 0 !== e.lowerLimit ? e.lowerLimit : 0,
this.upperLimit = void 0 !== e.upperLimit ? e.upperLimit : 1,
this.upperLimitEquation = new y(r,o),
this.lowerLimitEquation = new y(r,o),
this.upperLimitEquation.minForce = this.lowerLimitEquation.minForce = 0,
this.upperLimitEquation.maxForce = this.lowerLimitEquation.maxForce = t,
this.motorEquation = new S(r,o),
this.motorEnabled = !1,
this.motorSpeed = 0;
var d = this
, p = this.motorEquation;
p.computeGW;
p.computeGq = function() {
return 0
}
,
p.computeGW = function() {
var e = this.G
, t = this.bodyA
, i = this.bodyB
, r = t.velocity
, o = i.velocity
, s = t.angularVelocity
, a = i.angularVelocity;
return this.gmult(e, r, s, o, a) + d.motorSpeed
}
}
((t.exports = r).prototype = new f).constructor = r;
var p = w.create()
, x = w.create()
, b = w.create()
, v = w.create()
, z = w.create()
, C = w.create();
r.prototype.update = function() {
var e = this.equations
, t = e[0]
, i = this.upperLimit
, r = this.lowerLimit
, o = this.upperLimitEquation
, s = this.lowerLimitEquation
, a = this.bodyA
, n = this.bodyB
, h = this.localAxisA
, c = this.localAnchorA
, l = this.localAnchorB;
t.updateJacobian(),
w.rotate(p, h, a.angle),
w.rotate(v, c, a.angle),
w.add(x, v, a.position),
w.rotate(z, l, n.angle),
w.add(b, z, n.position);
var m, u = this.position = w.dot(b, p) - w.dot(x, p);
if (this.motorEnabled) {
var d = this.motorEquation.G;
d[0] = p[0],
d[1] = p[1],
d[2] = w.crossLength(p, z),
d[3] = -p[0],
d[4] = -p[1],
d[5] = -w.crossLength(p, v)
}
this.upperLimitEnabled && i < u ? (w.scale(o.normalA, p, -1),
w.sub(o.contactPointA, x, a.position),
w.sub(o.contactPointB, b, n.position),
w.scale(C, p, i),
w.add(o.contactPointA, o.contactPointA, C),
-1 === e.indexOf(o) && e.push(o)) : -1 !== (m = e.indexOf(o)) && e.splice(m, 1);
this.lowerLimitEnabled && u < r ? (w.scale(s.normalA, p, 1),
w.sub(s.contactPointA, x, a.position),
w.sub(s.contactPointB, b, n.position),
w.scale(C, p, r),
w.sub(s.contactPointB, s.contactPointB, C),
-1 === e.indexOf(s) && e.push(s)) : -1 !== (m = e.indexOf(s)) && e.splice(m, 1)
}
,
r.prototype.enableMotor = function() {
this.motorEnabled || (this.equations.push(this.motorEquation),
this.motorEnabled = !0)
}
,
r.prototype.disableMotor = function() {
if (this.motorEnabled) {
var e = this.equations.indexOf(this.motorEquation);
this.equations.splice(e, 1),
this.motorEnabled = !1
}
}
,
r.prototype.setLimits = function(e, t) {
"number" == typeof e ? (this.lowerLimit = e,
this.lowerLimitEnabled = !0) : (this.lowerLimit = e,
this.lowerLimitEnabled = !1),
"number" == typeof t ? (this.upperLimit = t,
this.upperLimitEnabled = !0) : (this.upperLimit = t,
this.upperLimitEnabled = !1)
}
}
, {
"../equations/ContactEquation": 21,
"../equations/Equation": 22,
"../equations/RotationalLockEquation": 24,
"../math/vec2": 30,
"./Constraint": 14
}],
19: [function(e, t, i) {
var h = e("./Constraint")
, c = e("../equations/Equation")
, l = e("../equations/RotationalVelocityEquation")
, m = e("../equations/RotationalLockEquation")
, d = e("../math/vec2");
t.exports = r;
var p = d.create()
, f = d.create()
, y = d.fromValues(1, 0)
, S = d.fromValues(0, 1)
, u = d.create();
function r(e, t, i) {
i = i || {},
h.call(this, e, t, h.REVOLUTE, i);
var r = this.maxForce = void 0 !== i.maxForce ? i.maxForce : Number.MAX_VALUE;
this.pivotA = d.create(),
this.pivotB = d.create(),
i.worldPivot ? (d.sub(this.pivotA, i.worldPivot, e.position),
d.sub(this.pivotB, i.worldPivot, t.position),
d.rotate(this.pivotA, this.pivotA, -e.angle),
d.rotate(this.pivotB, this.pivotB, -t.angle)) : (d.copy(this.pivotA, i.localPivotA),
d.copy(this.pivotB, i.localPivotB));
var o = this.equations = [new c(e,t,-r,r), new c(e,t,-r,r)]
, s = o[0]
, a = o[1]
, n = this;
s.computeGq = function() {
return d.rotate(p, n.pivotA, e.angle),
d.rotate(f, n.pivotB, t.angle),
d.add(u, t.position, f),
d.sub(u, u, e.position),
d.sub(u, u, p),
d.dot(u, y)
}
,
a.computeGq = function() {
return d.rotate(p, n.pivotA, e.angle),
d.rotate(f, n.pivotB, t.angle),
d.add(u, t.position, f),
d.sub(u, u, e.position),
d.sub(u, u, p),
d.dot(u, S)
}
,
a.minForce = s.minForce = -r,
a.maxForce = s.maxForce = r,
this.motorEquation = new l(e,t),
this.motorEnabled = !1,
this.angle = 0,
this.lowerLimitEnabled = !1,
this.upperLimitEnabled = !1,
this.lowerLimit = 0,
this.upperLimit = 0,
this.upperLimitEquation = new m(e,t),
this.lowerLimitEquation = new m(e,t),
this.upperLimitEquation.minForce = 0,
this.lowerLimitEquation.maxForce = 0
}
((r.prototype = new h).constructor = r).prototype.setLimits = function(e, t) {
"number" == typeof e ? (this.lowerLimit = e,
this.lowerLimitEnabled = !0) : (this.lowerLimit = e,
this.lowerLimitEnabled = !1),
"number" == typeof t ? (this.upperLimit = t,
this.upperLimitEnabled = !0) : (this.upperLimit = t,
this.upperLimitEnabled = !1)
}
,
r.prototype.update = function() {
var e, t = this.bodyA, i = this.bodyB, r = this.pivotA, o = this.pivotB, s = this.equations, a = (s[0],
s[1],
s[0]), n = s[1], h = this.upperLimit, c = this.lowerLimit, l = this.upperLimitEquation, m = this.lowerLimitEquation, u = this.angle = i.angle - t.angle;
this.upperLimitEnabled && h < u ? (l.angle = h,
-1 === s.indexOf(l) && s.push(l)) : -1 !== (e = s.indexOf(l)) && s.splice(e, 1);
this.lowerLimitEnabled && u < c ? (m.angle = c,
-1 === s.indexOf(m) && s.push(m)) : -1 !== (e = s.indexOf(m)) && s.splice(e, 1);
d.rotate(p, r, t.angle),
d.rotate(f, o, i.angle),
a.G[0] = -1,
a.G[1] = 0,
a.G[2] = -d.crossLength(p, y),
a.G[3] = 1,
a.G[4] = 0,
a.G[5] = d.crossLength(f, y),
n.G[0] = 0,
n.G[1] = -1,
n.G[2] = -d.crossLength(p, S),
n.G[3] = 0,
n.G[4] = 1,
n.G[5] = d.crossLength(f, S)
}
,
r.prototype.enableMotor = function() {
this.motorEnabled || (this.equations.push(this.motorEquation),
this.motorEnabled = !0)
}
,
r.prototype.disableMotor = function() {
if (this.motorEnabled) {
var e = this.equations.indexOf(this.motorEquation);
this.equations.splice(e, 1),
this.motorEnabled = !1
}
}
,
r.prototype.motorIsEnabled = function() {
return !!this.motorEnabled
}
,
r.prototype.setMotorSpeed = function(e) {
if (this.motorEnabled) {
var t = this.equations.indexOf(this.motorEquation);
this.equations[t].relativeVelocity = e
}
}
,
r.prototype.getMotorSpeed = function() {
return !!this.motorEnabled && this.motorEquation.relativeVelocity
}
}
, {
"../equations/Equation": 22,
"../equations/RotationalLockEquation": 24,
"../equations/RotationalVelocityEquation": 25,
"../math/vec2": 30,
"./Constraint": 14
}],
20: [function(e, t, i) {
var r = e("./Equation");
e("../math/vec2");
function o(e, t, i) {
i = i || {},
r.call(this, e, t, -Number.MAX_VALUE, Number.MAX_VALUE),
this.angle = i.angle || 0,
this.ratio = "number" == typeof i.ratio ? i.ratio : 1,
this.setRatio(this.ratio)
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeGq = function() {
return this.ratio * this.bodyA.angle - this.bodyB.angle + this.angle
}
,
o.prototype.setRatio = function(e) {
var t = this.G;
t[2] = e,
t[5] = -1,
this.ratio = e
}
,
o.prototype.setMaxTorque = function(e) {
this.maxForce = e,
this.minForce = -e
}
}
, {
"../math/vec2": 30,
"./Equation": 22
}],
21: [function(e, t, i) {
var r = e("./Equation")
, y = e("../math/vec2");
function o(e, t) {
r.call(this, e, t, 0, Number.MAX_VALUE),
this.contactPointA = y.create(),
this.penetrationVec = y.create(),
this.contactPointB = y.create(),
this.normalA = y.create(),
this.restitution = 0,
this.firstImpact = !1,
this.shapeA = null,
this.shapeB = null
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeB = function(e, t, i) {
var r, o, s = this.bodyA, a = this.bodyB, n = this.contactPointA, h = this.contactPointB, c = s.position, l = a.position, m = this.penetrationVec, u = this.normalA, d = this.G, p = y.crossLength(n, u), f = y.crossLength(h, u);
return d[0] = -u[0],
d[1] = -u[1],
d[2] = -p,
d[3] = u[0],
d[4] = u[1],
d[5] = f,
y.add(m, l, h),
y.sub(m, m, c),
y.sub(m, m, n),
r = this.firstImpact && 0 !== this.restitution ? (o = 0,
1 / t * (1 + this.restitution) * this.computeGW()) : (o = y.dot(u, m) + this.offset,
this.computeGW()),
-o * e - r * t - i * this.computeGiMf()
}
}
, {
"../math/vec2": 30,
"./Equation": 22
}],
22: [function(e, t, i) {
t.exports = a;
var m = e("../math/vec2")
, s = e("../utils/Utils");
e("../objects/Body");
function a(e, t, i, r) {
this.minForce = void 0 === i ? -Number.MAX_VALUE : i,
this.maxForce = void 0 === r ? Number.MAX_VALUE : r,
this.bodyA = e,
this.bodyB = t,
this.stiffness = a.DEFAULT_STIFFNESS,
this.relaxation = a.DEFAULT_RELAXATION,
this.G = new s.ARRAY_TYPE(6);
for (var o = 0; o < 6; o++)
this.G[o] = 0;
this.offset = 0,
this.a = 0,
this.b = 0,
this.epsilon = 0,
this.timeStep = 1 / 60,
this.needsUpdate = !0,
this.multiplier = 0,
this.relativeVelocity = 0,
this.enabled = !0
}
(a.prototype.constructor = a).DEFAULT_STIFFNESS = 1e6,
a.DEFAULT_RELAXATION = 4,
a.prototype.update = function() {
var e = this.stiffness
, t = this.relaxation
, i = this.timeStep;
this.a = 4 / (i * (1 + 4 * t)),
this.b = 4 * t / (1 + 4 * t),
this.epsilon = 4 / (i * i * e * (1 + 4 * t)),
this.needsUpdate = !1
}
,
a.prototype.gmult = function(e, t, i, r, o) {
return e[0] * t[0] + e[1] * t[1] + e[2] * i + e[3] * r[0] + e[4] * r[1] + e[5] * o
}
,
a.prototype.computeB = function(e, t, i) {
var r = this.computeGW();
return -this.computeGq() * e - r * t - this.computeGiMf() * i
}
;
var n = m.create()
, h = m.create();
a.prototype.computeGq = function() {
var e = this.G
, t = this.bodyA
, i = this.bodyB
, r = (t.position,
i.position,
t.angle)
, o = i.angle;
return this.gmult(e, n, r, h, o) + this.offset
}
,
a.prototype.computeGW = function() {
var e = this.G
, t = this.bodyA
, i = this.bodyB
, r = t.velocity
, o = i.velocity
, s = t.angularVelocity
, a = i.angularVelocity;
return this.gmult(e, r, s, o, a) + this.relativeVelocity
}
,
a.prototype.computeGWlambda = function() {
var e = this.G
, t = this.bodyA
, i = this.bodyB
, r = t.vlambda
, o = i.vlambda
, s = t.wlambda
, a = i.wlambda;
return this.gmult(e, r, s, o, a)
}
;
var u = m.create()
, d = m.create();
a.prototype.computeGiMf = function() {
var e = this.bodyA
, t = this.bodyB
, i = e.force
, r = e.angularForce
, o = t.force
, s = t.angularForce
, a = e.invMassSolve
, n = t.invMassSolve
, h = e.invInertiaSolve
, c = t.invInertiaSolve
, l = this.G;
return m.scale(u, i, a),
m.multiply(u, e.massMultiplier, u),
m.scale(d, o, n),
m.multiply(d, t.massMultiplier, d),
this.gmult(l, u, r * h, d, s * c)
}
,
a.prototype.computeGiMGt = function() {
var e = this.bodyA
, t = this.bodyB
, i = e.invMassSolve
, r = t.invMassSolve
, o = e.invInertiaSolve
, s = t.invInertiaSolve
, a = this.G;
return a[0] * a[0] * i * e.massMultiplier[0] + a[1] * a[1] * i * e.massMultiplier[1] + a[2] * a[2] * o + a[3] * a[3] * r * t.massMultiplier[0] + a[4] * a[4] * r * t.massMultiplier[1] + a[5] * a[5] * s
}
;
var p = m.create()
, f = m.create()
, y = m.create();
m.create(),
m.create(),
m.create();
a.prototype.addToWlambda = function(e) {
var t = this.bodyA
, i = this.bodyB
, r = p
, o = f
, s = y
, a = t.invMassSolve
, n = i.invMassSolve
, h = t.invInertiaSolve
, c = i.invInertiaSolve
, l = this.G;
o[0] = l[0],
o[1] = l[1],
s[0] = l[3],
s[1] = l[4],
m.scale(r, o, a * e),
m.multiply(r, r, t.massMultiplier),
m.add(t.vlambda, t.vlambda, r),
t.wlambda += h * l[2] * e,
m.scale(r, s, n * e),
m.multiply(r, r, i.massMultiplier),
m.add(i.vlambda, i.vlambda, r),
i.wlambda += c * l[5] * e
}
,
a.prototype.computeInvC = function(e) {
return 1 / (this.computeGiMGt() + e)
}
}
, {
"../math/vec2": 30,
"../objects/Body": 31,
"../utils/Utils": 57
}],
23: [function(e, t, i) {
var n = e("../math/vec2")
, r = e("./Equation");
e("../utils/Utils");
function o(e, t, i) {
r.call(this, e, t, -i, i),
this.contactPointA = n.create(),
this.contactPointB = n.create(),
this.t = n.create(),
this.contactEquations = [],
this.shapeA = null,
this.shapeB = null,
this.frictionCoefficient = .3
}
(((t.exports = o).prototype = new r).constructor = o).prototype.setSlipForce = function(e) {
this.maxForce = e,
this.minForce = -e
}
,
o.prototype.getSlipForce = function() {
return this.maxForce
}
,
o.prototype.computeB = function(e, t, i) {
this.bodyA,
this.bodyB;
var r = this.contactPointA
, o = this.contactPointB
, s = this.t
, a = this.G;
return a[0] = -s[0],
a[1] = -s[1],
a[2] = -n.crossLength(r, s),
a[3] = s[0],
a[4] = s[1],
a[5] = n.crossLength(o, s),
-this.computeGW() * t - i * this.computeGiMf()
}
}
, {
"../math/vec2": 30,
"../utils/Utils": 57,
"./Equation": 22
}],
24: [function(e, t, i) {
var o = e("./Equation")
, r = e("../math/vec2");
function s(e, t, i) {
i = i || {},
o.call(this, e, t, -Number.MAX_VALUE, Number.MAX_VALUE),
this.angle = i.angle || 0;
var r = this.G;
r[2] = 1,
r[5] = -1
}
((t.exports = s).prototype = new o).constructor = s;
var a = r.create()
, n = r.create()
, h = r.fromValues(1, 0)
, c = r.fromValues(0, 1);
s.prototype.computeGq = function() {
return r.rotate(a, h, this.bodyA.angle + this.angle),
r.rotate(n, c, this.bodyB.angle),
r.dot(a, n)
}
}
, {
"../math/vec2": 30,
"./Equation": 22
}],
25: [function(e, t, i) {
var r = e("./Equation");
e("../math/vec2");
function o(e, t) {
r.call(this, e, t, -Number.MAX_VALUE, Number.MAX_VALUE),
this.relativeVelocity = 1,
this.ratio = 1
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeB = function(e, t, i) {
var r = this.G;
r[2] = -1,
r[5] = this.ratio;
var o = this.computeGiMf();
return -this.computeGW() * t - i * o
}
}
, {
"../math/vec2": 30,
"./Equation": 22
}],
26: [function(e, t, i) {
var r = function() {};
(t.exports = r).prototype = {
constructor: r,
on: function(e, t, i) {
t.context = i || this,
void 0 === this._listeners && (this._listeners = {});
var r = this._listeners;
return void 0 === r[e] && (r[e] = []),
-1 === r[e].indexOf(t) && r[e].push(t),
this
},
has: function(e, t) {
if (void 0 === this._listeners)
return !1;
var i = this._listeners;
if (t) {
if (void 0 !== i[e] && -1 !== i[e].indexOf(t))
return !0
} else if (void 0 !== i[e])
return !0;
return !1
},
off: function(e, t) {
if (void 0 === this._listeners)
return this;
var i = this._listeners
, r = i[e].indexOf(t);
return -1 !== r && i[e].splice(r, 1),
this
},
emit: function(e) {
if (void 0 === this._listeners)
return this;
var t = this._listeners[e.type];
if (void 0 !== t) {
e.target = this;
for (var i = 0, r = t.length; i < r; i++) {
var o = t[i];
o.call(o.context, e)
}
}
return this
}
}
}
, {}],
27: [function(e, t, i) {
var r = e("./Material")
, o = e("../equations/Equation");
function s(e, t, i) {
if (i = i || {},
!(e instanceof r && t instanceof r))
throw new Error("First two arguments must be Material instances.");
this.id = s.idCounter++,
this.materialA = e,
this.materialB = t,
this.friction = void 0 !== i.friction ? Number(i.friction) : .3,
this.restitution = void 0 !== i.restitution ? Number(i.restitution) : 0,
this.stiffness = void 0 !== i.stiffness ? Number(i.stiffness) : o.DEFAULT_STIFFNESS,
this.relaxation = void 0 !== i.relaxation ? Number(i.relaxation) : o.DEFAULT_RELAXATION,
this.frictionStiffness = void 0 !== i.frictionStiffness ? Number(i.frictionStiffness) : o.DEFAULT_STIFFNESS,
this.frictionRelaxation = void 0 !== i.frictionRelaxation ? Number(i.frictionRelaxation) : o.DEFAULT_RELAXATION,
this.surfaceVelocity = void 0 !== i.surfaceVelocity ? Number(i.surfaceVelocity) : 0,
this.contactSkinSize = .005
}
(t.exports = s).idCounter = 0
}
, {
"../equations/Equation": 22,
"./Material": 28
}],
28: [function(e, t, i) {
function r(e) {
this.id = e || r.idCounter++
}
(t.exports = r).idCounter = 0
}
, {}],
29: [function(e, t, i) {
var w = {
GetArea: function(e) {
if (e.length < 6)
return 0;
for (var t = e.length - 2, i = 0, r = 0; r < t; r += 2)
i += (e[r + 2] - e[r]) * (e[r + 1] + e[r + 3]);
return .5 * -(i += (e[0] - e[t]) * (e[t + 1] + e[1]))
},
Triangulate: function(e) {
var t = e.length >> 1;
if (t < 3)
return [];
for (var i = [], r = [], o = 0; o < t; o++)
r.push(o);
o = 0;
for (var s = t; 3 < s; ) {
var a = r[(o + 0) % s]
, n = r[(o + 1) % s]
, h = r[(o + 2) % s]
, c = e[2 * a]
, l = e[2 * a + 1]
, m = e[2 * n]
, u = e[2 * n + 1]
, d = e[2 * h]
, p = e[2 * h + 1]
, f = !1;
if (w._convex(c, l, m, u, d, p)) {
f = !0;
for (var y = 0; y < s; y++) {
var S = r[y];
if (S != a && S != n && S != h && w._PointInTriangle(e[2 * S], e[2 * S + 1], c, l, m, u, d, p)) {
f = !1;
break
}
}
}
if (f)
i.push(a, n, h),
r.splice((o + 1) % s, 1),
s--,
o = 0;
else if (o++ > 3 * s)
break
}
return i.push(r[0], r[1], r[2]),
i
},
_PointInTriangle: function(e, t, i, r, o, s, a, n) {
var h = a - i
, c = n - r
, l = o - i
, m = s - r
, u = e - i
, d = t - r
, p = h * h + c * c
, f = h * l + c * m
, y = h * u + c * d
, S = l * l + m * m
, w = l * u + m * d
, g = 1 / (p * S - f * f)
, x = (S * y - f * w) * g
, b = (p * w - f * y) * g;
return 0 <= x && 0 <= b && x + b < 1
},
_convex: function(e, t, i, r, o, s) {
return 0 <= (t - r) * (o - i) + (i - e) * (s - r)
}
};
t.exports = w
}
, {}],
30: [function(e, t, i) {
var a = t.exports = {}
, r = e("../utils/Utils");
a.crossLength = function(e, t) {
return e[0] * t[1] - e[1] * t[0]
}
,
a.crossVZ = function(e, t, i) {
return a.rotate(e, t, -Math.PI / 2),
a.scale(e, e, i),
e
}
,
a.crossZV = function(e, t, i) {
return a.rotate(e, i, Math.PI / 2),
a.scale(e, e, t),
e
}
,
a.rotate = function(e, t, i) {
if (0 !== i) {
var r = Math.cos(i)
, o = Math.sin(i)
, s = t[0]
, a = t[1];
e[0] = r * s - o * a,
e[1] = o * s + r * a
} else
e[0] = t[0],
e[1] = t[1]
}
,
a.rotate90cw = function(e, t) {
var i = t[0]
, r = t[1];
e[0] = r,
e[1] = -i
}
,
a.toLocalFrame = function(e, t, i, r) {
a.copy(e, t),
a.sub(e, e, i),
a.rotate(e, e, -r)
}
,
a.toGlobalFrame = function(e, t, i, r) {
a.copy(e, t),
a.rotate(e, e, r),
a.add(e, e, i)
}
,
a.vectorToLocalFrame = function(e, t, i) {
a.rotate(e, t, -i)
}
,
a.vectorToGlobalFrame = function(e, t, i) {
a.rotate(e, t, i)
}
,
a.centroid = function(e, t, i, r) {
return a.add(e, t, i),
a.add(e, e, r),
a.scale(e, e, 1 / 3),
e
}
,
a.create = function() {
var e = new r.ARRAY_TYPE(2);
return e[0] = 0,
e[1] = 0,
e
}
,
a.clone = function(e) {
var t = new r.ARRAY_TYPE(2);
return t[0] = e[0],
t[1] = e[1],
t
}
,
a.fromValues = function(e, t) {
var i = new r.ARRAY_TYPE(2);
return i[0] = e,
i[1] = t,
i
}
,
a.copy = function(e, t) {
return e[0] = t[0],
e[1] = t[1],
e
}
,
a.set = function(e, t, i) {
return e[0] = t,
e[1] = i,
e
}
,
a.add = function(e, t, i) {
return e[0] = t[0] + i[0],
e[1] = t[1] + i[1],
e
}
,
a.subtract = function(e, t, i) {
return e[0] = t[0] - i[0],
e[1] = t[1] - i[1],
e
}
,
a.sub = a.subtract,
a.multiply = function(e, t, i) {
return e[0] = t[0] * i[0],
e[1] = t[1] * i[1],
e
}
,
a.mul = a.multiply,
a.divide = function(e, t, i) {
return e[0] = t[0] / i[0],
e[1] = t[1] / i[1],
e
}
,
a.div = a.divide,
a.scale = function(e, t, i) {
return e[0] = t[0] * i,
e[1] = t[1] * i,
e
}
,
a.distance = function(e, t) {
var i = t[0] - e[0]
, r = t[1] - e[1];
return Math.sqrt(i * i + r * r)
}
,
a.dist = a.distance,
a.squaredDistance = function(e, t) {
var i = t[0] - e[0]
, r = t[1] - e[1];
return i * i + r * r
}
,
a.sqrDist = a.squaredDistance,
a.length = function(e) {
var t = e[0]
, i = e[1];
return Math.sqrt(t * t + i * i)
}
,
a.len = a.length,
a.squaredLength = function(e) {
var t = e[0]
, i = e[1];
return t * t + i * i
}
,
a.sqrLen = a.squaredLength,
a.negate = function(e, t) {
return e[0] = -t[0],
e[1] = -t[1],
e
}
,
a.normalize = function(e, t) {
var i = t[0]
, r = t[1]
, o = i * i + r * r;
return 0 < o && (o = 1 / Math.sqrt(o),
e[0] = t[0] * o,
e[1] = t[1] * o),
e
}
,
a.dot = function(e, t) {
return e[0] * t[0] + e[1] * t[1]
}
,
a.str = function(e) {
return "vec2(" + e[0] + ", " + e[1] + ")"
}
,
a.lerp = function(e, t, i, r) {
var o = t[0]
, s = t[1];
return e[0] = o + r * (i[0] - o),
e[1] = s + r * (i[1] - s),
e
}
,
a.reflect = function(e, t, i) {
var r = t[0] * i[0] + t[1] * i[1];
e[0] = t[0] - 2 * i[0] * r,
e[1] = t[1] - 2 * i[1] * r
}
,
a.getLineSegmentsIntersection = function(e, t, i, r, o) {
var s = a.getLineSegmentsIntersectionFraction(t, i, r, o);
return !(s < 0) && (e[0] = t[0] + s * (i[0] - t[0]),
e[1] = t[1] + s * (i[1] - t[1]),
!0)
}
,
a.getLineSegmentsIntersectionFraction = function(e, t, i, r) {
var o, s, a = t[0] - e[0], n = t[1] - e[1], h = r[0] - i[0], c = r[1] - i[1];
return o = (-n * (e[0] - i[0]) + a * (e[1] - i[1])) / (-h * n + a * c),
s = (h * (e[1] - i[1]) - c * (e[0] - i[0])) / (-h * n + a * c),
0 <= o && o <= 1 && 0 <= s && s <= 1 ? s : -1
}
}
, {
"../utils/Utils": 57
}],
31: [function(e, t, i) {
var m = e("../math/vec2")
, c = e("poly-decomp")
, l = e("../shapes/Convex")
, r = e("../collision/RaycastResult")
, o = e("../collision/Ray")
, s = e("../collision/AABB")
, a = e("../events/EventEmitter");
function n(e) {
e = e || {},
a.call(this),
this.id = e.id || ++n._idCounter,
this.world = null,
this.shapes = [],
this.mass = e.mass || 0,
this.invMass = 0,
this.inertia = 0,
this.invInertia = 0,
this.invMassSolve = 0,
this.invInertiaSolve = 0,
this.fixedRotation = !!e.fixedRotation,
this.fixedX = !!e.fixedX,
this.fixedY = !!e.fixedY,
this.massMultiplier = m.create(),
this.position = m.fromValues(0, 0),
e.position && m.copy(this.position, e.position),
this.interpolatedPosition = m.fromValues(0, 0),
this.interpolatedAngle = 0,
this.previousPosition = m.fromValues(0, 0),
this.previousAngle = 0,
this.velocity = m.fromValues(0, 0),
e.velocity && m.copy(this.velocity, e.velocity),
this.vlambda = m.fromValues(0, 0),
this.wlambda = 0,
this.angle = e.angle || 0,
this.angularVelocity = e.angularVelocity || 0,
this.force = m.create(),
e.force && m.copy(this.force, e.force),
this.angularForce = e.angularForce || 0,
this.damping = "number" == typeof e.damping ? e.damping : .1,
this.angularDamping = "number" == typeof e.angularDamping ? e.angularDamping : .1,
this.type = n.STATIC,
void 0 !== e.type ? this.type = e.type : e.mass ? this.type = n.DYNAMIC : this.type = n.STATIC,
this.boundingRadius = 0,
this.aabb = new s,
this.aabbNeedsUpdate = !0,
this.allowSleep = void 0 === e.allowSleep || e.allowSleep,
this.wantsToSleep = !1,
this.sleepState = n.AWAKE,
this.sleepSpeedLimit = void 0 !== e.sleepSpeedLimit ? e.sleepSpeedLimit : .2,
this.sleepTimeLimit = void 0 !== e.sleepTimeLimit ? e.sleepTimeLimit : 1,
this.gravityScale = void 0 !== e.gravityScale ? e.gravityScale : 1,
this.collisionResponse = void 0 === e.collisionResponse || e.collisionResponse,
this.idleTime = 0,
this.timeLastSleepy = 0,
this.ccdSpeedThreshold = void 0 !== e.ccdSpeedThreshold ? e.ccdSpeedThreshold : -1,
this.ccdIterations = void 0 !== e.ccdIterations ? e.ccdIterations : 10,
this.concavePath = null,
this._wakeUpAfterNarrowphase = !1,
this.updateMassProperties()
}
(((t.exports = n).prototype = new a).constructor = n)._idCounter = 0,
n.prototype.updateSolveMassProperties = function() {
this.sleepState === n.SLEEPING || this.type === n.KINEMATIC ? (this.invMassSolve = 0,
this.invInertiaSolve = 0) : (this.invMassSolve = this.invMass,
this.invInertiaSolve = this.invInertia)
}
,
n.prototype.setDensity = function(e) {
var t = this.getArea();
this.mass = t * e,
this.updateMassProperties()
}
,
n.prototype.getArea = function() {
for (var e = 0, t = 0; t < this.shapes.length; t++)
e += this.shapes[t].area;
return e
}
,
n.prototype.getAABB = function() {
return this.aabbNeedsUpdate && this.updateAABB(),
this.aabb
}
;
var h = new s
, u = m.create();
n.prototype.updateAABB = function() {
for (var e = this.shapes, t = e.length, i = u, r = this.angle, o = 0; o !== t; o++) {
var s = e[o]
, a = s.angle + r;
m.rotate(i, s.position, r),
m.add(i, i, this.position),
s.computeAABB(h, i, a),
0 === o ? this.aabb.copy(h) : this.aabb.extend(h)
}
this.aabbNeedsUpdate = !1
}
,
n.prototype.updateBoundingRadius = function() {
for (var e = this.shapes, t = e.length, i = 0, r = 0; r !== t; r++) {
var o = e[r]
, s = m.length(o.position)
, a = o.boundingRadius;
i < s + a && (i = s + a)
}
this.boundingRadius = i
}
,
n.prototype.addShape = function(e, t, i) {
if (e.body)
throw new Error("A shape can only be added to one body.");
e.body = this,
t ? m.copy(e.position, t) : m.set(e.position, 0, 0),
e.angle = i || 0,
this.shapes.push(e),
this.updateMassProperties(),
this.updateBoundingRadius(),
this.aabbNeedsUpdate = !0
}
,
n.prototype.removeShape = function(e) {
var t = this.shapes.indexOf(e);
return -1 !== t && (this.shapes.splice(t, 1),
this.aabbNeedsUpdate = !0,
!(e.body = null))
}
,
n.prototype.updateMassProperties = function() {
if (this.type === n.STATIC || this.type === n.KINEMATIC)
this.mass = Number.MAX_VALUE,
this.invMass = 0,
this.inertia = Number.MAX_VALUE,
this.invInertia = 0;
else {
var e = this.shapes
, t = e.length
, i = this.mass / t
, r = 0;
if (this.fixedRotation)
this.inertia = Number.MAX_VALUE,
this.invInertia = 0;
else {
for (var o = 0; o < t; o++) {
var s = e[o]
, a = m.squaredLength(s.position);
r += s.computeMomentOfInertia(i) + i * a
}
this.inertia = r,
this.invInertia = 0 < r ? 1 / r : 0
}
this.invMass = 1 / this.mass,
m.set(this.massMultiplier, this.fixedX ? 0 : 1, this.fixedY ? 0 : 1)
}
}
;
m.create();
n.prototype.applyForce = function(e, t) {
if (m.add(this.force, this.force, e),
t) {
var i = m.crossLength(t, e);
this.angularForce += i
}
}
;
var d = m.create()
, p = m.create()
, f = m.create();
n.prototype.applyForceLocal = function(e, t) {
t = t || f;
var i = d
, r = p;
this.vectorToWorldFrame(i, e),
this.vectorToWorldFrame(r, t),
this.applyForce(i, r)
}
;
var y = m.create();
n.prototype.applyImpulse = function(e, t) {
if (this.type === n.DYNAMIC) {
var i = y;
if (m.scale(i, e, this.invMass),
m.multiply(i, this.massMultiplier, i),
m.add(this.velocity, i, this.velocity),
t) {
var r = m.crossLength(t, e);
r *= this.invInertia,
this.angularVelocity += r
}
}
}
;
var S = m.create()
, w = m.create()
, g = m.create();
n.prototype.applyImpulseLocal = function(e, t) {
t = t || g;
var i = S
, r = w;
this.vectorToWorldFrame(i, e),
this.vectorToWorldFrame(r, t),
this.applyImpulse(i, r)
}
,
n.prototype.toLocalFrame = function(e, t) {
m.toLocalFrame(e, t, this.position, this.angle)
}
,
n.prototype.toWorldFrame = function(e, t) {
m.toGlobalFrame(e, t, this.position, this.angle)
}
,
n.prototype.vectorToLocalFrame = function(e, t) {
m.vectorToLocalFrame(e, t, this.angle)
}
,
n.prototype.vectorToWorldFrame = function(e, t) {
m.vectorToGlobalFrame(e, t, this.angle)
}
,
n.prototype.fromPolygon = function(e, t) {
t = t || {};
for (var i = this.shapes.length; 0 <= i; --i)
this.removeShape(this.shapes[i]);
var r, o = new c.Polygon;
if (o.vertices = e,
o.makeCCW(),
"number" == typeof t.removeCollinearPoints && o.removeCollinearPoints(t.removeCollinearPoints),
void 0 === t.skipSimpleCheck && !o.isSimple())
return !1;
this.concavePath = o.vertices.slice(0);
for (i = 0; i < this.concavePath.length; i++) {
var s = [0, 0];
m.copy(s, this.concavePath[i]),
this.concavePath[i] = s
}
r = t.optimalDecomp ? o.decomp() : o.quickDecomp();
var a = m.create();
for (i = 0; i !== r.length; i++) {
for (var n = new l({
vertices: r[i].vertices
}), h = 0; h !== n.vertices.length; h++) {
s = n.vertices[h];
m.sub(s, s, n.centerOfMass)
}
m.scale(a, n.centerOfMass, 1),
n.updateTriangles(),
n.updateCenterOfMass(),
n.updateBoundingRadius(),
this.addShape(n, a)
}
return this.adjustCenterOfMass(),
this.aabbNeedsUpdate = !0
}
;
m.fromValues(0, 0);
var x = m.fromValues(0, 0)
, b = m.fromValues(0, 0)
, v = m.fromValues(0, 0);
n.prototype.adjustCenterOfMass = function() {
var e = x
, t = b
, i = v
, r = 0;
m.set(t, 0, 0);
for (var o = 0; o !== this.shapes.length; o++) {
var s = this.shapes[o];
m.scale(e, s.position, s.area),
m.add(t, t, e),
r += s.area
}
m.scale(i, t, 1 / r);
for (o = 0; o !== this.shapes.length; o++) {
s = this.shapes[o];
m.sub(s.position, s.position, i)
}
m.add(this.position, this.position, i);
for (o = 0; this.concavePath && o < this.concavePath.length; o++)
m.sub(this.concavePath[o], this.concavePath[o], i);
this.updateMassProperties(),
this.updateBoundingRadius()
}
,
n.prototype.setZeroForce = function() {
m.set(this.force, 0, 0),
this.angularForce = 0
}
,
n.prototype.resetConstraintVelocity = function() {
var e = this.vlambda;
m.set(e, 0, 0),
this.wlambda = 0
}
,
n.prototype.addConstraintVelocity = function() {
var e = this.velocity;
m.add(e, e, this.vlambda),
this.angularVelocity += this.wlambda
}
,
n.prototype.applyDamping = function(e) {
if (this.type === n.DYNAMIC) {
var t = this.velocity;
m.scale(t, t, Math.pow(1 - this.damping, e)),
this.angularVelocity *= Math.pow(1 - this.angularDamping, e)
}
}
,
n.prototype.wakeUp = function() {
var e = this.sleepState;
this.sleepState = n.AWAKE,
this.idleTime = 0,
e !== n.AWAKE && this.emit(n.wakeUpEvent)
}
,
n.prototype.sleep = function() {
this.sleepState = n.SLEEPING,
this.angularVelocity = 0,
this.angularForce = 0,
m.set(this.velocity, 0, 0),
m.set(this.force, 0, 0),
this.emit(n.sleepEvent)
}
,
n.prototype.sleepTick = function(e, t, i) {
if (this.allowSleep && this.type !== n.SLEEPING) {
this.wantsToSleep = !1;
this.sleepState;
var r = m.squaredLength(this.velocity) + Math.pow(this.angularVelocity, 2);
Math.pow(this.sleepSpeedLimit, 2) <= r ? (this.idleTime = 0,
this.sleepState = n.AWAKE) : (this.idleTime += i,
this.sleepState = n.SLEEPY),
this.idleTime > this.sleepTimeLimit && (t ? this.wantsToSleep = !0 : this.sleep())
}
}
,
n.prototype.overlaps = function(e) {
return this.world.overlapKeeper.bodiesAreOverlapping(this, e)
}
;
var z = m.create()
, C = m.create();
n.prototype.integrate = function(e) {
var t = this.invMass
, i = this.force
, r = this.position
, o = this.velocity;
m.copy(this.previousPosition, this.position),
this.previousAngle = this.angle,
this.fixedRotation || (this.angularVelocity += this.angularForce * this.invInertia * e),
m.scale(z, i, e * t),
m.multiply(z, this.massMultiplier, z),
m.add(o, z, o),
this.integrateToTimeOfImpact(e) || (m.scale(C, o, e),
m.add(r, r, C),
this.fixedRotation || (this.angle += this.angularVelocity * e)),
this.aabbNeedsUpdate = !0
}
;
var T = new r
, P = new o({
mode: o.ALL
})
, A = m.create()
, _ = m.create()
, B = m.create()
, D = m.create();
n.prototype.integrateToTimeOfImpact = function(e) {
if (this.ccdSpeedThreshold < 0 || m.squaredLength(this.velocity) < Math.pow(this.ccdSpeedThreshold, 2))
return !1;
m.normalize(A, this.velocity),
m.scale(_, this.velocity, e),
m.add(_, _, this.position),
m.sub(B, _, this.position);
var t, i = this.angularVelocity * e, r = m.length(B), o = 1, s = this;
if (T.reset(),
P.callback = function(e) {
e.body !== s && (t = e.body,
e.getHitPoint(_, P),
m.sub(B, _, s.position),
o = m.length(B) / r,
e.stop())
}
,
m.copy(P.from, this.position),
m.copy(P.to, _),
P.update(),
this.world.raycast(T, P),
!t)
return !1;
var a = this.angle;
m.copy(D, this.position);
for (var n = 0, h = 0, c = 0, l = o; h <= l && n < this.ccdIterations; ) {
n++,
c = (l - h) / 2,
m.scale(C, B, o),
m.add(this.position, D, C),
this.angle = a + i * o,
this.updateAABB(),
this.aabb.overlaps(t.aabb) && this.world.narrowphase.bodiesOverlap(this, t) ? h = c : l = c
}
return o = c,
m.copy(this.position, D),
this.angle = a,
m.scale(C, B, o),
m.add(this.position, this.position, C),
this.fixedRotation || (this.angle += i * o),
!0
}
,
n.prototype.getVelocityAtPoint = function(e, t) {
return m.crossVZ(e, t, this.angularVelocity),
m.subtract(e, this.velocity, e),
e
}
,
n.sleepyEvent = {
type: "sleepy"
},
n.sleepEvent = {
type: "sleep"
},
n.wakeUpEvent = {
type: "wakeup"
},
n.DYNAMIC = 1,
n.STATIC = 2,
n.KINEMATIC = 4,
n.AWAKE = 0,
n.SLEEPY = 1,
n.SLEEPING = 2
}
, {
"../collision/AABB": 7,
"../collision/Ray": 11,
"../collision/RaycastResult": 12,
"../events/EventEmitter": 26,
"../math/vec2": 30,
"../shapes/Convex": 40,
"poly-decomp": 5
}],
32: [function(e, t, i) {
var S = e("../math/vec2")
, a = e("./Spring");
e("../utils/Utils");
function r(e, t, i) {
i = i || {},
a.call(this, e, t, i),
this.localAnchorA = S.fromValues(0, 0),
this.localAnchorB = S.fromValues(0, 0),
i.localAnchorA && S.copy(this.localAnchorA, i.localAnchorA),
i.localAnchorB && S.copy(this.localAnchorB, i.localAnchorB),
i.worldAnchorA && this.setWorldAnchorA(i.worldAnchorA),
i.worldAnchorB && this.setWorldAnchorB(i.worldAnchorB);
var r = S.create()
, o = S.create();
this.getWorldAnchorA(r),
this.getWorldAnchorB(o);
var s = S.distance(r, o);
this.restLength = "number" == typeof i.restLength ? i.restLength : s
}
(((t.exports = r).prototype = new a).constructor = r).prototype.setWorldAnchorA = function(e) {
this.bodyA.toLocalFrame(this.localAnchorA, e)
}
,
r.prototype.setWorldAnchorB = function(e) {
this.bodyB.toLocalFrame(this.localAnchorB, e)
}
,
r.prototype.getWorldAnchorA = function(e) {
this.bodyA.toWorldFrame(e, this.localAnchorA)
}
,
r.prototype.getWorldAnchorB = function(e) {
this.bodyB.toWorldFrame(e, this.localAnchorB)
}
;
var w = S.create()
, g = S.create()
, x = S.create()
, b = S.create()
, v = S.create()
, z = S.create()
, C = S.create()
, T = S.create()
, P = S.create();
r.prototype.applyForce = function() {
var e = this.stiffness
, t = this.damping
, i = this.restLength
, r = this.bodyA
, o = this.bodyB
, s = w
, a = g
, n = x
, h = b
, c = P
, l = v
, m = z
, u = C
, d = T;
this.getWorldAnchorA(l),
this.getWorldAnchorB(m),
S.sub(u, l, r.position),
S.sub(d, m, o.position),
S.sub(s, m, l);
var p = S.len(s);
S.normalize(a, s),
S.sub(n, o.velocity, r.velocity),
S.crossZV(c, o.angularVelocity, d),
S.add(n, n, c),
S.crossZV(c, r.angularVelocity, u),
S.sub(n, n, c),
S.scale(h, a, -e * (p - i) - t * S.dot(n, a)),
S.sub(r.force, r.force, h),
S.add(o.force, o.force, h);
var f = S.crossLength(u, h)
, y = S.crossLength(d, h);
r.angularForce -= f,
o.angularForce += y
}
}
, {
"../math/vec2": 30,
"../utils/Utils": 57,
"./Spring": 34
}],
33: [function(e, t, i) {
e("../math/vec2");
var r = e("./Spring");
function o(e, t, i) {
i = i || {},
r.call(this, e, t, i),
this.restAngle = "number" == typeof i.restAngle ? i.restAngle : t.angle - e.angle
}
(((t.exports = o).prototype = new r).constructor = o).prototype.applyForce = function() {
var e = this.stiffness
, t = this.damping
, i = this.restAngle
, r = this.bodyA
, o = this.bodyB
, s = -e * (o.angle - r.angle - i) - t * (o.angularVelocity - r.angularVelocity) * 0;
r.angularForce -= s,
o.angularForce += s
}
}
, {
"../math/vec2": 30,
"./Spring": 34
}],
34: [function(e, t, i) {
e("../math/vec2");
var r = e("../utils/Utils");
function o(e, t, i) {
i = r.defaults(i, {
stiffness: 100,
damping: 1
}),
this.stiffness = i.stiffness,
this.damping = i.damping,
this.bodyA = e,
this.bodyB = t
}
(t.exports = o).prototype.applyForce = function() {}
}
, {
"../math/vec2": 30,
"../utils/Utils": 57
}],
35: [function(e, t, i) {
var r = e("../math/vec2")
, o = (e("../utils/Utils"),
e("../constraints/Constraint"))
, s = e("../equations/FrictionEquation")
, a = e("../objects/Body");
function n(e, t) {
t = t || {},
this.chassisBody = e,
this.wheels = [],
this.groundBody = new a({
mass: 0
}),
this.world = null;
var i = this;
this.preStepCallback = function() {
i.update()
}
}
function h(e, t) {
t = t || {},
this.vehicle = e,
this.forwardEquation = new s(e.chassisBody,e.groundBody),
this.sideEquation = new s(e.chassisBody,e.groundBody),
this.steerValue = 0,
this.engineForce = 0,
this.setSideFriction(void 0 !== t.sideFriction ? t.sideFriction : 5),
this.localForwardVector = r.fromValues(0, 1),
t.localForwardVector && r.copy(this.localForwardVector, t.localForwardVector),
this.localPosition = r.fromValues(0, 0),
t.localPosition && r.copy(this.localPosition, t.localPosition),
o.apply(this, e.chassisBody, e.groundBody),
this.equations.push(this.forwardEquation, this.sideEquation),
this.setBrakeForce(0)
}
(t.exports = n).prototype.addToWorld = function(e) {
(this.world = e).addBody(this.groundBody),
e.on("preStep", this.preStepCallback);
for (var t = 0; t < this.wheels.length; t++) {
var i = this.wheels[t];
e.addConstraint(i)
}
}
,
n.prototype.removeFromWorld = function() {
var e = this.world;
e.removeBody(this.groundBody),
e.off("preStep", this.preStepCallback);
for (var t = 0; t < this.wheels.length; t++) {
var i = this.wheels[t];
e.removeConstraint(i)
}
this.world = null
}
,
n.prototype.addWheel = function(e) {
var t = new h(this,e);
return this.wheels.push(t),
t
}
,
n.prototype.update = function() {
for (var e = 0; e < this.wheels.length; e++)
this.wheels[e].update()
}
,
(h.prototype = new o).setBrakeForce = function(e) {
this.forwardEquation.setSlipForce(e)
}
,
h.prototype.setSideFriction = function(e) {
this.sideEquation.setSlipForce(e)
}
;
var c = r.create()
, l = r.create();
h.prototype.getSpeed = function() {
return this.vehicle.chassisBody.vectorToWorldFrame(l, this.localForwardVector),
this.vehicle.chassisBody.getVelocityAtPoint(c, l),
r.dot(c, l)
}
;
var m = r.create();
h.prototype.update = function() {
this.vehicle.chassisBody.vectorToWorldFrame(this.forwardEquation.t, this.localForwardVector),
r.rotate(this.sideEquation.t, this.localForwardVector, Math.PI / 2),
this.vehicle.chassisBody.vectorToWorldFrame(this.sideEquation.t, this.sideEquation.t),
r.rotate(this.forwardEquation.t, this.forwardEquation.t, this.steerValue),
r.rotate(this.sideEquation.t, this.sideEquation.t, this.steerValue),
this.vehicle.chassisBody.toWorldFrame(this.forwardEquation.contactPointB, this.localPosition),
r.copy(this.sideEquation.contactPointB, this.forwardEquation.contactPointB),
this.vehicle.chassisBody.vectorToWorldFrame(this.forwardEquation.contactPointA, this.localPosition),
r.copy(this.sideEquation.contactPointA, this.forwardEquation.contactPointA),
r.normalize(m, this.forwardEquation.t),
r.scale(m, m, this.engineForce),
this.vehicle.chassisBody.applyForce(m, this.forwardEquation.contactPointA)
}
}
, {
"../constraints/Constraint": 14,
"../equations/FrictionEquation": 23,
"../math/vec2": 30,
"../objects/Body": 31,
"../utils/Utils": 57
}],
36: [function(e, t, i) {
var r = t.exports = {
AABB: e("./collision/AABB"),
AngleLockEquation: e("./equations/AngleLockEquation"),
Body: e("./objects/Body"),
Broadphase: e("./collision/Broadphase"),
Capsule: e("./shapes/Capsule"),
Circle: e("./shapes/Circle"),
Constraint: e("./constraints/Constraint"),
ContactEquation: e("./equations/ContactEquation"),
ContactEquationPool: e("./utils/ContactEquationPool"),
ContactMaterial: e("./material/ContactMaterial"),
Convex: e("./shapes/Convex"),
DistanceConstraint: e("./constraints/DistanceConstraint"),
Equation: e("./equations/Equation"),
EventEmitter: e("./events/EventEmitter"),
FrictionEquation: e("./equations/FrictionEquation"),
FrictionEquationPool: e("./utils/FrictionEquationPool"),
GearConstraint: e("./constraints/GearConstraint"),
GSSolver: e("./solver/GSSolver"),
Heightfield: e("./shapes/Heightfield"),
Line: e("./shapes/Line"),
LockConstraint: e("./constraints/LockConstraint"),
Material: e("./material/Material"),
Narrowphase: e("./collision/Narrowphase"),
NaiveBroadphase: e("./collision/NaiveBroadphase"),
Particle: e("./shapes/Particle"),
Plane: e("./shapes/Plane"),
Pool: e("./utils/Pool"),
RevoluteConstraint: e("./constraints/RevoluteConstraint"),
PrismaticConstraint: e("./constraints/PrismaticConstraint"),
Ray: e("./collision/Ray"),
RaycastResult: e("./collision/RaycastResult"),
Box: e("./shapes/Box"),
RotationalVelocityEquation: e("./equations/RotationalVelocityEquation"),
SAPBroadphase: e("./collision/SAPBroadphase"),
Shape: e("./shapes/Shape"),
Solver: e("./solver/Solver"),
Spring: e("./objects/Spring"),
TopDownVehicle: e("./objects/TopDownVehicle"),
LinearSpring: e("./objects/LinearSpring"),
RotationalSpring: e("./objects/RotationalSpring"),
Utils: e("./utils/Utils"),
World: e("./world/World"),
vec2: e("./math/vec2"),
version: e("../package.json").version
};
Object.defineProperty(r, "Rectangle", {
get: function() {
return this.Box
}
})
}
, {
"../package.json": 6,
"./collision/AABB": 7,
"./collision/Broadphase": 8,
"./collision/NaiveBroadphase": 9,
"./collision/Narrowphase": 10,
"./collision/Ray": 11,
"./collision/RaycastResult": 12,
"./collision/SAPBroadphase": 13,
"./constraints/Constraint": 14,
"./constraints/DistanceConstraint": 15,
"./constraints/GearConstraint": 16,
"./constraints/LockConstraint": 17,
"./constraints/PrismaticConstraint": 18,
"./constraints/RevoluteConstraint": 19,
"./equations/AngleLockEquation": 20,
"./equations/ContactEquation": 21,
"./equations/Equation": 22,
"./equations/FrictionEquation": 23,
"./equations/RotationalVelocityEquation": 25,
"./events/EventEmitter": 26,
"./material/ContactMaterial": 27,
"./material/Material": 28,
"./math/vec2": 30,
"./objects/Body": 31,
"./objects/LinearSpring": 32,
"./objects/RotationalSpring": 33,
"./objects/Spring": 34,
"./objects/TopDownVehicle": 35,
"./shapes/Box": 37,
"./shapes/Capsule": 38,
"./shapes/Circle": 39,
"./shapes/Convex": 40,
"./shapes/Heightfield": 41,
"./shapes/Line": 42,
"./shapes/Particle": 43,
"./shapes/Plane": 44,
"./shapes/Shape": 45,
"./solver/GSSolver": 46,
"./solver/Solver": 47,
"./utils/ContactEquationPool": 48,
"./utils/FrictionEquationPool": 49,
"./utils/Pool": 55,
"./utils/Utils": 57,
"./world/World": 61
}],
37: [function(e, t, i) {
var s = e("../math/vec2")
, a = e("./Shape")
, n = e("./Convex");
function r(e) {
"number" == typeof e && "number" == typeof arguments[1] && (e = {
width: e,
height: arguments[1]
}),
e = e || {};
var t = this.width = e.width || 1
, i = this.height = e.height || 1
, r = [s.fromValues(-t / 2, -i / 2), s.fromValues(t / 2, -i / 2), s.fromValues(t / 2, i / 2), s.fromValues(-t / 2, i / 2)]
, o = [s.fromValues(1, 0), s.fromValues(0, 1)];
e.vertices = r,
e.axes = o,
e.type = a.BOX,
n.call(this, e)
}
(((t.exports = r).prototype = new n).constructor = r).prototype.computeMomentOfInertia = function(e) {
var t = this.width
, i = this.height;
return e * (i * i + t * t) / 12
}
,
r.prototype.updateBoundingRadius = function() {
var e = this.width
, t = this.height;
this.boundingRadius = Math.sqrt(e * e + t * t) / 2
}
;
s.create(),
s.create(),
s.create(),
s.create();
r.prototype.computeAABB = function(e, t, i) {
e.setFromPoints(this.vertices, t, i, 0)
}
,
r.prototype.updateArea = function() {
this.area = this.width * this.height
}
}
, {
"../math/vec2": 30,
"./Convex": 40,
"./Shape": 45
}],
38: [function(e, t, i) {
var r = e("./Shape")
, v = e("../math/vec2");
function o(e) {
"number" == typeof e && "number" == typeof arguments[1] && (e = {
length: e,
radius: arguments[1]
}),
e = e || {},
this.length = e.length || 1,
this.radius = e.radius || 1,
e.type = r.CAPSULE,
r.call(this, e)
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeMomentOfInertia = function(e) {
var t = this.radius
, i = this.length + t
, r = 2 * t;
return e * (r * r + i * i) / 12
}
,
o.prototype.updateBoundingRadius = function() {
this.boundingRadius = this.radius + this.length / 2
}
,
o.prototype.updateArea = function() {
this.area = Math.PI * this.radius * this.radius + 2 * this.radius * this.length
}
;
var s = v.create();
o.prototype.computeAABB = function(e, t, i) {
var r = this.radius;
v.set(s, this.length / 2, 0),
0 !== i && v.rotate(s, s, i),
v.set(e.upperBound, Math.max(s[0] + r, -s[0] + r), Math.max(s[1] + r, -s[1] + r)),
v.set(e.lowerBound, Math.min(s[0] - r, -s[0] - r), Math.min(s[1] - r, -s[1] - r)),
v.add(e.lowerBound, e.lowerBound, t),
v.add(e.upperBound, e.upperBound, t)
}
;
var z = v.create()
, C = v.create()
, T = v.create()
, P = v.create()
, A = v.fromValues(0, 1);
o.prototype.raycast = function(e, t, i, r) {
for (var o = t.from, s = t.to, a = (t.direction,
z), n = C, h = T, c = P, l = this.length / 2, m = 0; m < 2; m++) {
var u = this.radius * (2 * m - 1);
if (v.set(h, -l, u),
v.set(c, l, u),
v.toGlobalFrame(h, h, i, r),
v.toGlobalFrame(c, c, i, r),
0 <= (p = v.getLineSegmentsIntersectionFraction(o, s, h, c)) && (v.rotate(n, A, r),
v.scale(n, n, 2 * m - 1),
t.reportIntersection(e, p, n, -1),
e.shouldStop(t)))
return
}
var d = Math.pow(this.radius, 2) + Math.pow(l, 2);
for (m = 0; m < 2; m++) {
v.set(h, l * (2 * m - 1), 0),
v.toGlobalFrame(h, h, i, r);
var p, f = Math.pow(s[0] - o[0], 2) + Math.pow(s[1] - o[1], 2), y = 2 * ((s[0] - o[0]) * (o[0] - h[0]) + (s[1] - o[1]) * (o[1] - h[1])), S = Math.pow(o[0] - h[0], 2) + Math.pow(o[1] - h[1], 2) - Math.pow(this.radius, 2);
if (!((p = Math.pow(y, 2) - 4 * f * S) < 0))
if (0 === p) {
if (v.lerp(a, o, s, p),
v.squaredDistance(a, i) > d && (v.sub(n, a, h),
v.normalize(n, n),
t.reportIntersection(e, p, n, -1),
e.shouldStop(t)))
return
} else {
var w = Math.sqrt(p)
, g = 1 / (2 * f)
, x = (-y - w) * g
, b = (-y + w) * g;
if (0 <= x && x <= 1 && (v.lerp(a, o, s, x),
v.squaredDistance(a, i) > d && (v.sub(n, a, h),
v.normalize(n, n),
t.reportIntersection(e, x, n, -1),
e.shouldStop(t))))
return;
if (0 <= b && b <= 1 && (v.lerp(a, o, s, b),
v.squaredDistance(a, i) > d && (v.sub(n, a, h),
v.normalize(n, n),
t.reportIntersection(e, b, n, -1),
e.shouldStop(t))))
return
}
}
}
}
, {
"../math/vec2": 30,
"./Shape": 45
}],
39: [function(e, t, i) {
var r = e("./Shape")
, S = e("../math/vec2");
function o(e) {
"number" == typeof e && (e = {
radius: e
}),
e = e || {},
this.radius = e.radius || 1,
e.type = r.CIRCLE,
r.call(this, e)
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeMomentOfInertia = function(e) {
var t = this.radius;
return e * t * t / 2
}
,
o.prototype.updateBoundingRadius = function() {
this.boundingRadius = this.radius
}
,
o.prototype.updateArea = function() {
this.area = Math.PI * this.radius * this.radius
}
,
o.prototype.computeAABB = function(e, t, i) {
var r = this.radius;
S.set(e.upperBound, r, r),
S.set(e.lowerBound, -r, -r),
t && (S.add(e.lowerBound, e.lowerBound, t),
S.add(e.upperBound, e.upperBound, t))
}
;
var w = S.create()
, g = S.create();
o.prototype.raycast = function(e, t, i, r) {
var o = t.from
, s = t.to
, a = this.radius
, n = Math.pow(s[0] - o[0], 2) + Math.pow(s[1] - o[1], 2)
, h = 2 * ((s[0] - o[0]) * (o[0] - i[0]) + (s[1] - o[1]) * (o[1] - i[1]))
, c = Math.pow(o[0] - i[0], 2) + Math.pow(o[1] - i[1], 2) - Math.pow(a, 2)
, l = Math.pow(h, 2) - 4 * n * c
, m = w
, u = g;
if (!(l < 0))
if (0 === l)
S.lerp(m, o, s, l),
S.sub(u, m, i),
S.normalize(u, u),
t.reportIntersection(e, l, u, -1);
else {
var d = Math.sqrt(l)
, p = 1 / (2 * n)
, f = (-h - d) * p
, y = (-h + d) * p;
if (0 <= f && f <= 1 && (S.lerp(m, o, s, f),
S.sub(u, m, i),
S.normalize(u, u),
t.reportIntersection(e, f, u, -1),
e.shouldStop(t)))
return;
0 <= y && y <= 1 && (S.lerp(m, o, s, y),
S.sub(u, m, i),
S.normalize(u, u),
t.reportIntersection(e, y, u, -1))
}
}
}
, {
"../math/vec2": 30,
"./Shape": 45
}],
40: [function(e, t, i) {
var h = e("./Shape")
, d = e("../math/vec2")
, n = e("../math/polyk");
e("poly-decomp");
function u(e) {
Array.isArray(e) && (e = {
vertices: e,
axes: arguments[1]
}),
e = e || {},
this.vertices = [];
for (var t = void 0 !== e.vertices ? e.vertices : [], i = 0; i < t.length; i++) {
var r = d.create();
d.copy(r, t[i]),
this.vertices.push(r)
}
if (this.axes = [],
e.axes)
for (i = 0; i < e.axes.length; i++) {
var o = d.create();
d.copy(o, e.axes[i]),
this.axes.push(o)
}
else
for (i = 0; i < this.vertices.length; i++) {
var s = this.vertices[i]
, a = this.vertices[(i + 1) % this.vertices.length]
, n = d.create();
d.sub(n, a, s),
d.rotate90cw(n, n),
d.normalize(n, n),
this.axes.push(n)
}
if (this.centerOfMass = d.fromValues(0, 0),
this.triangles = [],
this.vertices.length && (this.updateTriangles(),
this.updateCenterOfMass()),
this.boundingRadius = 0,
e.type = h.CONVEX,
h.call(this, e),
this.updateBoundingRadius(),
this.updateArea(),
this.area < 0)
throw new Error("Convex vertices must be given in conter-clockwise winding.")
}
((t.exports = u).prototype = new h).constructor = u;
var c = d.create()
, a = d.create();
u.prototype.projectOntoLocalAxis = function(e, t) {
for (var i, r, o = null, s = null, a = (e = c,
0); a < this.vertices.length; a++)
i = this.vertices[a],
r = d.dot(i, e),
(null === o || o < r) && (o = r),
(null === s || r < s) && (s = r);
if (o < s) {
var n = s;
s = o,
o = n
}
d.set(t, s, o)
}
,
u.prototype.projectOntoWorldAxis = function(e, t, i, r) {
var o = a;
this.projectOntoLocalAxis(e, r),
0 !== i ? d.rotate(o, e, i) : o = e;
var s = d.dot(t, o);
d.set(r, r[0] + s, r[1] + s)
}
,
u.prototype.updateTriangles = function() {
for (var e = [], t = this.triangles.length = 0; t < this.vertices.length; t++) {
var i = this.vertices[t];
e.push(i[0], i[1])
}
var r = n.Triangulate(e);
for (t = 0; t < r.length; t += 3) {
var o = r[t]
, s = r[t + 1]
, a = r[t + 2];
this.triangles.push([o, s, a])
}
}
;
var p = d.create()
, f = d.create()
, y = d.create()
, S = d.create()
, w = d.create();
d.create(),
d.create(),
d.create(),
d.create();
u.prototype.updateCenterOfMass = function() {
var e = this.triangles
, t = this.vertices
, i = this.centerOfMass
, r = p
, o = y
, s = S
, a = w
, n = f;
d.set(i, 0, 0);
for (var h = 0, c = 0; c !== e.length; c++) {
var l = e[c];
o = t[l[0]],
s = t[l[1]],
a = t[l[2]];
d.centroid(r, o, s, a);
var m = u.triangleArea(o, s, a);
h += m,
d.scale(n, r, m),
d.add(i, i, n)
}
d.scale(i, i, 1 / h)
}
,
u.prototype.computeMomentOfInertia = function(e) {
for (var t = 0, i = 0, r = this.vertices.length, o = r - 1, s = 0; s < r; o = s,
s++) {
var a = this.vertices[o]
, n = this.vertices[s]
, h = Math.abs(d.crossLength(a, n));
t += h * (d.dot(n, n) + d.dot(n, a) + d.dot(a, a)),
i += h
}
return e / 6 * (t / i)
}
,
u.prototype.updateBoundingRadius = function() {
for (var e = this.vertices, t = 0, i = 0; i !== e.length; i++) {
var r = d.squaredLength(e[i]);
t < r && (t = r)
}
this.boundingRadius = Math.sqrt(t)
}
,
u.triangleArea = function(e, t, i) {
return .5 * ((t[0] - e[0]) * (i[1] - e[1]) - (i[0] - e[0]) * (t[1] - e[1]))
}
,
u.prototype.updateArea = function() {
this.updateTriangles(),
this.area = 0;
for (var e = this.triangles, t = this.vertices, i = 0; i !== e.length; i++) {
var r = e[i]
, o = t[r[0]]
, s = t[r[1]]
, a = t[r[2]]
, n = u.triangleArea(o, s, a);
this.area += n
}
}
,
u.prototype.computeAABB = function(e, t, i) {
e.setFromPoints(this.vertices, t, i, 0)
}
;
var g = d.create()
, x = d.create()
, b = d.create();
u.prototype.raycast = function(e, t, i, r) {
var o = g
, s = x
, a = b
, n = this.vertices;
d.toLocalFrame(o, t.from, i, r),
d.toLocalFrame(s, t.to, i, r);
for (var h = n.length, c = 0; c < h && !e.shouldStop(t); c++) {
var l = n[c]
, m = n[(c + 1) % h]
, u = d.getLineSegmentsIntersectionFraction(o, s, l, m);
0 <= u && (d.sub(a, m, l),
d.rotate(a, a, -Math.PI / 2 + r),
d.normalize(a, a),
t.reportIntersection(e, u, a, c))
}
}
}
, {
"../math/polyk": 29,
"../math/vec2": 30,
"./Shape": 45,
"poly-decomp": 5
}],
41: [function(e, t, i) {
var r = e("./Shape")
, y = e("../math/vec2");
e("../utils/Utils");
function o(e) {
if (Array.isArray(e) && (e = {
heights: e
},
"object" == typeof arguments[1]))
for (var t in arguments[1])
e[t] = arguments[1][t];
e = e || {},
this.heights = e.heights ? e.heights.slice(0) : [],
this.maxValue = e.maxValue || null,
this.minValue = e.minValue || null,
this.elementWidth = e.elementWidth || .1,
void 0 !== e.maxValue && void 0 !== e.minValue || this.updateMaxMinValues(),
e.type = r.HEIGHTFIELD,
r.call(this, e)
}
(((t.exports = o).prototype = new r).constructor = o).prototype.updateMaxMinValues = function() {
for (var e = this.heights, t = e[0], i = e[0], r = 0; r !== e.length; r++) {
var o = e[r];
t < o && (t = o),
o < i && (i = o)
}
this.maxValue = t,
this.minValue = i
}
,
o.prototype.computeMomentOfInertia = function(e) {
return Number.MAX_VALUE
}
,
o.prototype.updateBoundingRadius = function() {
this.boundingRadius = Number.MAX_VALUE
}
,
o.prototype.updateArea = function() {
for (var e = this.heights, t = 0, i = 0; i < e.length - 1; i++)
t += (e[i] + e[i + 1]) / 2 * this.elementWidth;
this.area = t
}
;
var s = [y.create(), y.create(), y.create(), y.create()];
o.prototype.computeAABB = function(e, t, i) {
y.set(s[0], 0, this.maxValue),
y.set(s[1], this.elementWidth * this.heights.length, this.maxValue),
y.set(s[2], this.elementWidth * this.heights.length, this.minValue),
y.set(s[3], 0, this.minValue),
e.setFromPoints(s, t, i)
}
,
o.prototype.getLineSegment = function(e, t, i) {
var r = this.heights
, o = this.elementWidth;
y.set(e, i * o, r[i]),
y.set(t, (i + 1) * o, r[i + 1])
}
,
o.prototype.getSegmentIndex = function(e) {
return Math.floor(e[0] / this.elementWidth)
}
,
o.prototype.getClampedSegmentIndex = function(e) {
var t = this.getSegmentIndex(e);
return t = Math.min(this.heights.length, Math.max(t, 0))
}
;
y.create();
var S = y.create()
, w = y.create()
, g = y.create()
, x = y.create()
, b = y.create();
y.fromValues(0, 1);
o.prototype.raycast = function(e, t, i, r) {
var o = t.from
, s = t.to
, a = (t.direction,
S)
, n = w
, h = g
, c = x
, l = b;
y.toLocalFrame(c, o, i, r),
y.toLocalFrame(l, s, i, r);
var m = this.getClampedSegmentIndex(c)
, u = this.getClampedSegmentIndex(l);
if (u < m) {
var d = m;
m = u,
u = d
}
for (var p = 0; p < this.heights.length - 1; p++) {
this.getLineSegment(n, h, p);
var f = y.getLineSegmentsIntersectionFraction(c, l, n, h);
if (0 <= f && (y.sub(a, h, n),
y.rotate(a, a, r + Math.PI / 2),
y.normalize(a, a),
t.reportIntersection(e, f, a, -1),
e.shouldStop(t)))
return
}
}
}
, {
"../math/vec2": 30,
"../utils/Utils": 57,
"./Shape": 45
}],
42: [function(e, t, i) {
var r = e("./Shape")
, m = e("../math/vec2");
function o(e) {
"number" == typeof e && (e = {
length: e
}),
e = e || {},
this.length = e.length || 1,
e.type = r.LINE,
r.call(this, e)
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeMomentOfInertia = function(e) {
return e * Math.pow(this.length, 2) / 12
}
,
o.prototype.updateBoundingRadius = function() {
this.boundingRadius = this.length / 2
}
;
var s = [m.create(), m.create()];
o.prototype.computeAABB = function(e, t, i) {
var r = this.length / 2;
m.set(s[0], -r, 0),
m.set(s[1], r, 0),
e.setFromPoints(s, t, i, 0)
}
;
m.create();
var u = m.create()
, d = m.create()
, p = m.create()
, f = m.fromValues(0, 1);
o.prototype.raycast = function(e, t, i, r) {
var o = t.from
, s = t.to
, a = d
, n = p
, h = this.length / 2;
m.set(a, -h, 0),
m.set(n, h, 0),
m.toGlobalFrame(a, a, i, r),
m.toGlobalFrame(n, n, i, r);
var c = m.getLineSegmentsIntersectionFraction(a, n, o, s);
if (0 <= c) {
var l = u;
m.rotate(l, f, r),
t.reportIntersection(e, c, l, -1)
}
}
}
, {
"../math/vec2": 30,
"./Shape": 45
}],
43: [function(e, t, i) {
var r = e("./Shape")
, o = e("../math/vec2");
function s(e) {
(e = e || {}).type = r.PARTICLE,
r.call(this, e)
}
(((t.exports = s).prototype = new r).constructor = s).prototype.computeMomentOfInertia = function(e) {
return 0
}
,
s.prototype.updateBoundingRadius = function() {
this.boundingRadius = 0
}
,
s.prototype.computeAABB = function(e, t, i) {
o.copy(e.lowerBound, t),
o.copy(e.upperBound, t)
}
}
, {
"../math/vec2": 30,
"./Shape": 45
}],
44: [function(e, t, i) {
var r = e("./Shape")
, d = e("../math/vec2");
e("../utils/Utils");
function o(e) {
(e = e || {}).type = r.PLANE,
r.call(this, e)
}
(((t.exports = o).prototype = new r).constructor = o).prototype.computeMomentOfInertia = function(e) {
return 0
}
,
o.prototype.updateBoundingRadius = function() {
this.boundingRadius = Number.MAX_VALUE
}
,
o.prototype.computeAABB = function(e, t, i) {
var r = i % (2 * Math.PI)
, o = d.set
, s = Number.MAX_VALUE
, a = e.lowerBound
, n = e.upperBound;
0 === r ? (o(a, -s, -s),
o(n, s, 0)) : r === Math.PI / 2 ? (o(a, 0, -s),
o(n, s, s)) : r === Math.PI ? (o(a, -s, 0),
o(n, s, s)) : r === 3 * Math.PI / 2 ? (o(a, -s, -s),
o(n, 0, s)) : (o(a, -s, -s),
o(n, s, s)),
d.add(a, a, t),
d.add(n, n, t)
}
,
o.prototype.updateArea = function() {
this.area = Number.MAX_VALUE
}
;
var p = d.create()
, f = (d.create(),
d.create(),
d.create())
, y = d.create();
o.prototype.raycast = function(e, t, i, r) {
var o = t.from
, s = t.to
, a = t.direction
, n = p
, h = f
, c = y;
d.set(h, 0, 1),
d.rotate(h, h, r),
d.sub(c, o, i);
var l = d.dot(c, h);
if (d.sub(c, s, i),
!(0 < l * d.dot(c, h) || d.squaredDistance(o, s) < l * l)) {
var m = d.dot(h, a);
d.sub(n, o, i);
var u = -d.dot(h, n) / m / t.length;
t.reportIntersection(e, u, h, -1)
}
}
}
, {
"../math/vec2": 30,
"../utils/Utils": 57,
"./Shape": 45
}],
45: [function(e, t, i) {
t.exports = o;
var r = e("../math/vec2");
function o(e) {
e = e || {},
this.body = null,
this.position = r.fromValues(0, 0),
e.position && r.copy(this.position, e.position),
this.angle = e.angle || 0,
this.type = e.type || 0,
this.id = o.idCounter++,
this.boundingRadius = 0,
this.collisionGroup = void 0 !== e.collisionGroup ? e.collisionGroup : 1,
this.collisionResponse = void 0 === e.collisionResponse || e.collisionResponse,
this.collisionMask = void 0 !== e.collisionMask ? e.collisionMask : 1,
this.material = e.material || null,
this.area = 0,
this.sensor = void 0 !== e.sensor && e.sensor,
this.type && this.updateBoundingRadius(),
this.updateArea()
}
o.idCounter = 0,
o.CIRCLE = 1,
o.PARTICLE = 2,
o.PLANE = 4,
o.CONVEX = 8,
o.LINE = 16,
o.BOX = 32,
Object.defineProperty(o, "RECTANGLE", {
get: function() {
return o.BOX
}
}),
o.CAPSULE = 64,
o.HEIGHTFIELD = 128,
o.prototype.computeMomentOfInertia = function(e) {}
,
o.prototype.updateBoundingRadius = function() {}
,
o.prototype.updateArea = function() {}
,
o.prototype.computeAABB = function(e, t, i) {}
,
o.prototype.raycast = function(e, t, i, r) {}
}
, {
"../math/vec2": 30
}],
46: [function(e, t, i) {
var v = e("../math/vec2")
, r = e("./Solver")
, z = e("../utils/Utils")
, C = e("../equations/FrictionEquation");
function T(e) {
r.call(this, e, r.GS),
e = e || {},
this.iterations = e.iterations || 10,
this.tolerance = e.tolerance || 1e-7,
this.arrayStep = 30,
this.lambda = new z.ARRAY_TYPE(this.arrayStep),
this.Bs = new z.ARRAY_TYPE(this.arrayStep),
this.invCs = new z.ARRAY_TYPE(this.arrayStep),
this.useZeroRHS = !1,
this.frictionIterations = 0,
this.usedIterations = 0
}
(((t.exports = T).prototype = new r).constructor = T).prototype.solve = function(e, t) {
this.sortEquations();
var i = 0
, r = this.iterations
, o = this.frictionIterations
, s = this.equations
, a = s.length
, n = Math.pow(this.tolerance * a, 2)
, h = t.bodies
, c = t.bodies.length
, l = (v.add,
v.set,
this.useZeroRHS)
, m = this.lambda;
if (this.usedIterations = 0,
a)
for (var u = 0; u !== c; u++) {
h[u].updateSolveMassProperties()
}
m.length < a && (m = this.lambda = new z.ARRAY_TYPE(a + this.arrayStep),
this.Bs = new z.ARRAY_TYPE(a + this.arrayStep),
this.invCs = new z.ARRAY_TYPE(a + this.arrayStep)),
function(e) {
for (var t = e.length; t--; )
e[t] = 0
}(m);
var d, p, f = this.invCs, y = this.Bs;
for (m = this.lambda,
u = 0; u !== s.length; u++) {
var S;
((S = s[u]).timeStep !== e || S.needsUpdate) && (S.timeStep = e,
S.update()),
y[u] = S.computeB(S.a, S.b, e),
f[u] = S.computeInvC(S.epsilon)
}
if (0 !== a) {
for (u = 0; u !== c; u++) {
h[u].resetConstraintVelocity()
}
if (o) {
for (i = 0; i !== o; i++) {
for (p = d = 0; p !== a; p++) {
S = s[p];
var w = T.iterateEquation(p, S, S.epsilon, y, f, m, l, e, i);
d += Math.abs(w)
}
if (this.usedIterations++,
d * d <= n)
break
}
for (T.updateMultipliers(s, m, 1 / e),
p = 0; p !== a; p++) {
var g = s[p];
if (g instanceof C) {
for (var x = 0, b = 0; b !== g.contactEquations.length; b++)
x += g.contactEquations[b].multiplier;
x *= g.frictionCoefficient / g.contactEquations.length,
g.maxForce = x,
g.minForce = -x
}
}
}
for (i = 0; i !== r; i++) {
for (p = d = 0; p !== a; p++) {
S = s[p];
w = T.iterateEquation(p, S, S.epsilon, y, f, m, l, e, i);
d += Math.abs(w)
}
if (this.usedIterations++,
d * d <= n)
break
}
for (u = 0; u !== c; u++)
h[u].addConstraintVelocity();
T.updateMultipliers(s, m, 1 / e)
}
}
,
T.updateMultipliers = function(e, t, i) {
for (var r = e.length; r--; )
e[r].multiplier = t[r] * i
}
,
T.iterateEquation = function(e, t, i, r, o, s, a, n, h) {
var c = r[e]
, l = o[e]
, m = s[e]
, u = t.computeGWlambda()
, d = t.maxForce
, p = t.minForce;
a && (c = 0);
var f = l * (c - u - i * m)
, y = m + f;
return y < p * n ? f = p * n - m : d * n < y && (f = d * n - m),
s[e] += f,
t.addToWlambda(f),
f
}
}
, {
"../equations/FrictionEquation": 23,
"../math/vec2": 30,
"../utils/Utils": 57,
"./Solver": 47
}],
47: [function(e, t, i) {
e("../utils/Utils");
var r = e("../events/EventEmitter");
function o(e, t) {
e = e || {},
r.call(this),
this.type = t,
this.equations = [],
this.equationSortFunction = e.equationSortFunction || !1
}
(((t.exports = o).prototype = new r).constructor = o).prototype.solve = function(e, t) {
throw new Error("Solver.solve should be implemented by subclasses!")
}
;
var s = {
bodies: []
};
o.prototype.solveIsland = function(e, t) {
this.removeAllEquations(),
t.equations.length && (this.addEquations(t.equations),
s.bodies.length = 0,
t.getBodies(s.bodies),
s.bodies.length && this.solve(e, s))
}
,
o.prototype.sortEquations = function() {
this.equationSortFunction && this.equations.sort(this.equationSortFunction)
}
,
o.prototype.addEquation = function(e) {
e.enabled && this.equations.push(e)
}
,
o.prototype.addEquations = function(e) {
for (var t = 0, i = e.length; t !== i; t++) {
var r = e[t];
r.enabled && this.equations.push(r)
}
}
,
o.prototype.removeEquation = function(e) {
var t = this.equations.indexOf(e);
-1 !== t && this.equations.splice(t, 1)
}
,
o.prototype.removeAllEquations = function() {
this.equations.length = 0
}
,
o.GS = 1,
o.ISLAND = 2
}
, {
"../events/EventEmitter": 26,
"../utils/Utils": 57
}],
48: [function(e, t, i) {
var r = e("../equations/ContactEquation")
, o = e("./Pool");
function s() {
o.apply(this, arguments)
}
(((t.exports = s).prototype = new o).constructor = s).prototype.create = function() {
return new r
}
,
s.prototype.destroy = function(e) {
return e.bodyA = e.bodyB = null,
this
}
}
, {
"../equations/ContactEquation": 21,
"./Pool": 55
}],
49: [function(e, t, i) {
var r = e("../equations/FrictionEquation")
, o = e("./Pool");
function s() {
o.apply(this, arguments)
}
(((t.exports = s).prototype = new o).constructor = s).prototype.create = function() {
return new r
}
,
s.prototype.destroy = function(e) {
return e.bodyA = e.bodyB = null,
this
}
}
, {
"../equations/FrictionEquation": 23,
"./Pool": 55
}],
50: [function(e, t, i) {
var r = e("../world/IslandNode")
, o = e("./Pool");
function s() {
o.apply(this, arguments)
}
(((t.exports = s).prototype = new o).constructor = s).prototype.create = function() {
return new r
}
,
s.prototype.destroy = function(e) {
return e.reset(),
this
}
}
, {
"../world/IslandNode": 60,
"./Pool": 55
}],
51: [function(e, t, i) {
var r = e("../world/Island")
, o = e("./Pool");
function s() {
o.apply(this, arguments)
}
(((t.exports = s).prototype = new o).constructor = s).prototype.create = function() {
return new r
}
,
s.prototype.destroy = function(e) {
return e.reset(),
this
}
}
, {
"../world/Island": 58,
"./Pool": 55
}],
52: [function(e, t, i) {
var r = e("./TupleDictionary")
, o = (e("./OverlapKeeperRecord"),
e("./OverlapKeeperRecordPool"));
e("./Utils");
function s() {
this.overlappingShapesLastState = new r,
this.overlappingShapesCurrentState = new r,
this.recordPool = new o({
size: 16
}),
this.tmpDict = new r,
this.tmpArray1 = []
}
(t.exports = s).prototype.tick = function() {
for (var e = this.overlappingShapesLastState, t = this.overlappingShapesCurrentState, i = e.keys.length; i--; ) {
var r = e.keys[i]
, o = e.getByKey(r);
t.getByKey(r);
o && this.recordPool.release(o)
}
e.reset(),
e.copy(t),
t.reset()
}
,
s.prototype.setOverlapping = function(e, t, i, r) {
this.overlappingShapesLastState;
var o = this.overlappingShapesCurrentState;
if (!o.get(t.id, r.id)) {
var s = this.recordPool.get();
s.set(e, t, i, r),
o.set(t.id, r.id, s)
}
}
,
s.prototype.getNewOverlaps = function(e) {
return this.getDiff(this.overlappingShapesLastState, this.overlappingShapesCurrentState, e)
}
,
s.prototype.getEndOverlaps = function(e) {
return this.getDiff(this.overlappingShapesCurrentState, this.overlappingShapesLastState, e)
}
,
s.prototype.bodiesAreOverlapping = function(e, t) {
for (var i = this.overlappingShapesCurrentState, r = i.keys.length; r--; ) {
var o = i.keys[r]
, s = i.data[o];
if (s.bodyA === e && s.bodyB === t || s.bodyA === t && s.bodyB === e)
return !0
}
return !1
}
,
s.prototype.getDiff = function(e, t, i) {
var r = e
, o = t;
(i = i || []).length = 0;
for (var s = o.keys.length; s--; ) {
var a = o.keys[s]
, n = o.data[a];
if (!n)
throw new Error("Key " + a + " had no data!");
r.data[a] || i.push(n)
}
return i
}
,
s.prototype.isNewOverlap = function(e, t) {
var i = 0 | e.id
, r = 0 | t.id
, o = this.overlappingShapesLastState
, s = this.overlappingShapesCurrentState;
return !o.get(i, r) && !!s.get(i, r)
}
,
s.prototype.getNewBodyOverlaps = function(e) {
this.tmpArray1.length = 0;
var t = this.getNewOverlaps(this.tmpArray1);
return this.getBodyDiff(t, e)
}
,
s.prototype.getEndBodyOverlaps = function(e) {
this.tmpArray1.length = 0;
var t = this.getEndOverlaps(this.tmpArray1);
return this.getBodyDiff(t, e)
}
,
s.prototype.getBodyDiff = function(e, t) {
t = t || [];
for (var i = this.tmpDict, r = e.length; r--; ) {
var o = e[r];
i.set(0 | o.bodyA.id, 0 | o.bodyB.id, o)
}
for (r = i.keys.length; r--; ) {
(o = i.getByKey(i.keys[r])) && t.push(o.bodyA, o.bodyB)
}
return i.reset(),
t
}
}
, {
"./OverlapKeeperRecord": 53,
"./OverlapKeeperRecordPool": 54,
"./TupleDictionary": 56,
"./Utils": 57
}],
53: [function(e, t, i) {
function o(e, t, i, r) {
this.shapeA = t,
this.shapeB = r,
this.bodyA = e,
this.bodyB = i
}
(t.exports = o).prototype.set = function(e, t, i, r) {
o.call(this, e, t, i, r)
}
}
, {}],
54: [function(e, t, i) {
var r = e("./OverlapKeeperRecord")
, o = e("./Pool");
function s() {
o.apply(this, arguments)
}
(((t.exports = s).prototype = new o).constructor = s).prototype.create = function() {
return new r
}
,
s.prototype.destroy = function(e) {
return e.bodyA = e.bodyB = e.shapeA = e.shapeB = null,
this
}
}
, {
"./OverlapKeeperRecord": 53,
"./Pool": 55
}],
55: [function(e, t, i) {
function r(e) {
e = e || {},
this.objects = [],
void 0 !== e.size && this.resize(e.size)
}
(t.exports = r).prototype.resize = function(e) {
for (var t = this.objects; t.length > e; )
t.pop();
for (; t.length < e; )
t.push(this.create());
return this
}
,
r.prototype.get = function() {
var e = this.objects;
return e.length ? e.pop() : this.create()
}
,
r.prototype.release = function(e) {
return this.destroy(e),
this.objects.push(e),
this
}
}
, {}],
56: [function(e, t, i) {
var r = e("./Utils");
function o() {
this.data = {},
this.keys = []
}
(t.exports = o).prototype.getKey = function(e, t) {
return (0 | (e |= 0)) == (0 | (t |= 0)) ? -1 : 0 | ((0 | t) < (0 | e) ? e << 16 | 65535 & t : t << 16 | 65535 & e)
}
,
o.prototype.getByKey = function(e) {
return e |= 0,
this.data[e]
}
,
o.prototype.get = function(e, t) {
return this.data[this.getKey(e, t)]
}
,
o.prototype.set = function(e, t, i) {
if (!i)
throw new Error("No data!");
var r = this.getKey(e, t);
return this.data[r] || this.keys.push(r),
this.data[r] = i,
r
}
,
o.prototype.reset = function() {
for (var e = this.data, t = this.keys, i = t.length; i--; )
delete e[t[i]];
t.length = 0
}
,
o.prototype.copy = function(e) {
this.reset(),
r.appendArray(this.keys, e.keys);
for (var t = e.keys.length; t--; ) {
var i = e.keys[t];
this.data[i] = e.data[i]
}
}
}
, {
"./Utils": 57
}],
57: [function(e, t, i) {
function r() {}
(t.exports = r).appendArray = function(e, t) {
if (t.length < 15e4)
e.push.apply(e, t);
else
for (var i = 0, r = t.length; i !== r; ++i)
e.push(t[i])
}
,
r.splice = function(e, t, i) {
i = i || 1;
for (var r = t, o = e.length - i; r < o; r++)
e[r] = e[r + i];
e.length = o
}
,
r.ARRAY_TYPE = "undefined" != typeof P2_ARRAY_TYPE ? P2_ARRAY_TYPE : "undefined" != typeof Float32Array ? Float32Array : Array,
r.extend = function(e, t) {
for (var i in t)
e[i] = t[i]
}
,
r.defaults = function(e, t) {
for (var i in e = e || {},
t)
i in e || (e[i] = t[i]);
return e
}
}
, {}],
58: [function(e, t, i) {
var r = e("../objects/Body");
function o() {
this.equations = [],
this.bodies = []
}
(t.exports = o).prototype.reset = function() {
this.equations.length = this.bodies.length = 0
}
;
var s = [];
o.prototype.getBodies = function(e) {
for (var t = e || [], i = this.equations, r = s.length = 0; r !== i.length; r++) {
var o = i[r];
-1 === s.indexOf(o.bodyA.id) && (t.push(o.bodyA),
s.push(o.bodyA.id)),
-1 === s.indexOf(o.bodyB.id) && (t.push(o.bodyB),
s.push(o.bodyB.id))
}
return t
}
,
o.prototype.wantsToSleep = function() {
for (var e = 0; e < this.bodies.length; e++) {
var t = this.bodies[e];
if (t.type === r.DYNAMIC && !t.wantsToSleep)
return !1
}
return !0
}
,
o.prototype.sleep = function() {
for (var e = 0; e < this.bodies.length; e++) {
this.bodies[e].sleep()
}
return !0
}
}
, {
"../objects/Body": 31
}],
59: [function(e, t, i) {
e("../math/vec2"),
e("./Island"),
e("./IslandNode");
var r = e("./../utils/IslandNodePool")
, o = e("./../utils/IslandPool")
, a = e("../objects/Body");
function p(e) {
this.nodePool = new r({
size: 16
}),
this.islandPool = new o({
size: 8
}),
this.equations = [],
this.islands = [],
this.nodes = [],
this.queue = []
}
(t.exports = p).getUnvisitedNode = function(e) {
for (var t = e.length, i = 0; i !== t; i++) {
var r = e[i];
if (!r.visited && r.body.type === a.DYNAMIC)
return r
}
return !1
}
,
p.prototype.visit = function(e, t, i) {
t.push(e.body);
for (var r = e.equations.length, o = 0; o !== r; o++) {
var s = e.equations[o];
-1 === i.indexOf(s) && i.push(s)
}
}
,
p.prototype.bfs = function(e, t, i) {
var r = this.queue;
for (r.length = 0,
r.push(e),
e.visited = !0,
this.visit(e, t, i); r.length; )
for (var o, s = r.pop(); o = p.getUnvisitedNode(s.neighbors); )
o.visited = !0,
this.visit(o, t, i),
o.body.type === a.DYNAMIC && r.push(o)
}
,
p.prototype.split = function(e) {
for (var t = e.bodies, i = this.nodes, r = this.equations; i.length; )
this.nodePool.release(i.pop());
for (var o = 0; o !== t.length; o++) {
var s = this.nodePool.get();
s.body = t[o],
i.push(s)
}
for (var a = 0; a !== r.length; a++) {
var n = r[a]
, h = (o = t.indexOf(n.bodyA),
t.indexOf(n.bodyB))
, c = i[o]
, l = i[h];
c.neighbors.push(l),
l.neighbors.push(c),
c.equations.push(n),
l.equations.push(n)
}
var m, u = this.islands;
for (o = 0; o < u.length; o++)
this.islandPool.release(u[o]);
for (u.length = 0; m = p.getUnvisitedNode(i); ) {
var d = this.islandPool.get();
this.bfs(m, d.bodies, d.equations),
u.push(d)
}
return u
}
}
, {
"../math/vec2": 30,
"../objects/Body": 31,
"./../utils/IslandNodePool": 50,
"./../utils/IslandPool": 51,
"./Island": 58,
"./IslandNode": 60
}],
60: [function(e, t, i) {
function r(e) {
this.body = e,
this.neighbors = [],
this.equations = [],
this.visited = !1
}
(t.exports = r).prototype.reset = function() {
this.equations.length = 0,
this.neighbors.length = 0,
this.visited = !1,
this.body = null
}
}
, {}],
61: [function(e, t, i) {
var r = e("../solver/GSSolver")
, j = (e("../solver/Solver"),
e("../collision/Ray"),
e("../math/vec2"))
, S = e("../shapes/Circle")
, w = e("../shapes/Convex")
, g = (e("../shapes/Line"),
e("../shapes/Plane"))
, x = e("../shapes/Capsule")
, b = e("../shapes/Particle")
, o = e("../events/EventEmitter")
, Y = e("../objects/Body")
, s = (e("../shapes/Shape"),
e("../objects/LinearSpring"),
e("../material/Material"))
, a = e("../material/ContactMaterial")
, n = (e("../constraints/DistanceConstraint"),
e("../constraints/Constraint"),
e("../constraints/LockConstraint"),
e("../constraints/RevoluteConstraint"),
e("../constraints/PrismaticConstraint"),
e("../constraints/GearConstraint"),
e("../../package.json"),
e("../collision/Broadphase"),
e("../collision/AABB"))
, h = e("../collision/SAPBroadphase")
, c = e("../collision/Narrowphase")
, V = e("../utils/Utils")
, l = e("../utils/OverlapKeeper")
, m = e("./IslandManager");
e("../objects/RotationalSpring");
function K(e) {
o.apply(this),
e = e || {},
this.springs = [],
this.bodies = [],
this.disabledBodyCollisionPairs = [],
this.solver = e.solver || new r,
this.narrowphase = new c(this),
this.islandManager = new m,
this.gravity = j.fromValues(0, -9.78),
e.gravity && j.copy(this.gravity, e.gravity),
this.frictionGravity = j.length(this.gravity) || 10,
this.useWorldGravityAsFrictionGravity = !0,
this.useFrictionGravityOnZeroGravity = !0,
this.broadphase = e.broadphase || new h,
this.broadphase.setWorld(this),
this.constraints = [],
this.defaultMaterial = new s,
this.defaultContactMaterial = new a(this.defaultMaterial,this.defaultMaterial),
this.lastTimeStep = 1 / 60,
this.applySpringForces = !0,
this.applyDamping = !0,
this.applyGravity = !0,
this.solveConstraints = !0,
this.contactMaterials = [],
this.time = 0,
this.accumulator = 0,
this.stepping = !1,
this.bodiesToBeRemoved = [],
this.islandSplit = void 0 === e.islandSplit || !!e.islandSplit,
this.emitImpactEvent = !0,
this._constraintIdCounter = 0,
this._bodyIdCounter = 0,
this.postStepEvent = {
type: "postStep"
},
this.addBodyEvent = {
type: "addBody",
body: null
},
this.removeBodyEvent = {
type: "removeBody",
body: null
},
this.addSpringEvent = {
type: "addSpring",
spring: null
},
this.impactEvent = {
type: "impact",
bodyA: null,
bodyB: null,
shapeA: null,
shapeB: null,
contactEquation: null
},
this.postBroadphaseEvent = {
type: "postBroadphase",
pairs: null
},
this.sleepMode = K.NO_SLEEPING,
this.beginContactEvent = {
type: "beginContact",
shapeA: null,
shapeB: null,
bodyA: null,
bodyB: null,
contactEquations: []
},
this.endContactEvent = {
type: "endContact",
shapeA: null,
shapeB: null,
bodyA: null,
bodyB: null
},
this.preSolveEvent = {
type: "preSolve",
contactEquations: null,
frictionEquations: null
},
this.overlappingShapesLastState = {
keys: []
},
this.overlappingShapesCurrentState = {
keys: []
},
this.overlapKeeper = new l
}
(((t.exports = K).prototype = new Object(o.prototype)).constructor = K).NO_SLEEPING = 1,
K.BODY_SLEEPING = 2,
K.ISLAND_SLEEPING = 4,
K.prototype.addConstraint = function(e) {
this.constraints.push(e)
}
,
K.prototype.addContactMaterial = function(e) {
this.contactMaterials.push(e)
}
,
K.prototype.removeContactMaterial = function(e) {
var t = this.contactMaterials.indexOf(e);
-1 !== t && V.splice(this.contactMaterials, t, 1)
}
,
K.prototype.getContactMaterial = function(e, t) {
for (var i = this.contactMaterials, r = 0, o = i.length; r !== o; r++) {
var s = i[r];
if (s.materialA.id === e.id && s.materialB.id === t.id || s.materialA.id === t.id && s.materialB.id === e.id)
return s
}
return !1
}
,
K.prototype.removeConstraint = function(e) {
var t = this.constraints.indexOf(e);
-1 !== t && V.splice(this.constraints, t, 1)
}
;
j.create(),
j.create(),
j.create(),
j.create(),
j.create(),
j.create();
var q = j.create()
, C = j.fromValues(0, 0)
, T = j.fromValues(0, 0);
j.fromValues(0, 0),
j.fromValues(0, 0);
K.prototype.step = function(e, t, i) {
if (i = i || 10,
0 === (t = t || 0))
this.internalStep(e),
this.time += e;
else {
this.accumulator += t;
for (var r = 0; this.accumulator >= e && r < i; )
this.internalStep(e),
this.time += e,
this.accumulator -= e,
r++;
for (var o = this.accumulator % e / e, s = 0; s !== this.bodies.length; s++) {
var a = this.bodies[s];
j.lerp(a.interpolatedPosition, a.previousPosition, a.position, o),
a.interpolatedAngle = a.previousAngle + o * (a.angle - a.previousAngle)
}
}
}
;
var Z = [];
K.prototype.internalStep = function(e) {
this.stepping = !0;
var t = this.springs.length
, i = this.springs
, r = this.bodies
, o = this.gravity
, s = this.solver
, a = this.bodies.length
, n = this.broadphase
, h = this.narrowphase
, c = this.constraints
, l = q
, m = (j.scale,
j.add)
, u = (j.rotate,
this.islandManager);
if (this.overlapKeeper.tick(),
this.lastTimeStep = e,
this.useWorldGravityAsFrictionGravity) {
var d = j.length(this.gravity);
0 === d && this.useFrictionGravityOnZeroGravity || (this.frictionGravity = d)
}
if (this.applyGravity)
for (var p = 0; p !== a; p++) {
var f = (y = r[p]).force;
y.type === Y.DYNAMIC && y.sleepState !== Y.SLEEPING && (j.scale(l, o, y.mass * y.gravityScale),
m(f, f, l))
}
if (this.applySpringForces)
for (p = 0; p !== t; p++) {
i[p].applyForce()
}
if (this.applyDamping)
for (p = 0; p !== a; p++) {
var y;
(y = r[p]).type === Y.DYNAMIC && y.applyDamping(e)
}
var S = n.getCollisionPairs(this)
, w = this.disabledBodyCollisionPairs;
for (p = w.length - 2; 0 <= p; p -= 2)
for (var g = S.length - 2; 0 <= g; g -= 2)
(w[p] === S[g] && w[p + 1] === S[g + 1] || w[p + 1] === S[g] && w[p] === S[g + 1]) && S.splice(g, 2);
var x = c.length;
for (p = 0; p !== x; p++) {
var b = c[p];
if (!b.collideConnected)
for (g = S.length - 2; 0 <= g; g -= 2)
(b.bodyA === S[g] && b.bodyB === S[g + 1] || b.bodyB === S[g] && b.bodyA === S[g + 1]) && S.splice(g, 2)
}
this.postBroadphaseEvent.pairs = S,
this.emit(this.postBroadphaseEvent),
this.postBroadphaseEvent.pairs = null,
h.reset(this);
p = 0;
for (var v = S.length; p !== v; p += 2)
for (var z = S[p], C = S[p + 1], T = 0, P = z.shapes.length; T !== P; T++)
for (var A = z.shapes[T], _ = A.position, B = A.angle, D = 0, k = C.shapes.length; D !== k; D++) {
var E = C.shapes[D]
, M = E.position
, I = E.angle
, L = this.defaultContactMaterial;
if (A.material && E.material) {
var O = this.getContactMaterial(A.material, E.material);
O && (L = O)
}
this.runNarrowphase(h, z, A, _, B, C, E, M, I, L, this.frictionGravity)
}
for (p = 0; p !== a; p++) {
(N = r[p])._wakeUpAfterNarrowphase && (N.wakeUp(),
N._wakeUpAfterNarrowphase = !1)
}
if (this.has("endContact")) {
this.overlapKeeper.getEndOverlaps(Z);
var R = this.endContactEvent;
for (D = Z.length; D--; ) {
var F = Z[D];
R.shapeA = F.shapeA,
R.shapeB = F.shapeB,
R.bodyA = F.bodyA,
R.bodyB = F.bodyB,
this.emit(R)
}
Z.length = 0
}
var G = this.preSolveEvent;
G.contactEquations = h.contactEquations,
G.frictionEquations = h.frictionEquations,
this.emit(G),
G.contactEquations = G.frictionEquations = null;
x = c.length;
for (p = 0; p !== x; p++)
c[p].update();
if (h.contactEquations.length || h.frictionEquations.length || x)
if (this.islandSplit) {
for (u.equations.length = 0,
V.appendArray(u.equations, h.contactEquations),
V.appendArray(u.equations, h.frictionEquations),
p = 0; p !== x; p++)
V.appendArray(u.equations, c[p].equations);
u.split(this);
for (p = 0; p !== u.islands.length; p++) {
(X = u.islands[p]).equations.length && s.solveIsland(e, X)
}
} else {
for (s.addEquations(h.contactEquations),
s.addEquations(h.frictionEquations),
p = 0; p !== x; p++)
s.addEquations(c[p].equations);
this.solveConstraints && s.solve(e, this),
s.removeAllEquations()
}
for (p = 0; p !== a; p++) {
var N;
(N = r[p]).integrate(e)
}
for (p = 0; p !== a; p++)
r[p].setZeroForce();
if (this.emitImpactEvent && this.has("impact")) {
var U = this.impactEvent;
for (p = 0; p !== h.contactEquations.length; p++) {
var W = h.contactEquations[p];
W.firstImpact && (U.bodyA = W.bodyA,
U.bodyB = W.bodyB,
U.shapeA = W.shapeA,
U.shapeB = W.shapeB,
U.contactEquation = W,
this.emit(U))
}
}
if (this.sleepMode === K.BODY_SLEEPING)
for (p = 0; p !== a; p++)
r[p].sleepTick(this.time, !1, e);
else if (this.sleepMode === K.ISLAND_SLEEPING && this.islandSplit) {
for (p = 0; p !== a; p++)
r[p].sleepTick(this.time, !0, e);
for (p = 0; p < this.islandManager.islands.length; p++) {
var X;
(X = this.islandManager.islands[p]).wantsToSleep() && X.sleep()
}
}
this.stepping = !1;
var H = this.bodiesToBeRemoved;
for (p = 0; p !== H.length; p++)
this.removeBody(H[p]);
H.length = 0,
this.emit(this.postStepEvent)
}
,
K.prototype.runNarrowphase = function(e, t, i, r, o, s, a, n, h, c, l) {
if (0 != (i.collisionGroup & a.collisionMask) && 0 != (a.collisionGroup & i.collisionMask)) {
j.rotate(C, r, t.angle),
j.rotate(T, n, s.angle),
j.add(C, C, t.position),
j.add(T, T, s.position);
var m, u = o + t.angle, d = h + s.angle;
e.enableFriction = 0 < c.friction,
e.frictionCoefficient = c.friction,
m = t.type === Y.STATIC || t.type === Y.KINEMATIC ? s.mass : s.type === Y.STATIC || s.type === Y.KINEMATIC ? t.mass : t.mass * s.mass / (t.mass + s.mass),
e.slipForce = c.friction * l * m,
e.restitution = c.restitution,
e.surfaceVelocity = c.surfaceVelocity,
e.frictionStiffness = c.frictionStiffness,
e.frictionRelaxation = c.frictionRelaxation,
e.stiffness = c.stiffness,
e.relaxation = c.relaxation,
e.contactSkinSize = c.contactSkinSize,
e.enabledEquations = t.collisionResponse && s.collisionResponse && i.collisionResponse && a.collisionResponse;
var p = e[i.type | a.type]
, f = 0;
if (p) {
var y = i.sensor || a.sensor
, S = e.frictionEquations.length;
f = i.type < a.type ? p.call(e, t, i, C, u, s, a, T, d, y) : p.call(e, s, a, T, d, t, i, C, u, y);
var w = e.frictionEquations.length - S;
if (f) {
if (t.allowSleep && t.type === Y.DYNAMIC && t.sleepState === Y.SLEEPING && s.sleepState === Y.AWAKE && s.type !== Y.STATIC) {
var g = j.squaredLength(s.velocity) + Math.pow(s.angularVelocity, 2);
2 * Math.pow(s.sleepSpeedLimit, 2) <= g && (t._wakeUpAfterNarrowphase = !0)
}
if (s.allowSleep && s.type === Y.DYNAMIC && s.sleepState === Y.SLEEPING && t.sleepState === Y.AWAKE && t.type !== Y.STATIC) {
var x = j.squaredLength(t.velocity) + Math.pow(t.angularVelocity, 2);
2 * Math.pow(t.sleepSpeedLimit, 2) <= x && (s._wakeUpAfterNarrowphase = !0)
}
if (this.overlapKeeper.setOverlapping(t, i, s, a),
this.has("beginContact") && this.overlapKeeper.isNewOverlap(i, a)) {
var b = this.beginContactEvent;
if (b.shapeA = i,
b.shapeB = a,
b.bodyA = t,
b.bodyB = s,
b.contactEquations.length = 0,
"number" == typeof f)
for (var v = e.contactEquations.length - f; v < e.contactEquations.length; v++)
b.contactEquations.push(e.contactEquations[v]);
this.emit(b)
}
if ("number" == typeof f && 1 < w)
for (v = e.frictionEquations.length - w; v < e.frictionEquations.length; v++) {
var z = e.frictionEquations[v];
z.setSlipForce(z.getSlipForce() / w)
}
}
}
}
}
,
K.prototype.addSpring = function(e) {
this.springs.push(e);
var t = this.addSpringEvent;
t.spring = e,
this.emit(t),
t.spring = null
}
,
K.prototype.removeSpring = function(e) {
var t = this.springs.indexOf(e);
-1 !== t && V.splice(this.springs, t, 1)
}
,
K.prototype.addBody = function(e) {
if (-1 === this.bodies.indexOf(e)) {
this.bodies.push(e);
var t = (e.world = this).addBodyEvent;
t.body = e,
this.emit(t),
t.body = null
}
}
,
K.prototype.removeBody = function(e) {
if (this.stepping)
this.bodiesToBeRemoved.push(e);
else {
e.world = null;
var t = this.bodies.indexOf(e);
-1 !== t && (V.splice(this.bodies, t, 1),
(this.removeBodyEvent.body = e).resetConstraintVelocity(),
this.emit(this.removeBodyEvent),
this.removeBodyEvent.body = null)
}
}
,
K.prototype.getBodyById = function(e) {
for (var t = this.bodies, i = 0; i < t.length; i++) {
var r = t[i];
if (r.id === e)
return r
}
return !1
}
,
K.prototype.disableBodyCollision = function(e, t) {
this.disabledBodyCollisionPairs.push(e, t)
}
,
K.prototype.enableBodyCollision = function(e, t) {
for (var i = this.disabledBodyCollisionPairs, r = 0; r < i.length; r += 2)
if (i[r] === e && i[r + 1] === t || i[r + 1] === e && i[r] === t)
return void i.splice(r, 2)
}
,
K.prototype.clear = function() {
this.time = 0,
this.solver && this.solver.equations.length && this.solver.removeAllEquations();
for (var e = this.constraints, t = e.length - 1; 0 <= t; t--)
this.removeConstraint(e[t]);
var i = this.bodies;
for (t = i.length - 1; 0 <= t; t--)
this.removeBody(i[t]);
var r = this.springs;
for (t = r.length - 1; 0 <= t; t--)
this.removeSpring(r[t]);
var o = this.contactMaterials;
for (t = o.length - 1; 0 <= t; t--)
this.removeContactMaterial(o[t]);
K.apply(this)
}
;
var v = j.create()
, z = (j.fromValues(0, 0),
j.fromValues(0, 0));
K.prototype.hitTest = function(e, t, i) {
i = i || 0;
var r = new Y({
position: e
})
, o = new b
, s = e
, a = v
, n = z;
r.addShape(o);
for (var h = this.narrowphase, c = [], l = 0, m = t.length; l !== m; l++)
for (var u = t[l], d = 0, p = u.shapes.length; d !== p; d++) {
var f = u.shapes[d];
j.rotate(a, f.position, u.angle),
j.add(a, a, u.position);
var y = f.angle + u.angle;
(f instanceof S && h.circleParticle(u, f, a, y, r, o, s, 0, !0) || f instanceof w && h.particleConvex(r, o, s, 0, u, f, a, y, !0) || f instanceof g && h.particlePlane(r, o, s, 0, u, f, a, y, !0) || f instanceof x && h.particleCapsule(r, o, s, 0, u, f, a, y, !0) || f instanceof b && j.squaredLength(j.sub(n, a, e)) < i * i) && c.push(u)
}
return c
}
,
K.prototype.setGlobalStiffness = function(e) {
for (var t = this.constraints, i = 0; i !== t.length; i++)
for (var r = t[i], o = 0; o !== r.equations.length; o++) {
var s = r.equations[o];
s.stiffness = e,
s.needsUpdate = !0
}
var a = this.contactMaterials;
for (i = 0; i !== a.length; i++) {
(r = a[i]).stiffness = r.frictionStiffness = e
}
(r = this.defaultContactMaterial).stiffness = r.frictionStiffness = e
}
,
K.prototype.setGlobalRelaxation = function(e) {
for (var t = 0; t !== this.constraints.length; t++)
for (var i = this.constraints[t], r = 0; r !== i.equations.length; r++) {
var o = i.equations[r];
o.relaxation = e,
o.needsUpdate = !0
}
for (t = 0; t !== this.contactMaterials.length; t++) {
(i = this.contactMaterials[t]).relaxation = i.frictionRelaxation = e
}
(i = this.defaultContactMaterial).relaxation = i.frictionRelaxation = e
}
;
var u = new n
, d = [];
K.prototype.raycast = function(e, t) {
return t.getAABB(u),
this.broadphase.aabbQuery(this, u, d),
t.intersectBodies(e, d),
d.length = 0,
e.hasHit()
}
}
, {
"../../package.json": 6,
"../collision/AABB": 7,
"../collision/Broadphase": 8,
"../collision/Narrowphase": 10,
"../collision/Ray": 11,
"../collision/SAPBroadphase": 13,
"../constraints/Constraint": 14,
"../constraints/DistanceConstraint": 15,
"../constraints/GearConstraint": 16,
"../constraints/LockConstraint": 17,
"../constraints/PrismaticConstraint": 18,
"../constraints/RevoluteConstraint": 19,
"../events/EventEmitter": 26,
"../material/ContactMaterial": 27,
"../material/Material": 28,
"../math/vec2": 30,
"../objects/Body": 31,
"../objects/LinearSpring": 32,
"../objects/RotationalSpring": 33,
"../shapes/Capsule": 38,
"../shapes/Circle": 39,
"../shapes/Convex": 40,
"../shapes/Line": 42,
"../shapes/Particle": 43,
"../shapes/Plane": 44,
"../shapes/Shape": 45,
"../solver/GSSolver": 46,
"../solver/Solver": 47,
"../utils/OverlapKeeper": 52,
"../utils/Utils": 57,
"./IslandManager": 59
}]
}, {}, [36])(36)
}),
function() {
var e = this
, I = I || {};
return I.game = null,
I.WEBGL_RENDERER = 0,
I.CANVAS_RENDERER = 1,
I.VERSION = "v2.2.9",
I._UID = 0,
"undefined" != typeof Float32Array ? (I.Float32Array = Float32Array,
I.Uint16Array = Uint16Array,
I.Uint32Array = Uint32Array,
I.ArrayBuffer = ArrayBuffer) : (I.Float32Array = Array,
I.Uint16Array = Array),
I.PI_2 = 2 * Math.PI,
I.RAD_TO_DEG = 180 / Math.PI,
I.DEG_TO_RAD = Math.PI / 180,
I.RETINA_PREFIX = "@2x",
I.DisplayObject = function() {
this.position = new I.Point(0,0),
this.scale = new I.Point(1,1),
this.pivot = new I.Point(0,0),
this.rotation = 0,
this.alpha = 1,
this.visible = !0,
this.hitArea = null,
this.renderable = !1,
this.parent = null,
this.worldAlpha = 1,
this.worldTransform = new I.Matrix,
this.worldPosition = new I.Point(0,0),
this.worldScale = new I.Point(1,1),
this.worldRotation = 0,
this.filterArea = null,
this._sr = 0,
this._cr = 1,
this._bounds = new I.Rectangle(0,0,0,0),
this._currentBounds = null,
this._mask = null,
this._cacheAsBitmap = !1,
this._cacheIsDirty = !1
}
,
I.DisplayObject.prototype.constructor = I.DisplayObject,
I.DisplayObject.prototype = {
destroy: function() {
if (this.children) {
for (var e = this.children.length; e--; )
this.children[e].destroy();
this.children = []
}
this.hitArea = null,
this.parent = null,
this.worldTransform = null,
this.filterArea = null,
this.renderable = !1,
this._bounds = null,
this._currentBounds = null,
this._mask = null,
this._destroyCachedSprite()
},
updateTransform: function(e) {
if (!e && !this.parent && !this.game)
return this;
var t = this.parent;
e ? t = e : this.parent || (t = this.game.world);
var i, r, o, s, a, n, h = t.worldTransform, c = this.worldTransform;
return this.rotation % I.PI_2 ? (this.rotation !== this.rotationCache && (this.rotationCache = this.rotation,
this._sr = Math.sin(this.rotation),
this._cr = Math.cos(this.rotation)),
i = this._cr * this.scale.x,
r = this._sr * this.scale.x,
o = -this._sr * this.scale.y,
s = this._cr * this.scale.y,
a = this.position.x,
n = this.position.y,
(this.pivot.x || this.pivot.y) && (a -= this.pivot.x * i + this.pivot.y * o,
n -= this.pivot.x * r + this.pivot.y * s),
c.a = i * h.a + r * h.c,
c.b = i * h.b + r * h.d,
c.c = o * h.a + s * h.c,
c.d = o * h.b + s * h.d) : (i = this.scale.x,
s = this.scale.y,
a = this.position.x - this.pivot.x * i,
n = this.position.y - this.pivot.y * s,
c.a = i * h.a,
c.b = i * h.b,
c.c = s * h.c,
c.d = s * h.d),
c.tx = a * h.a + n * h.c + h.tx,
c.ty = a * h.b + n * h.d + h.ty,
this.worldAlpha = this.alpha * t.worldAlpha,
this.worldPosition.set(c.tx, c.ty),
this.worldScale.set(this.scale.x * Math.sqrt(c.a * c.a + c.c * c.c), this.scale.y * Math.sqrt(c.b * c.b + c.d * c.d)),
this.worldRotation = Math.atan2(-c.c, c.d),
this._currentBounds = null,
this.transformCallback && this.transformCallback.call(this.transformCallbackContext, c, h),
this
},
preUpdate: function() {},
generateTexture: function(e, t, i) {
var r = this.getLocalBounds()
, o = new I.RenderTexture(0 | r.width,0 | r.height,i,t,e);
return I.DisplayObject._tempMatrix.tx = -r.x,
I.DisplayObject._tempMatrix.ty = -r.y,
o.render(this, I.DisplayObject._tempMatrix),
o
},
updateCache: function() {
return this._generateCachedSprite(),
this
},
toGlobal: function(e) {
return this.updateTransform(),
this.worldTransform.apply(e)
},
toLocal: function(e, t) {
return t && (e = t.toGlobal(e)),
this.updateTransform(),
this.worldTransform.applyInverse(e)
},
_renderCachedSprite: function(e) {
this._cachedSprite.worldAlpha = this.worldAlpha,
e.gl ? I.Sprite.prototype._renderWebGL.call(this._cachedSprite, e) : I.Sprite.prototype._renderCanvas.call(this._cachedSprite, e)
},
_generateCachedSprite: function() {
this._cacheAsBitmap = !1;
var e = this.getLocalBounds();
if (e.width = Math.max(1, Math.ceil(e.width)),
e.height = Math.max(1, Math.ceil(e.height)),
this.updateTransform(),
this._cachedSprite)
this._cachedSprite.texture.resize(e.width, e.height);
else {
var t = new I.RenderTexture(e.width,e.height);
this._cachedSprite = new I.Sprite(t),
this._cachedSprite.worldTransform = this.worldTransform
}
var i = this._filters;
this._filters = null,
this._cachedSprite.filters = i,
I.DisplayObject._tempMatrix.tx = -e.x,
I.DisplayObject._tempMatrix.ty = -e.y,
this._cachedSprite.texture.render(this, I.DisplayObject._tempMatrix, !0),
this._cachedSprite.anchor.x = -e.x / e.width,
this._cachedSprite.anchor.y = -e.y / e.height,
this._filters = i,
this._cacheAsBitmap = !0
},
_destroyCachedSprite: function() {
this._cachedSprite && (this._cachedSprite.texture.destroy(!0),
this._cachedSprite = null)
}
},
I.DisplayObject.prototype.displayObjectUpdateTransform = I.DisplayObject.prototype.updateTransform,
Object.defineProperties(I.DisplayObject.prototype, {
x: {
get: function() {
return this.position.x
},
set: function(e) {
this.position.x = e
}
},
y: {
get: function() {
return this.position.y
},
set: function(e) {
this.position.y = e
}
},
worldVisible: {
get: function() {
if (this.visible) {
var e = this.parent;
if (!e)
return this.visible;
do {
if (!e.visible)
return !1;
e = e.parent
} while (e);
return !0
}
return !1
}
},
mask: {
get: function() {
return this._mask
},
set: function(e) {
this._mask && (this._mask.isMask = !1),
(this._mask = e) && (this._mask.isMask = !0)
}
},
filters: {
get: function() {
return this._filters
},
set: function(e) {
if (Array.isArray(e)) {
for (var t = [], i = 0; i < e.length; i++)
for (var r = e[i].passes, o = 0; o < r.length; o++)
t.push(r[o]);
this._filterBlock = {
target: this,
filterPasses: t
}
}
this._filters = e,
this.blendMode && this.blendMode === I.blendModes.MULTIPLY && (this.blendMode = I.blendModes.NORMAL)
}
},
cacheAsBitmap: {
get: function() {
return this._cacheAsBitmap
},
set: function(e) {
this._cacheAsBitmap !== e && (e ? this._generateCachedSprite() : this._destroyCachedSprite(),
this._cacheAsBitmap = e)
}
}
}),
I.DisplayObjectContainer = function() {
I.DisplayObject.call(this),
this.children = [],
this.ignoreChildInput = !1
}
,
I.DisplayObjectContainer.prototype = Object.create(I.DisplayObject.prototype),
I.DisplayObjectContainer.prototype.constructor = I.DisplayObjectContainer,
I.DisplayObjectContainer.prototype.addChild = function(e) {
return this.addChildAt(e, this.children.length)
}
,
I.DisplayObjectContainer.prototype.addChildAt = function(e, t) {
if (0 <= t && t <= this.children.length)
return e.parent && e.parent.removeChild(e),
(e.parent = this).children.splice(t, 0, e),
e;
throw new Error(e + "addChildAt: The index " + t + " supplied is out of bounds " + this.children.length)
}
,
I.DisplayObjectContainer.prototype.swapChildren = function(e, t) {
if (e !== t) {
var i = this.getChildIndex(e)
, r = this.getChildIndex(t);
if (i < 0 || r < 0)
throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");
this.children[i] = t,
this.children[r] = e
}
}
,
I.DisplayObjectContainer.prototype.getChildIndex = function(e) {
var t = this.children.indexOf(e);
if (-1 === t)
throw new Error("The supplied DisplayObject must be a child of the caller");
return t
}
,
I.DisplayObjectContainer.prototype.setChildIndex = function(e, t) {
if (t < 0 || t >= this.children.length)
throw new Error("The supplied index is out of bounds");
var i = this.getChildIndex(e);
this.children.splice(i, 1),
this.children.splice(t, 0, e)
}
,
I.DisplayObjectContainer.prototype.getChildAt = function(e) {
if (e < 0 || e >= this.children.length)
throw new Error("getChildAt: Supplied index " + e + " does not exist in the child list, or the supplied DisplayObject must be a child of the caller");
return this.children[e]
}
,
I.DisplayObjectContainer.prototype.removeChild = function(e) {
var t = this.children.indexOf(e);
if (-1 !== t)
return this.removeChildAt(t)
}
,
I.DisplayObjectContainer.prototype.removeChildAt = function(e) {
var t = this.getChildAt(e);
return t && (t.parent = void 0,
this.children.splice(e, 1)),
t
}
,
I.DisplayObjectContainer.prototype.removeChildren = function(e, t) {
void 0 === e && (e = 0),
void 0 === t && (t = this.children.length);
var i = t - e;
if (0 < i && i <= t) {
for (var r = this.children.splice(e, i), o = 0; o < r.length; o++) {
r[o].parent = void 0
}
return r
}
if (0 === i && 0 === this.children.length)
return [];
throw new Error("removeChildren: Range Error, numeric values are outside the acceptable range")
}
,
I.DisplayObjectContainer.prototype.updateTransform = function() {
if (this.visible && (this.displayObjectUpdateTransform(),
!this._cacheAsBitmap))
for (var e = 0; e < this.children.length; e++)
this.children[e].updateTransform()
}
,
I.DisplayObjectContainer.prototype.displayObjectContainerUpdateTransform = I.DisplayObjectContainer.prototype.updateTransform,
I.DisplayObjectContainer.prototype.getBounds = function(e) {
var t, i = e && e instanceof I.DisplayObject, r = !0;
if (i ? r = e instanceof I.DisplayObjectContainer && e.contains(this) : e = this,
i) {
var o = e.worldTransform;
for (e.worldTransform = I.identityMatrix,
t = 0; t < e.children.length; t++)
e.children[t].updateTransform()
}
var s, a, n, h = 1 / 0, c = 1 / 0, l = -1 / 0, m = -1 / 0, u = !1;
for (t = 0; t < this.children.length; t++) {
this.children[t].visible && (u = !0,
h = h < (s = this.children[t].getBounds()).x ? h : s.x,
c = c < s.y ? c : s.y,
l = (a = s.width + s.x) < l ? l : a,
m = (n = s.height + s.y) < m ? m : n)
}
var d = this._bounds;
if (!u) {
var p = (d = new I.Rectangle).x
, f = d.width + d.x
, y = d.y
, S = d.height + d.y
, w = this.worldTransform
, g = w.a
, x = w.b
, b = w.c
, v = w.d
, z = w.tx
, C = w.ty
, T = g * f + b * S + z
, P = v * S + x * f + C
, A = g * p + b * S + z
, _ = v * S + x * p + C
, B = g * p + b * y + z
, D = v * y + x * p + C
, k = g * f + b * y + z
, E = v * y + x * f + C;
h = k < (h = B < (h = A < (h = l = T) ? A : h) ? B : h) ? k : h,
c = E < (c = D < (c = _ < (c = m = P) ? _ : c) ? D : c) ? E : c,
l = (l = (l = l < A ? A : l) < B ? B : l) < k ? k : l,
m = (m = (m = m < _ ? _ : m) < D ? D : m) < E ? E : m
}
if (d.x = h,
d.y = c,
d.width = l - h,
d.height = m - c,
i)
for (e.worldTransform = o,
t = 0; t < e.children.length; t++)
e.children[t].updateTransform();
if (!r) {
var M = e.getBounds();
d.x -= M.x,
d.y -= M.y
}
return d
}
,
I.DisplayObjectContainer.prototype.getLocalBounds = function() {
return this.getBounds(this)
}
,
I.DisplayObjectContainer.prototype.contains = function(e) {
return !!e && (e === this || this.contains(e.parent))
}
,
I.DisplayObjectContainer.prototype._renderWebGL = function(e) {
var t;
if (this.visible && !(this.alpha <= 0))
if (this._cacheAsBitmap)
this._renderCachedSprite(e);
else if (this._mask || this._filters) {
for (this._filters && (e.spriteBatch.flush(),
e.filterManager.pushFilter(this._filterBlock)),
this._mask && (e.spriteBatch.stop(),
e.maskManager.pushMask(this.mask, e),
e.spriteBatch.start()),
t = 0; t < this.children.length; t++)
this.children[t]._renderWebGL(e);
e.spriteBatch.stop(),
this._mask && e.maskManager.popMask(this._mask, e),
this._filters && e.filterManager.popFilter(),
e.spriteBatch.start()
} else
for (t = 0; t < this.children.length; t++)
this.children[t]._renderWebGL(e)
}
,
I.DisplayObjectContainer.prototype._renderCanvas = function(e) {
if (!1 !== this.visible && 0 !== this.alpha)
if (this._cacheAsBitmap)
this._renderCachedSprite(e);
else {
this._mask && e.maskManager.pushMask(this._mask, e);
for (var t = 0; t < this.children.length; t++)
this.children[t]._renderCanvas(e);
this._mask && e.maskManager.popMask(e)
}
}
,
Object.defineProperty(I.DisplayObjectContainer.prototype, "width", {
get: function() {
return this.getLocalBounds().width * this.scale.x
},
set: function(e) {
var t = this.getLocalBounds().width;
this.scale.x = 0 !== t ? e / t : 1,
this._width = e
}
}),
Object.defineProperty(I.DisplayObjectContainer.prototype, "height", {
get: function() {
return this.getLocalBounds().height * this.scale.y
},
set: function(e) {
var t = this.getLocalBounds().height;
this.scale.y = 0 !== t ? e / t : 1,
this._height = e
}
}),
I.Sprite = function(e) {
I.DisplayObjectContainer.call(this),
this.anchor = new I.Point,
this.texture = e || I.Texture.emptyTexture,
this._width = 0,
this._height = 0,
this.tint = 16777215,
this.cachedTint = -1,
this.tintedTexture = null,
this.blendMode = I.blendModes.NORMAL,
this.shader = null,
this.exists = !0,
this.texture.baseTexture.hasLoaded && this.onTextureUpdate(),
this.renderable = !0
}
,
I.Sprite.prototype = Object.create(I.DisplayObjectContainer.prototype),
I.Sprite.prototype.constructor = I.Sprite,
Object.defineProperty(I.Sprite.prototype, "width", {
get: function() {
return this.scale.x * this.texture.frame.width
},
set: function(e) {
this.scale.x = e / this.texture.frame.width,
this._width = e
}
}),
Object.defineProperty(I.Sprite.prototype, "height", {
get: function() {
return this.scale.y * this.texture.frame.height
},
set: function(e) {
this.scale.y = e / this.texture.frame.height,
this._height = e
}
}),
I.Sprite.prototype.setTexture = function(e, t) {
void 0 !== t && this.texture.baseTexture.destroy(),
this.texture.baseTexture.skipRender = !1,
this.texture = e,
this.texture.valid = !0,
this.cachedTint = -1
}
,
I.Sprite.prototype.onTextureUpdate = function() {
this._width && (this.scale.x = this._width / this.texture.frame.width),
this._height && (this.scale.y = this._height / this.texture.frame.height)
}
,
I.Sprite.prototype.getBounds = function(e) {
var t = this.texture.frame.width
, i = this.texture.frame.height
, r = t * (1 - this.anchor.x)
, o = t * -this.anchor.x
, s = i * (1 - this.anchor.y)
, a = i * -this.anchor.y
, n = e || this.worldTransform
, h = n.a
, c = n.b
, l = n.c
, m = n.d
, u = n.tx
, d = n.ty
, p = -1 / 0
, f = -1 / 0
, y = 1 / 0
, S = 1 / 0;
if (0 === c && 0 === l) {
if (h < 0) {
h *= -1;
var w = r;
r = -o,
o = -w
}
if (m < 0) {
m *= -1;
w = s;
s = -a,
a = -w
}
y = h * o + u,
p = h * r + u,
S = m * a + d,
f = m * s + d
} else {
var g = h * o + l * a + u
, x = m * a + c * o + d
, b = h * r + l * a + u
, v = m * a + c * r + d
, z = h * r + l * s + u
, C = m * s + c * r + d
, T = h * o + l * s + u
, P = m * s + c * o + d;
y = T < (y = z < (y = b < (y = g < y ? g : y) ? b : y) ? z : y) ? T : y,
S = P < (S = C < (S = v < (S = x < S ? x : S) ? v : S) ? C : S) ? P : S,
p = (p = (p = (p = p < g ? g : p) < b ? b : p) < z ? z : p) < T ? T : p,
f = (f = (f = (f = f < x ? x : f) < v ? v : f) < C ? C : f) < P ? P : f
}
var A = this._bounds;
return A.x = y,
A.width = p - y,
A.y = S,
A.height = f - S,
this._currentBounds = A
}
,
I.Sprite.prototype.getLocalBounds = function() {
var e = this.worldTransform;
this.worldTransform = I.identityMatrix;
for (var t = 0; t < this.children.length; t++)
this.children[t].updateTransform();
var i = this.getBounds();
for (this.worldTransform = e,
t = 0; t < this.children.length; t++)
this.children[t].updateTransform();
return i
}
,
I.Sprite.prototype._renderWebGL = function(e, t) {
if (this.visible && !(this.alpha <= 0) && this.renderable) {
var i = this.worldTransform;
if (t && (i = t),
this._mask || this._filters) {
var r = e.spriteBatch;
this._filters && (r.flush(),
e.filterManager.pushFilter(this._filterBlock)),
this._mask && (r.stop(),
e.maskManager.pushMask(this.mask, e),
r.start()),
r.render(this);
for (var o = 0; o < this.children.length; o++)
this.children[o]._renderWebGL(e);
r.stop(),
this._mask && e.maskManager.popMask(this._mask, e),
this._filters && e.filterManager.popFilter(),
r.start()
} else {
e.spriteBatch.render(this);
for (o = 0; o < this.children.length; o++)
this.children[o]._renderWebGL(e, i)
}
}
}
,
I.Sprite.prototype._renderCanvas = function(e, t) {
if (!(!this.visible || 0 === this.alpha || !this.renderable || this.texture.crop.width <= 0 || this.texture.crop.height <= 0)) {
var i = this.worldTransform;
if (t && (i = t),
this.blendMode !== e.currentBlendMode && (e.currentBlendMode = this.blendMode,
e.context.globalCompositeOperation = I.blendModesCanvas[e.currentBlendMode]),
this._mask && e.maskManager.pushMask(this._mask, e),
this.texture.valid) {
var r = this.texture.baseTexture.resolution / e.resolution;
e.context.globalAlpha = this.worldAlpha,
e.smoothProperty && e.scaleMode !== this.texture.baseTexture.scaleMode && (e.scaleMode = this.texture.baseTexture.scaleMode,
e.context[e.smoothProperty] = e.scaleMode === I.scaleModes.LINEAR);
var o = this.texture.trim ? this.texture.trim.x - this.anchor.x * this.texture.trim.width : this.anchor.x * -this.texture.frame.width
, s = this.texture.trim ? this.texture.trim.y - this.anchor.y * this.texture.trim.height : this.anchor.y * -this.texture.frame.height
, a = i.tx * e.resolution + e.shakeX
, n = i.ty * e.resolution + e.shakeY;
e.roundPixels ? (e.context.setTransform(i.a, i.b, i.c, i.d, 0 | a, 0 | n),
o |= 0,
s |= 0) : e.context.setTransform(i.a, i.b, i.c, i.d, a, n);
var h = this.texture.crop.width
, c = this.texture.crop.height;
if (o /= r,
s /= r,
16777215 !== this.tint)
(this.texture.requiresReTint || this.cachedTint !== this.tint) && (this.tintedTexture = I.CanvasTinter.getTintedTexture(this, this.tint),
this.cachedTint = this.tint,
this.texture.requiresReTint = !1),
e.context.drawImage(this.tintedTexture, 0, 0, h, c, o, s, h / r, c / r);
else {
var l = this.texture.crop.x
, m = this.texture.crop.y;
e.context.drawImage(this.texture.baseTexture.source, l, m, h, c, o, s, h / r, c / r)
}
}
for (var u = 0; u < this.children.length; u++)
this.children[u]._renderCanvas(e);
this._mask && e.maskManager.popMask(e)
}
}
,
I.SpriteBatch = function(e) {
I.DisplayObjectContainer.call(this),
this.textureThing = e,
this.ready = !1
}
,
I.SpriteBatch.prototype = Object.create(I.DisplayObjectContainer.prototype),
I.SpriteBatch.prototype.constructor = I.SpriteBatch,
I.SpriteBatch.prototype.initWebGL = function(e) {
this.fastSpriteBatch = new I.WebGLFastSpriteBatch(e),
this.ready = !0
}
,
I.SpriteBatch.prototype.updateTransform = function() {
this.displayObjectUpdateTransform()
}
,
I.SpriteBatch.prototype._renderWebGL = function(e) {
!this.visible || this.alpha <= 0 || !this.children.length || (this.ready || this.initWebGL(e.gl),
this.fastSpriteBatch.gl !== e.gl && this.fastSpriteBatch.setContext(e.gl),
e.spriteBatch.stop(),
e.shaderManager.setShader(e.shaderManager.fastShader),
this.fastSpriteBatch.begin(this, e),
this.fastSpriteBatch.render(this),
e.spriteBatch.start())
}
,
I.SpriteBatch.prototype._renderCanvas = function(e) {
if (this.visible && !(this.alpha <= 0) && this.children.length) {
var t = e.context;
t.globalAlpha = this.worldAlpha,
this.displayObjectUpdateTransform();
for (var i = this.worldTransform, r = !0, o = 0; o < this.children.length; o++) {
var s = this.children[o];
if (s.visible) {
var a = s.texture
, n = a.frame;
if (t.globalAlpha = this.worldAlpha * s.alpha,
s.rotation % (2 * Math.PI) == 0)
r && (t.setTransform(i.a, i.b, i.c, i.d, i.tx, i.ty),
r = !1),
t.drawImage(a.baseTexture.source, n.x, n.y, n.width, n.height, s.anchor.x * (-n.width * s.scale.x) + s.position.x + .5 + e.shakeX | 0, s.anchor.y * (-n.height * s.scale.y) + s.position.y + .5 + e.shakeY | 0, n.width * s.scale.x, n.height * s.scale.y);
else {
r || (r = !0),
s.displayObjectUpdateTransform();
var h = s.worldTransform
, c = h.tx * e.resolution + e.shakeX
, l = h.ty * e.resolution + e.shakeY;
e.roundPixels ? t.setTransform(h.a, h.b, h.c, h.d, 0 | c, 0 | l) : t.setTransform(h.a, h.b, h.c, h.d, c, l),
t.drawImage(a.baseTexture.source, n.x, n.y, n.width, n.height, s.anchor.x * -n.width + .5 | 0, s.anchor.y * -n.height + .5 | 0, n.width, n.height)
}
}
}
}
}
,
I.hex2rgb = function(e) {
return [(e >> 16 & 255) / 255, (e >> 8 & 255) / 255, (255 & e) / 255]
}
,
I.rgb2hex = function(e) {
return (255 * e[0] << 16) + (255 * e[1] << 8) + 255 * e[2]
}
,
I.canUseNewCanvasBlendModes = function() {
if (void 0 === document)
return !1;
var e = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/"
, t = "AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg=="
, i = new Image;
i.src = e + "AP804Oa6" + t;
var r = new Image;
r.src = e + "/wCKxvRF" + t;
var o = I.CanvasPool.create(this, 6, 1).getContext("2d");
if (o.globalCompositeOperation = "multiply",
o.drawImage(i, 0, 0),
o.drawImage(r, 2, 0),
!o.getImageData(2, 0, 1, 1))
return !1;
var s = o.getImageData(2, 0, 1, 1).data;
return I.CanvasPool.remove(this),
255 === s[0] && 0 === s[1] && 0 === s[2]
}
,
I.getNextPowerOfTwo = function(e) {
if (0 < e && 0 == (e & e - 1))
return e;
for (var t = 1; t < e; )
t <<= 1;
return t
}
,
I.isPowerOfTwo = function(e, t) {
return 0 < e && 0 == (e & e - 1) && 0 < t && 0 == (t & t - 1)
}
,
I.CanvasPool = {
create: function(e, t, i) {
var r, o = I.CanvasPool.getFirst();
if (-1 === o) {
var s = {
parent: e,
canvas: document.createElement("canvas")
};
I.CanvasPool.pool.push(s),
r = s.canvas
} else
I.CanvasPool.pool[o].parent = e,
r = I.CanvasPool.pool[o].canvas;
return void 0 !== t && (r.width = t,
r.height = i),
r
},
getFirst: function() {
for (var e = I.CanvasPool.pool, t = 0; t < e.length; t++)
if (!e[t].parent)
return t;
return -1
},
remove: function(e) {
for (var t = I.CanvasPool.pool, i = 0; i < t.length; i++)
t[i].parent === e && (t[i].parent = null,
t[i].canvas.width = 1,
t[i].canvas.height = 1)
},
removeByCanvas: function(e) {
for (var t = I.CanvasPool.pool, i = 0; i < t.length; i++)
t[i].canvas === e && (t[i].parent = null,
t[i].canvas.width = 1,
t[i].canvas.height = 1)
},
getTotal: function() {
for (var e = I.CanvasPool.pool, t = 0, i = 0; i < e.length; i++)
e[i].parent && t++;
return t
},
getFree: function() {
for (var e = I.CanvasPool.pool, t = 0, i = 0; i < e.length; i++)
e[i].parent || t++;
return t
}
},
I.CanvasPool.pool = [],
I.initDefaultShaders = function() {}
,
I.CompileVertexShader = function(e, t) {
return I._CompileShader(e, t, e.VERTEX_SHADER)
}
,
I.CompileFragmentShader = function(e, t) {
return I._CompileShader(e, t, e.FRAGMENT_SHADER)
}
,
I._CompileShader = function(e, t, i) {
var r = t;
Array.isArray(t) && (r = t.join("\n"));
var o = e.createShader(i);
return e.shaderSource(o, r),
e.compileShader(o),
e.getShaderParameter(o, e.COMPILE_STATUS) ? o : (window.console.log(e.getShaderInfoLog(o)),
null)
}
,
I.compileProgram = function(e, t, i) {
var r = I.CompileFragmentShader(e, i)
, o = I.CompileVertexShader(e, t)
, s = e.createProgram();
return e.attachShader(s, o),
e.attachShader(s, r),
e.linkProgram(s),
e.getProgramParameter(s, e.LINK_STATUS) || (window.console.log(e.getProgramInfoLog(s)),
window.console.log("Could not initialise shaders")),
s
}
,
I.PixiShader = function(e) {
this._UID = I._UID++,
this.gl = e,
this.program = null,
this.fragmentSrc = ["precision lowp float;", "varying vec2 vTextureCoord;", "varying vec4 vColor;", "uniform sampler2D uSampler;", "void main(void) {", " gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;", "}"],
this.textureCount = 0,
this.firstRun = !0,
this.dirty = !0,
this.attributes = [],
this.init()
}
,
I.PixiShader.prototype.constructor = I.PixiShader,
I.PixiShader.prototype.init = function() {
var e = this.gl
, t = I.compileProgram(e, this.vertexSrc || I.PixiShader.defaultVertexSrc, this.fragmentSrc);
for (var i in e.useProgram(t),
this.uSampler = e.getUniformLocation(t, "uSampler"),
this.projectionVector = e.getUniformLocation(t, "projectionVector"),
this.offsetVector = e.getUniformLocation(t, "offsetVector"),
this.dimensions = e.getUniformLocation(t, "dimensions"),
this.aVertexPosition = e.getAttribLocation(t, "aVertexPosition"),
this.aTextureCoord = e.getAttribLocation(t, "aTextureCoord"),
this.colorAttribute = e.getAttribLocation(t, "aColor"),
-1 === this.colorAttribute && (this.colorAttribute = 2),
this.attributes = [this.aVertexPosition, this.aTextureCoord, this.colorAttribute],
this.uniforms)
this.uniforms[i].uniformLocation = e.getUniformLocation(t, i);
this.initUniforms(),
this.program = t
}
,
I.PixiShader.prototype.initUniforms = function() {
this.textureCount = 1;
var e, t = this.gl;
for (var i in this.uniforms) {
var r = (e = this.uniforms[i]).type;
"sampler2D" === r ? (e._init = !1,
null !== e.value && this.initSampler2D(e)) : "mat2" === r || "mat3" === r || "mat4" === r ? (e.glMatrix = !0,
e.glValueLength = 1,
"mat2" === r ? e.glFunc = t.uniformMatrix2fv : "mat3" === r ? e.glFunc = t.uniformMatrix3fv : "mat4" === r && (e.glFunc = t.uniformMatrix4fv)) : (e.glFunc = t["uniform" + r],
e.glValueLength = "2f" === r || "2i" === r ? 2 : "3f" === r || "3i" === r ? 3 : "4f" === r || "4i" === r ? 4 : 1)
}
}
,
I.PixiShader.prototype.initSampler2D = function(e) {
if (e.value && e.value.baseTexture && e.value.baseTexture.hasLoaded) {
var t = this.gl;
if (t.activeTexture(t["TEXTURE" + this.textureCount]),
t.bindTexture(t.TEXTURE_2D, e.value.baseTexture._glTextures[t.id]),
e.textureData) {
var i = e.textureData
, r = i.magFilter ? i.magFilter : t.LINEAR
, o = i.minFilter ? i.minFilter : t.LINEAR
, s = i.wrapS ? i.wrapS : t.CLAMP_TO_EDGE
, a = i.wrapT ? i.wrapT : t.CLAMP_TO_EDGE
, n = i.luminance ? t.LUMINANCE : t.RGBA;
if (i.repeat && (s = t.REPEAT,
a = t.REPEAT),
t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL, !!i.flipY),
i.width) {
var h = i.width ? i.width : 512
, c = i.height ? i.height : 2
, l = i.border ? i.border : 0;
t.texImage2D(t.TEXTURE_2D, 0, n, h, c, l, n, t.UNSIGNED_BYTE, null)
} else
t.texImage2D(t.TEXTURE_2D, 0, n, t.RGBA, t.UNSIGNED_BYTE, e.value.baseTexture.source);
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, r),
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, o),
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, s),
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, a)
}
t.uniform1i(e.uniformLocation, this.textureCount),
e._init = !0,
this.textureCount++
}
}
,
I.PixiShader.prototype.syncUniforms = function() {
var e;
this.textureCount = 1;
var t = this.gl;
for (var i in this.uniforms)
1 === (e = this.uniforms[i]).glValueLength ? !0 === e.glMatrix ? e.glFunc.call(t, e.uniformLocation, e.transpose, e.value) : e.glFunc.call(t, e.uniformLocation, e.value) : 2 === e.glValueLength ? e.glFunc.call(t, e.uniformLocation, e.value.x, e.value.y) : 3 === e.glValueLength ? e.glFunc.call(t, e.uniformLocation, e.value.x, e.value.y, e.value.z) : 4 === e.glValueLength ? e.glFunc.call(t, e.uniformLocation, e.value.x, e.value.y, e.value.z, e.value.w) : "sampler2D" === e.type && (e._init ? (t.activeTexture(t["TEXTURE" + this.textureCount]),
e.value.baseTexture._dirty[t.id] ? I.instances[t.id].updateTexture(e.value.baseTexture) : t.bindTexture(t.TEXTURE_2D, e.value.baseTexture._glTextures[t.id]),
t.uniform1i(e.uniformLocation, this.textureCount),
this.textureCount++) : this.initSampler2D(e))
}
,
I.PixiShader.prototype.destroy = function() {
this.gl.deleteProgram(this.program),
this.uniforms = null,
this.gl = null,
this.attributes = null
}
,
I.PixiShader.defaultVertexSrc = ["attribute vec2 aVertexPosition;", "attribute vec2 aTextureCoord;", "attribute vec4 aColor;", "uniform vec2 projectionVector;", "uniform vec2 offsetVector;", "varying vec2 vTextureCoord;", "varying vec4 vColor;", "const vec2 center = vec2(-1.0, 1.0);", "void main(void) {", " gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);", " vTextureCoord = aTextureCoord;", " vColor = vec4(aColor.rgb * aColor.a, aColor.a);", "}"],
I.PixiFastShader = function(e) {
this._UID = I._UID++,
this.gl = e,
this.program = null,
this.fragmentSrc = ["precision lowp float;", "varying vec2 vTextureCoord;", "varying float vColor;", "uniform sampler2D uSampler;", "void main(void) {", " gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;", "}"],
this.vertexSrc = ["attribute vec2 aVertexPosition;", "attribute vec2 aPositionCoord;", "attribute vec2 aScale;", "attribute float aRotation;", "attribute vec2 aTextureCoord;", "attribute float aColor;", "uniform vec2 projectionVector;", "uniform vec2 offsetVector;", "uniform mat3 uMatrix;", "varying vec2 vTextureCoord;", "varying float vColor;", "const vec2 center = vec2(-1.0, 1.0);", "void main(void) {", " vec2 v;", " vec2 sv = aVertexPosition * aScale;", " v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);", " v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);", " v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;", " gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);", " vTextureCoord = aTextureCoord;", " vColor = aColor;", "}"],
this.textureCount = 0,
this.init()
}
,
I.PixiFastShader.prototype.constructor = I.PixiFastShader,
I.PixiFastShader.prototype.init = function() {
var e = this.gl
, t = I.compileProgram(e, this.vertexSrc, this.fragmentSrc);
e.useProgram(t),
this.uSampler = e.getUniformLocation(t, "uSampler"),
this.projectionVector = e.getUniformLocation(t, "projectionVector"),
this.offsetVector = e.getUniformLocation(t, "offsetVector"),
this.dimensions = e.getUniformLocation(t, "dimensions"),
this.uMatrix = e.getUniformLocation(t, "uMatrix"),
this.aVertexPosition = e.getAttribLocation(t, "aVertexPosition"),
this.aPositionCoord = e.getAttribLocation(t, "aPositionCoord"),
this.aScale = e.getAttribLocation(t, "aScale"),
this.aRotation = e.getAttribLocation(t, "aRotation"),
this.aTextureCoord = e.getAttribLocation(t, "aTextureCoord"),
this.colorAttribute = e.getAttribLocation(t, "aColor"),
-1 === this.colorAttribute && (this.colorAttribute = 2),
this.attributes = [this.aVertexPosition, this.aPositionCoord, this.aScale, this.aRotation, this.aTextureCoord, this.colorAttribute],
this.program = t
}
,
I.PixiFastShader.prototype.destroy = function() {
this.gl.deleteProgram(this.program),
this.uniforms = null,
this.gl = null,
this.attributes = null
}
,
I.StripShader = function(e) {
this._UID = I._UID++,
this.gl = e,
this.program = null,
this.fragmentSrc = ["precision mediump float;", "varying vec2 vTextureCoord;", "uniform float alpha;", "uniform sampler2D uSampler;", "void main(void) {", " gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * alpha;", "}"],
this.vertexSrc = ["attribute vec2 aVertexPosition;", "attribute vec2 aTextureCoord;", "uniform mat3 translationMatrix;", "uniform vec2 projectionVector;", "uniform vec2 offsetVector;", "varying vec2 vTextureCoord;", "void main(void) {", " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);", " v -= offsetVector.xyx;", " gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);", " vTextureCoord = aTextureCoord;", "}"],
this.init()
}
,
I.StripShader.prototype.constructor = I.StripShader,
I.StripShader.prototype.init = function() {
var e = this.gl
, t = I.compileProgram(e, this.vertexSrc, this.fragmentSrc);
e.useProgram(t),
this.uSampler = e.getUniformLocation(t, "uSampler"),
this.projectionVector = e.getUniformLocation(t, "projectionVector"),
this.offsetVector = e.getUniformLocation(t, "offsetVector"),
this.colorAttribute = e.getAttribLocation(t, "aColor"),
this.aVertexPosition = e.getAttribLocation(t, "aVertexPosition"),
this.aTextureCoord = e.getAttribLocation(t, "aTextureCoord"),
this.attributes = [this.aVertexPosition, this.aTextureCoord],
this.translationMatrix = e.getUniformLocation(t, "translationMatrix"),
this.alpha = e.getUniformLocation(t, "alpha"),
this.program = t
}
,
I.StripShader.prototype.destroy = function() {
this.gl.deleteProgram(this.program),
this.uniforms = null,
this.gl = null,
this.attribute = null
}
,
I.PrimitiveShader = function(e) {
this._UID = I._UID++,
this.gl = e,
this.program = null,
this.fragmentSrc = ["precision mediump float;", "varying vec4 vColor;", "void main(void) {", " gl_FragColor = vColor;", "}"],
this.vertexSrc = ["attribute vec2 aVertexPosition;", "attribute vec4 aColor;", "uniform mat3 translationMatrix;", "uniform vec2 projectionVector;", "uniform vec2 offsetVector;", "uniform float alpha;", "uniform float flipY;", "uniform vec3 tint;", "varying vec4 vColor;", "void main(void) {", " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);", " v -= offsetVector.xyx;", " gl_Position = vec4( v.x / projectionVector.x -1.0, (v.y / projectionVector.y * -flipY) + flipY , 0.0, 1.0);", " vColor = aColor * vec4(tint * alpha, alpha);", "}"],
this.init()
}
,
I.PrimitiveShader.prototype.constructor = I.PrimitiveShader,
I.PrimitiveShader.prototype.init = function() {
var e = this.gl
, t = I.compileProgram(e, this.vertexSrc, this.fragmentSrc);
e.useProgram(t),
this.projectionVector = e.getUniformLocation(t, "projectionVector"),
this.offsetVector = e.getUniformLocation(t, "offsetVector"),
this.tintColor = e.getUniformLocation(t, "tint"),
this.flipY = e.getUniformLocation(t, "flipY"),
this.aVertexPosition = e.getAttribLocation(t, "aVertexPosition"),
this.colorAttribute = e.getAttribLocation(t, "aColor"),
this.attributes = [this.aVertexPosition, this.colorAttribute],
this.translationMatrix = e.getUniformLocation(t, "translationMatrix"),
this.alpha = e.getUniformLocation(t, "alpha"),
this.program = t
}
,
I.PrimitiveShader.prototype.destroy = function() {
this.gl.deleteProgram(this.program),
this.uniforms = null,
this.gl = null,
this.attributes = null
}
,
I.ComplexPrimitiveShader = function(e) {
this._UID = I._UID++,
this.gl = e,
this.program = null,
this.fragmentSrc = ["precision mediump float;", "varying vec4 vColor;", "void main(void) {", " gl_FragColor = vColor;", "}"],
this.vertexSrc = ["attribute vec2 aVertexPosition;", "uniform mat3 translationMatrix;", "uniform vec2 projectionVector;", "uniform vec2 offsetVector;", "uniform vec3 tint;", "uniform float alpha;", "uniform vec3 color;", "uniform float flipY;", "varying vec4 vColor;", "void main(void) {", " vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);", " v -= offsetVector.xyx;", " gl_Position = vec4( v.x / projectionVector.x -1.0, (v.y / projectionVector.y * -flipY) + flipY , 0.0, 1.0);", " vColor = vec4(color * alpha * tint, alpha);", "}"],
this.init()
}
,
I.ComplexPrimitiveShader.prototype.constructor = I.ComplexPrimitiveShader,
I.ComplexPrimitiveShader.prototype.init = function() {
var e = this.gl
, t = I.compileProgram(e, this.vertexSrc, this.fragmentSrc);
e.useProgram(t),
this.projectionVector = e.getUniformLocation(t, "projectionVector"),
this.offsetVector = e.getUniformLocation(t, "offsetVector"),
this.tintColor = e.getUniformLocation(t, "tint"),
this.color = e.getUniformLocation(t, "color"),
this.flipY = e.getUniformLocation(t, "flipY"),
this.aVertexPosition = e.getAttribLocation(t, "aVertexPosition"),
this.attributes = [this.aVertexPosition, this.colorAttribute],
this.translationMatrix = e.getUniformLocation(t, "translationMatrix"),
this.alpha = e.getUniformLocation(t, "alpha"),
this.program = t
}
,
I.ComplexPrimitiveShader.prototype.destroy = function() {
this.gl.deleteProgram(this.program),
this.uniforms = null,
this.gl = null,
this.attribute = null
}
,
I.glContexts = [],
I.instances = [],
I.WebGLRenderer = function(e) {
this.game = e,
I.defaultRenderer || (I.defaultRenderer = this),
this.type = I.WEBGL_RENDERER,
this.resolution = e.resolution,
this.transparent = e.transparent,
this.autoResize = !1,
this.preserveDrawingBuffer = e.preserveDrawingBuffer,
this.clearBeforeRender = e.clearBeforeRender,
this.width = e.width,
this.height = e.height,
this.view = e.canvas,
this._contextOptions = {
alpha: this.transparent,
antialias: e.antialias,
premultipliedAlpha: this.transparent && "notMultiplied" !== this.transparent,
stencil: !0,
preserveDrawingBuffer: this.preserveDrawingBuffer
},
this.projection = new I.Point,
this.offset = new I.Point,
this.shaderManager = new I.WebGLShaderManager,
this.spriteBatch = new I.WebGLSpriteBatch,
this.maskManager = new I.WebGLMaskManager,
this.filterManager = new I.WebGLFilterManager,
this.stencilManager = new I.WebGLStencilManager,
this.blendModeManager = new I.WebGLBlendModeManager,
this.renderSession = {},
this.renderSession.game = this.game,
this.renderSession.gl = this.gl,
this.renderSession.drawCount = 0,
this.renderSession.shaderManager = this.shaderManager,
this.renderSession.maskManager = this.maskManager,
this.renderSession.filterManager = this.filterManager,
this.renderSession.blendModeManager = this.blendModeManager,
this.renderSession.spriteBatch = this.spriteBatch,
this.renderSession.stencilManager = this.stencilManager,
(this.renderSession.renderer = this).renderSession.resolution = this.resolution,
this.initContext(),
this.mapBlendModes()
}
,
I.WebGLRenderer.prototype.constructor = I.WebGLRenderer,
I.WebGLRenderer.prototype.initContext = function() {
var e = this.view.getContext("webgl", this._contextOptions) || this.view.getContext("experimental-webgl", this._contextOptions);
if (!(this.gl = e))
throw new Error("This browser does not support webGL. Try using the canvas renderer");
this.glContextId = e.id = I.WebGLRenderer.glContextId++,
I.glContexts[this.glContextId] = e,
I.instances[this.glContextId] = this,
e.disable(e.DEPTH_TEST),
e.disable(e.CULL_FACE),
e.enable(e.BLEND),
this.shaderManager.setContext(e),
this.spriteBatch.setContext(e),
this.maskManager.setContext(e),
this.filterManager.setContext(e),
this.blendModeManager.setContext(e),
this.stencilManager.setContext(e),
this.renderSession.gl = this.gl,
this.resize(this.width, this.height)
}
,
I.WebGLRenderer.prototype.render = function(e) {
if (!this.contextLost) {
var t = this.gl;
t.viewport(0, 0, this.width, this.height),
t.bindFramebuffer(t.FRAMEBUFFER, null),
this.game.clearBeforeRender && (t.clearColor(e._bgColor.r, e._bgColor.g, e._bgColor.b, e._bgColor.a),
t.clear(t.COLOR_BUFFER_BIT)),
this.offset.x = this.game.camera._shake.x,
this.offset.y = this.game.camera._shake.y,
this.renderDisplayObject(e, this.projection)
}
}
,
I.WebGLRenderer.prototype.renderDisplayObject = function(e, t, i, r) {
this.renderSession.blendModeManager.setBlendMode(I.blendModes.NORMAL),
this.renderSession.drawCount = 0,
this.renderSession.flipY = i ? -1 : 1,
this.renderSession.projection = t,
this.renderSession.offset = this.offset,
this.spriteBatch.begin(this.renderSession),
this.filterManager.begin(this.renderSession, i),
e._renderWebGL(this.renderSession, r),
this.spriteBatch.end()
}
,
I.WebGLRenderer.prototype.resize = function(e, t) {
this.width = e * this.resolution,
this.height = t * this.resolution,
this.view.width = this.width,
this.view.height = this.height,
this.autoResize && (this.view.style.width = this.width / this.resolution + "px",
this.view.style.height = this.height / this.resolution + "px"),
this.gl.viewport(0, 0, this.width, this.height),
this.projection.x = this.width / 2 / this.resolution,
this.projection.y = -this.height / 2 / this.resolution
}
,
I.WebGLRenderer.prototype.updateTexture = function(e) {
if (!e.hasLoaded)
return !1;
var t = this.gl;
return e._glTextures[t.id] || (e._glTextures[t.id] = t.createTexture()),
t.bindTexture(t.TEXTURE_2D, e._glTextures[t.id]),
t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL, e.premultipliedAlpha),
t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, e.source),
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, e.scaleMode === I.scaleModes.LINEAR ? t.LINEAR : t.NEAREST),
e.mipmap && I.isPowerOfTwo(e.width, e.height) ? (t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, e.scaleMode === I.scaleModes.LINEAR ? t.LINEAR_MIPMAP_LINEAR : t.NEAREST_MIPMAP_NEAREST),
t.generateMipmap(t.TEXTURE_2D)) : t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, e.scaleMode === I.scaleModes.LINEAR ? t.LINEAR : t.NEAREST),
e._powerOf2 ? (t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.REPEAT),
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.REPEAT)) : (t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE),
t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE)),
!(e._dirty[t.id] = !1)
}
,
I.WebGLRenderer.prototype.destroy = function() {
I.glContexts[this.glContextId] = null,
this.projection = null,
this.offset = null,
this.shaderManager.destroy(),
this.spriteBatch.destroy(),
this.maskManager.destroy(),
this.filterManager.destroy(),
this.shaderManager = null,
this.spriteBatch = null,
this.maskManager = null,
this.filterManager = null,
this.gl = null,
this.renderSession = null,
I.CanvasPool.remove(this),
I.instances[this.glContextId] = null,
I.WebGLRenderer.glContextId--
}
,
I.WebGLRenderer.prototype.mapBlendModes = function() {
var e = this.gl;
if (!I.blendModesWebGL) {
var t = []
, i = I.blendModes;
t[i.NORMAL] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.ADD] = [e.SRC_ALPHA, e.DST_ALPHA],
t[i.MULTIPLY] = [e.DST_COLOR, e.ONE_MINUS_SRC_ALPHA],
t[i.SCREEN] = [e.SRC_ALPHA, e.ONE],
t[i.OVERLAY] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.DARKEN] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.LIGHTEN] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.COLOR_DODGE] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.COLOR_BURN] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.HARD_LIGHT] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.SOFT_LIGHT] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.DIFFERENCE] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.EXCLUSION] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.HUE] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.SATURATION] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.COLOR] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
t[i.LUMINOSITY] = [e.ONE, e.ONE_MINUS_SRC_ALPHA],
I.blendModesWebGL = t
}
}
,
I.WebGLRenderer.glContextId = 0,
I.WebGLBlendModeManager = function() {
this.currentBlendMode = 99999
}
,
I.WebGLBlendModeManager.prototype.constructor = I.WebGLBlendModeManager,
I.WebGLBlendModeManager.prototype.setContext = function(e) {
this.gl = e
}
,
I.WebGLBlendModeManager.prototype.setBlendMode = function(e) {
if (this.currentBlendMode === e)
return !1;
this.currentBlendMode = e;
var t = I.blendModesWebGL[this.currentBlendMode];
return t && this.gl.blendFunc(t[0], t[1]),
!0
}
,
I.WebGLBlendModeManager.prototype.destroy = function() {
this.gl = null
}
,
I.WebGLMaskManager = function() {}
,
I.WebGLMaskManager.prototype.constructor = I.WebGLMaskManager,
I.WebGLMaskManager.prototype.setContext = function(e) {
this.gl = e
}
,
I.WebGLMaskManager.prototype.pushMask = function(e, t) {
var i = t.gl;
e.dirty && I.WebGLGraphics.updateGraphics(e, i),
void 0 !== e._webGL[i.id] && void 0 !== e._webGL[i.id].data && 0 !== e._webGL[i.id].data.length && t.stencilManager.pushStencil(e, e._webGL[i.id].data[0], t)
}
,
I.WebGLMaskManager.prototype.popMask = function(e, t) {
var i = this.gl;
void 0 !== e._webGL[i.id] && void 0 !== e._webGL[i.id].data && 0 !== e._webGL[i.id].data.length && t.stencilManager.popStencil(e, e._webGL[i.id].data[0], t)
}
,
I.WebGLMaskManager.prototype.destroy = function() {
this.gl = null
}
,
I.WebGLStencilManager = function() {
this.stencilStack = [],
this.reverse = !0,
this.count = 0
}
,
I.WebGLStencilManager.prototype.setContext = function(e) {
this.gl = e
}
,
I.WebGLStencilManager.prototype.pushStencil = function(e, t, i) {
var r = this.gl;
this.bindGraphics(e, t, i),
0 === this.stencilStack.length && (r.enable(r.STENCIL_TEST),
r.clear(r.STENCIL_BUFFER_BIT),
this.reverse = !0,
this.count = 0),
this.stencilStack.push(t);
var o = this.count;
r.colorMask(!1, !1, !1, !1),
r.stencilFunc(r.ALWAYS, 0, 255),
r.stencilOp(r.KEEP, r.KEEP, r.INVERT),
1 === t.mode ? (r.drawElements(r.TRIANGLE_FAN, t.indices.length - 4, r.UNSIGNED_SHORT, 0),
this.reverse ? (r.stencilFunc(r.EQUAL, 255 - o, 255),
r.stencilOp(r.KEEP, r.KEEP, r.DECR)) : (r.stencilFunc(r.EQUAL, o, 255),
r.stencilOp(r.KEEP, r.KEEP, r.INCR)),
r.drawElements(r.TRIANGLE_FAN, 4, r.UNSIGNED_SHORT, 2 * (t.indices.length - 4)),
this.reverse ? r.stencilFunc(r.EQUAL, 255 - (o + 1), 255) : r.stencilFunc(r.EQUAL, o + 1, 255),
this.reverse = !this.reverse) : (this.reverse ? (r.stencilFunc(r.EQUAL, o, 255),
r.stencilOp(r.KEEP, r.KEEP, r.INCR)) : (r.stencilFunc(r.EQUAL, 255 - o, 255),
r.stencilOp(r.KEEP, r.KEEP, r.DECR)),
r.drawElements(r.TRIANGLE_STRIP, t.indices.length, r.UNSIGNED_SHORT, 0),
this.reverse ? r.stencilFunc(r.EQUAL, o + 1, 255) : r.stencilFunc(r.EQUAL, 255 - (o + 1), 255)),
r.colorMask(!0, !0, !0, !0),
r.stencilOp(r.KEEP, r.KEEP, r.KEEP),
this.count++
}
,
I.WebGLStencilManager.prototype.bindGraphics = function(e, t, i) {
this._currentGraphics = e;
var r, o = this.gl, s = i.projection, a = i.offset;
1 === t.mode ? (r = i.shaderManager.complexPrimitiveShader,
i.shaderManager.setShader(r),
o.uniform1f(r.flipY, i.flipY),
o.uniformMatrix3fv(r.translationMatrix, !1, e.worldTransform.toArray(!0)),
o.uniform2f(r.projectionVector, s.x, -s.y),
o.uniform2f(r.offsetVector, -a.x, -a.y),
o.uniform3fv(r.tintColor, I.hex2rgb(e.tint)),
o.uniform3fv(r.color, t.color),
o.uniform1f(r.alpha, e.worldAlpha * t.alpha),
o.bindBuffer(o.ARRAY_BUFFER, t.buffer),
o.vertexAttribPointer(r.aVertexPosition, 2, o.FLOAT, !1, 8, 0)) : (r = i.shaderManager.primitiveShader,
i.shaderManager.setShader(r),
o.uniformMatrix3fv(r.translationMatrix, !1, e.worldTransform.toArray(!0)),
o.uniform1f(r.flipY, i.flipY),
o.uniform2f(r.projectionVector, s.x, -s.y),
o.uniform2f(r.offsetVector, -a.x, -a.y),
o.uniform3fv(r.tintColor, I.hex2rgb(e.tint)),
o.uniform1f(r.alpha, e.worldAlpha),
o.bindBuffer(o.ARRAY_BUFFER, t.buffer),
o.vertexAttribPointer(r.aVertexPosition, 2, o.FLOAT, !1, 24, 0),
o.vertexAttribPointer(r.colorAttribute, 4, o.FLOAT, !1, 24, 8)),
o.bindBuffer(o.ELEMENT_ARRAY_BUFFER, t.indexBuffer)
}
,
I.WebGLStencilManager.prototype.popStencil = function(e, t, i) {
var r = this.gl;
if (this.stencilStack.pop(),
this.count--,
0 === this.stencilStack.length)
r.disable(r.STENCIL_TEST);
else {
var o = this.count;
this.bindGraphics(e, t, i),
r.colorMask(!1, !1, !1, !1),
1 === t.mode ? (this.reverse = !this.reverse,
this.reverse ? (r.stencilFunc(r.EQUAL, 255 - (o + 1), 255),
r.stencilOp(r.KEEP, r.KEEP, r.INCR)) : (r.stencilFunc(r.EQUAL, o + 1, 255),
r.stencilOp(r.KEEP, r.KEEP, r.DECR)),
r.drawElements(r.TRIANGLE_FAN, 4, r.UNSIGNED_SHORT, 2 * (t.indices.length - 4)),
r.stencilFunc(r.ALWAYS, 0, 255),
r.stencilOp(r.KEEP, r.KEEP, r.INVERT),
r.drawElements(r.TRIANGLE_FAN, t.indices.length - 4, r.UNSIGNED_SHORT, 0)) : (this.reverse ? (r.stencilFunc(r.EQUAL, o + 1, 255),
r.stencilOp(r.KEEP, r.KEEP, r.DECR)) : (r.stencilFunc(r.EQUAL, 255 - (o + 1), 255),
r.stencilOp(r.KEEP, r.KEEP, r.INCR)),
r.drawElements(r.TRIANGLE_STRIP, t.indices.length, r.UNSIGNED_SHORT, 0)),
this.reverse ? r.stencilFunc(r.EQUAL, o, 255) : r.stencilFunc(r.EQUAL, 255 - o, 255),
r.colorMask(!0, !0, !0, !0),
r.stencilOp(r.KEEP, r.KEEP, r.KEEP)
}
}
,
I.WebGLStencilManager.prototype.destroy = function() {
this.stencilStack = null,
this.gl = null
}
,
I.WebGLShaderManager = function() {
this.maxAttibs = 10,
this.attribState = [],
this.tempAttribState = [];
for (var e = 0; e < this.maxAttibs; e++)
this.attribState[e] = !1;
this.stack = []
}
,
I.WebGLShaderManager.prototype.constructor = I.WebGLShaderManager,
I.WebGLShaderManager.prototype.setContext = function(e) {
this.gl = e,
this.primitiveShader = new I.PrimitiveShader(e),
this.complexPrimitiveShader = new I.ComplexPrimitiveShader(e),
this.defaultShader = new I.PixiShader(e),
this.fastShader = new I.PixiFastShader(e),
this.stripShader = new I.StripShader(e),
this.setShader(this.defaultShader)
}
,
I.WebGLShaderManager.prototype.setAttribs = function(e) {
var t;
for (t = 0; t < this.tempAttribState.length; t++)
this.tempAttribState[t] = !1;
for (t = 0; t < e.length; t++) {
var i = e[t];
this.tempAttribState[i] = !0
}
var r = this.gl;
for (t = 0; t < this.attribState.length; t++)
this.attribState[t] !== this.tempAttribState[t] && (this.attribState[t] = this.tempAttribState[t],
this.tempAttribState[t] ? r.enableVertexAttribArray(t) : r.disableVertexAttribArray(t))
}
,
I.WebGLShaderManager.prototype.setShader = function(e) {
return this._currentId !== e._UID && (this._currentId = e._UID,
this.currentShader = e,
this.gl.useProgram(e.program),
this.setAttribs(e.attributes),
!0)
}
,
I.WebGLShaderManager.prototype.destroy = function() {
this.attribState = null,
this.tempAttribState = null,
this.primitiveShader.destroy(),
this.complexPrimitiveShader.destroy(),
this.defaultShader.destroy(),
this.fastShader.destroy(),
this.stripShader.destroy(),
this.gl = null
}
,
I.WebGLSpriteBatch = function() {
this.vertSize = 5,
this.size = 2e3;
var e = 4 * this.size * 4 * this.vertSize
, t = 6 * this.size;
this.vertices = new I.ArrayBuffer(e),
this.positions = new I.Float32Array(this.vertices),
this.colors = new I.Uint32Array(this.vertices),
this.indices = new I.Uint16Array(t);
for (var i = this.lastIndexCount = 0, r = 0; i < t; i += 6,
r += 4)
this.indices[i + 0] = r + 0,
this.indices[i + 1] = r + 1,
this.indices[i + 2] = r + 2,
this.indices[i + 3] = r + 0,
this.indices[i + 4] = r + 2,
this.indices[i + 5] = r + 3;
this.drawing = !1,
this.currentBatchSize = 0,
this.currentBaseTexture = null,
this.dirty = !0,
this.textures = [],
this.blendModes = [],
this.shaders = [],
this.sprites = [],
this.defaultShader = new I.AbstractFilter(["precision lowp float;", "varying vec2 vTextureCoord;", "varying vec4 vColor;", "uniform sampler2D uSampler;", "void main(void) {", " gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;", "}"])
}
,
I.WebGLSpriteBatch.prototype.setContext = function(e) {
this.gl = e,
this.vertexBuffer = e.createBuffer(),
this.indexBuffer = e.createBuffer(),
e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.indexBuffer),
e.bufferData(e.ELEMENT_ARRAY_BUFFER, this.indices, e.STATIC_DRAW),
e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
e.bufferData(e.ARRAY_BUFFER, this.vertices, e.DYNAMIC_DRAW),
this.currentBlendMode = 99999;
var t = new I.PixiShader(e);
t.fragmentSrc = this.defaultShader.fragmentSrc,
t.uniforms = {},
t.init(),
this.defaultShader.shaders[e.id] = t
}
,
I.WebGLSpriteBatch.prototype.begin = function(e) {
this.renderSession = e,
this.shader = this.renderSession.shaderManager.defaultShader,
this.start()
}
,
I.WebGLSpriteBatch.prototype.end = function() {
this.flush()
}
,
I.WebGLSpriteBatch.prototype.render = function(e, t) {
var i = e.texture
, r = e.worldTransform;
t && (r = t),
this.currentBatchSize >= this.size && (this.flush(),
this.currentBaseTexture = i.baseTexture);
var o = i._uvs;
if (o) {
var s, a, n, h, c = e.anchor.x, l = e.anchor.y;
if (i.trim) {
var m = i.trim;
s = (a = m.x - c * m.width) + i.crop.width,
n = (h = m.y - l * m.height) + i.crop.height
} else
s = i.frame.width * (1 - c),
a = i.frame.width * -c,
n = i.frame.height * (1 - l),
h = i.frame.height * -l;
var u = 4 * this.currentBatchSize * this.vertSize
, d = i.baseTexture.resolution
, p = r.a / d
, f = r.b / d
, y = r.c / d
, S = r.d / d
, w = r.tx
, g = r.ty
, x = this.colors
, b = this.positions;
this.renderSession.roundPixels ? (b[u] = p * a + y * h + w | 0,
b[u + 1] = S * h + f * a + g | 0,
b[u + 5] = p * s + y * h + w | 0,
b[u + 6] = S * h + f * s + g | 0,
b[u + 10] = p * s + y * n + w | 0,
b[u + 11] = S * n + f * s + g | 0,
b[u + 15] = p * a + y * n + w | 0,
b[u + 16] = S * n + f * a + g | 0) : (b[u] = p * a + y * h + w,
b[u + 1] = S * h + f * a + g,
b[u + 5] = p * s + y * h + w,
b[u + 6] = S * h + f * s + g,
b[u + 10] = p * s + y * n + w,
b[u + 11] = S * n + f * s + g,
b[u + 15] = p * a + y * n + w,
b[u + 16] = S * n + f * a + g),
b[u + 2] = o.x0,
b[u + 3] = o.y0,
b[u + 7] = o.x1,
b[u + 8] = o.y1,
b[u + 12] = o.x2,
b[u + 13] = o.y2,
b[u + 17] = o.x3,
b[u + 18] = o.y3;
var v = e.tint;
x[u + 4] = x[u + 9] = x[u + 14] = x[u + 19] = (v >> 16) + (65280 & v) + ((255 & v) << 16) + (255 * e.worldAlpha << 24),
this.sprites[this.currentBatchSize++] = e
}
}
,
I.WebGLSpriteBatch.prototype.renderTilingSprite = function(e) {
var t = e.tilingTexture;
this.currentBatchSize >= this.size && (this.flush(),
this.currentBaseTexture = t.baseTexture),
e._uvs || (e._uvs = new I.TextureUvs);
var i = e._uvs
, r = t.baseTexture.width
, o = t.baseTexture.height;
e.tilePosition.x %= r * e.tileScaleOffset.x,
e.tilePosition.y %= o * e.tileScaleOffset.y;
var s = e.tilePosition.x / (r * e.tileScaleOffset.x)
, a = e.tilePosition.y / (o * e.tileScaleOffset.y)
, n = e.width / r / (e.tileScale.x * e.tileScaleOffset.x)
, h = e.height / o / (e.tileScale.y * e.tileScaleOffset.y);
i.x0 = 0 - s,
i.y0 = 0 - a,
i.x1 = 1 * n - s,
i.y1 = 0 - a,
i.x2 = 1 * n - s,
i.y2 = 1 * h - a,
i.x3 = 0 - s,
i.y3 = 1 * h - a;
var c = e.tint
, l = (c >> 16) + (65280 & c) + ((255 & c) << 16) + (255 * e.worldAlpha << 24)
, m = this.positions
, u = this.colors
, d = e.width
, p = e.height
, f = e.anchor.x
, y = e.anchor.y
, S = d * (1 - f)
, w = d * -f
, g = p * (1 - y)
, x = p * -y
, b = 4 * this.currentBatchSize * this.vertSize
, v = t.baseTexture.resolution
, z = e.worldTransform
, C = z.a / v
, T = z.b / v
, P = z.c / v
, A = z.d / v
, _ = z.tx
, B = z.ty;
m[b++] = C * w + P * x + _,
m[b++] = A * x + T * w + B,
m[b++] = i.x0,
m[b++] = i.y0,
u[b++] = l,
m[b++] = C * S + P * x + _,
m[b++] = A * x + T * S + B,
m[b++] = i.x1,
m[b++] = i.y1,
u[b++] = l,
m[b++] = C * S + P * g + _,
m[b++] = A * g + T * S + B,
m[b++] = i.x2,
m[b++] = i.y2,
u[b++] = l,
m[b++] = C * w + P * g + _,
m[b++] = A * g + T * w + B,
m[b++] = i.x3,
m[b++] = i.y3,
u[b++] = l,
this.sprites[this.currentBatchSize++] = e
}
,
I.WebGLSpriteBatch.prototype.flush = function() {
if (0 !== this.currentBatchSize) {
var e, t, i, r, o = this.gl;
if (this.dirty) {
this.dirty = !1,
o.activeTexture(o.TEXTURE0),
o.bindBuffer(o.ARRAY_BUFFER, this.vertexBuffer),
o.bindBuffer(o.ELEMENT_ARRAY_BUFFER, this.indexBuffer),
e = this.defaultShader.shaders[o.id];
var s = 4 * this.vertSize;
o.vertexAttribPointer(e.aVertexPosition, 2, o.FLOAT, !1, s, 0),
o.vertexAttribPointer(e.aTextureCoord, 2, o.FLOAT, !1, s, 8),
o.vertexAttribPointer(e.colorAttribute, 4, o.UNSIGNED_BYTE, !0, s, 16)
}
if (this.currentBatchSize > .5 * this.size)
o.bufferSubData(o.ARRAY_BUFFER, 0, this.vertices);
else {
var a = this.positions.subarray(0, 4 * this.currentBatchSize * this.vertSize);
o.bufferSubData(o.ARRAY_BUFFER, 0, a)
}
for (var n, h = 0, c = 0, l = null, m = this.renderSession.blendModeManager.currentBlendMode, u = null, d = !1, p = !1, f = 0, y = this.currentBatchSize; f < y; f++) {
t = (n = this.sprites[f]).tilingTexture ? n.tilingTexture.baseTexture : n.texture.baseTexture,
d = m !== (i = n.blendMode),
p = u !== (r = n.shader || this.defaultShader);
var S = t.skipRender;
if (S && 0 < n.children.length && (S = !1),
(l !== t && !S || d || p) && (this.renderBatch(l, h, c),
c = f,
h = 0,
l = t,
d && (m = i,
this.renderSession.blendModeManager.setBlendMode(m)),
p)) {
(e = (u = r).shaders[o.id]) || ((e = new I.PixiShader(o)).fragmentSrc = u.fragmentSrc,
e.uniforms = u.uniforms,
e.init(),
u.shaders[o.id] = e),
this.renderSession.shaderManager.setShader(e),
e.dirty && e.syncUniforms();
var w = this.renderSession.projection;
o.uniform2f(e.projectionVector, w.x, w.y);
var g = this.renderSession.offset;
o.uniform2f(e.offsetVector, g.x, g.y)
}
h++
}
this.renderBatch(l, h, c),
this.currentBatchSize = 0
}
}
,
I.WebGLSpriteBatch.prototype.renderBatch = function(e, t, i) {
if (0 !== t) {
var r = this.gl;
if (e._dirty[r.id]) {
if (!this.renderSession.renderer.updateTexture(e))
return
} else
r.bindTexture(r.TEXTURE_2D, e._glTextures[r.id]);
r.drawElements(r.TRIANGLES, 6 * t, r.UNSIGNED_SHORT, 6 * i * 2),
this.renderSession.drawCount++
}
}
,
I.WebGLSpriteBatch.prototype.stop = function() {
this.flush(),
this.dirty = !0
}
,
I.WebGLSpriteBatch.prototype.start = function() {
this.dirty = !0
}
,
I.WebGLSpriteBatch.prototype.destroy = function() {
this.vertices = null,
this.indices = null,
this.gl.deleteBuffer(this.vertexBuffer),
this.gl.deleteBuffer(this.indexBuffer),
this.currentBaseTexture = null,
this.gl = null
}
,
I.WebGLFastSpriteBatch = function(e) {
this.vertSize = 10,
this.maxSize = 6e3,
this.size = this.maxSize;
var t = 4 * this.size * this.vertSize
, i = 6 * this.maxSize;
this.vertices = new I.Float32Array(t),
this.indices = new I.Uint16Array(i),
this.vertexBuffer = null,
this.indexBuffer = null;
for (var r = this.lastIndexCount = 0, o = 0; r < i; r += 6,
o += 4)
this.indices[r + 0] = o + 0,
this.indices[r + 1] = o + 1,
this.indices[r + 2] = o + 2,
this.indices[r + 3] = o + 0,
this.indices[r + 4] = o + 2,
this.indices[r + 5] = o + 3;
this.drawing = !1,
this.currentBatchSize = 0,
this.currentBaseTexture = null,
this.currentBlendMode = 0,
this.renderSession = null,
this.shader = null,
this.matrix = null,
this.setContext(e)
}
,
I.WebGLFastSpriteBatch.prototype.constructor = I.WebGLFastSpriteBatch,
I.WebGLFastSpriteBatch.prototype.setContext = function(e) {
this.gl = e,
this.vertexBuffer = e.createBuffer(),
this.indexBuffer = e.createBuffer(),
e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.indexBuffer),
e.bufferData(e.ELEMENT_ARRAY_BUFFER, this.indices, e.STATIC_DRAW),
e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
e.bufferData(e.ARRAY_BUFFER, this.vertices, e.DYNAMIC_DRAW)
}
,
I.WebGLFastSpriteBatch.prototype.begin = function(e, t) {
this.renderSession = t,
this.shader = this.renderSession.shaderManager.fastShader,
this.matrix = e.worldTransform.toArray(!0),
this.start()
}
,
I.WebGLFastSpriteBatch.prototype.end = function() {
this.flush()
}
,
I.WebGLFastSpriteBatch.prototype.render = function(e) {
var t = e.children
, i = t[0];
if (i.texture._uvs) {
this.currentBaseTexture = i.texture.baseTexture,
i.blendMode !== this.renderSession.blendModeManager.currentBlendMode && (this.flush(),
this.renderSession.blendModeManager.setBlendMode(i.blendMode));
for (var r = 0, o = t.length; r < o; r++)
this.renderSprite(t[r]);
this.flush()
}
}
,
I.WebGLFastSpriteBatch.prototype.renderSprite = function(e) {
if (e.visible && (e.texture.baseTexture === this.currentBaseTexture || e.texture.baseTexture.skipRender || (this.flush(),
this.currentBaseTexture = e.texture.baseTexture,
e.texture._uvs))) {
var t, i, r, o, s, a, n = this.vertices;
if (t = e.texture._uvs,
e.texture.frame.width,
e.texture.frame.height,
e.texture.trim) {
var h = e.texture.trim;
i = (r = h.x - e.anchor.x * h.width) + e.texture.crop.width,
o = (s = h.y - e.anchor.y * h.height) + e.texture.crop.height
} else
i = e.texture.frame.width * (1 - e.anchor.x),
r = e.texture.frame.width * -e.anchor.x,
o = e.texture.frame.height * (1 - e.anchor.y),
s = e.texture.frame.height * -e.anchor.y;
a = 4 * this.currentBatchSize * this.vertSize,
n[a++] = r,
n[a++] = s,
n[a++] = e.position.x,
n[a++] = e.position.y,
n[a++] = e.scale.x,
n[a++] = e.scale.y,
n[a++] = e.rotation,
n[a++] = t.x0,
n[a++] = t.y1,
n[a++] = e.alpha,
n[a++] = i,
n[a++] = s,
n[a++] = e.position.x,
n[a++] = e.position.y,
n[a++] = e.scale.x,
n[a++] = e.scale.y,
n[a++] = e.rotation,
n[a++] = t.x1,
n[a++] = t.y1,
n[a++] = e.alpha,
n[a++] = i,
n[a++] = o,
n[a++] = e.position.x,
n[a++] = e.position.y,
n[a++] = e.scale.x,
n[a++] = e.scale.y,
n[a++] = e.rotation,
n[a++] = t.x2,
n[a++] = t.y2,
n[a++] = e.alpha,
n[a++] = r,
n[a++] = o,
n[a++] = e.position.x,
n[a++] = e.position.y,
n[a++] = e.scale.x,
n[a++] = e.scale.y,
n[a++] = e.rotation,
n[a++] = t.x3,
n[a++] = t.y3,
n[a++] = e.alpha,
this.currentBatchSize++,
this.currentBatchSize >= this.size && this.flush()
}
}
,
I.WebGLFastSpriteBatch.prototype.flush = function() {
if (0 !== this.currentBatchSize) {
var e = this.gl;
if (this.currentBaseTexture._glTextures[e.id] || this.renderSession.renderer.updateTexture(this.currentBaseTexture, e),
e.bindTexture(e.TEXTURE_2D, this.currentBaseTexture._glTextures[e.id]),
this.currentBatchSize > .5 * this.size)
e.bufferSubData(e.ARRAY_BUFFER, 0, this.vertices);
else {
var t = this.vertices.subarray(0, 4 * this.currentBatchSize * this.vertSize);
e.bufferSubData(e.ARRAY_BUFFER, 0, t)
}
e.drawElements(e.TRIANGLES, 6 * this.currentBatchSize, e.UNSIGNED_SHORT, 0),
this.currentBatchSize = 0,
this.renderSession.drawCount++
}
}
,
I.WebGLFastSpriteBatch.prototype.stop = function() {
this.flush()
}
,
I.WebGLFastSpriteBatch.prototype.start = function() {
var e = this.gl;
e.activeTexture(e.TEXTURE0),
e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.indexBuffer);
var t = this.renderSession.projection;
e.uniform2f(this.shader.projectionVector, t.x, t.y),
e.uniformMatrix3fv(this.shader.uMatrix, !1, this.matrix);
var i = 4 * this.vertSize;
e.vertexAttribPointer(this.shader.aVertexPosition, 2, e.FLOAT, !1, i, 0),
e.vertexAttribPointer(this.shader.aPositionCoord, 2, e.FLOAT, !1, i, 8),
e.vertexAttribPointer(this.shader.aScale, 2, e.FLOAT, !1, i, 16),
e.vertexAttribPointer(this.shader.aRotation, 1, e.FLOAT, !1, i, 24),
e.vertexAttribPointer(this.shader.aTextureCoord, 2, e.FLOAT, !1, i, 28),
e.vertexAttribPointer(this.shader.colorAttribute, 1, e.FLOAT, !1, i, 36)
}
,
I.WebGLFilterManager = function() {
this.filterStack = [],
this.offsetX = 0,
this.offsetY = 0
}
,
I.WebGLFilterManager.prototype.constructor = I.WebGLFilterManager,
I.WebGLFilterManager.prototype.setContext = function(e) {
this.gl = e,
this.texturePool = [],
this.initShaderBuffers()
}
,
I.WebGLFilterManager.prototype.begin = function(e, t) {
this.renderSession = e,
this.defaultShader = e.shaderManager.defaultShader;
var i = this.renderSession.projection;
this.width = 2 * i.x,
this.height = 2 * -i.y,
this.buffer = t
}
,
I.WebGLFilterManager.prototype.pushFilter = function(e) {
var t = this.gl
, i = this.renderSession.projection
, r = this.renderSession.offset;
e._filterArea = e.target.filterArea || e.target.getBounds(),
e._previous_stencil_mgr = this.renderSession.stencilManager,
this.renderSession.stencilManager = new I.WebGLStencilManager,
this.renderSession.stencilManager.setContext(t),
t.disable(t.STENCIL_TEST),
this.filterStack.push(e);
var o = e.filterPasses[0];
this.offsetX += e._filterArea.x,
this.offsetY += e._filterArea.y;
var s = this.texturePool.pop();
s ? s.resize(this.width * this.renderSession.resolution, this.height * this.renderSession.resolution) : s = new I.FilterTexture(this.gl,this.width * this.renderSession.resolution,this.height * this.renderSession.resolution),
t.bindTexture(t.TEXTURE_2D, s.texture);
var a = e._filterArea
, n = o.padding;
a.x -= n,
a.y -= n,
a.width += 2 * n,
a.height += 2 * n,
a.x < 0 && (a.x = 0),
a.width > this.width && (a.width = this.width),
a.y < 0 && (a.y = 0),
a.height > this.height && (a.height = this.height),
t.bindFramebuffer(t.FRAMEBUFFER, s.frameBuffer),
t.viewport(0, 0, a.width * this.renderSession.resolution, a.height * this.renderSession.resolution),
i.x = a.width / 2,
i.y = -a.height / 2,
r.x = -a.x,
r.y = -a.y,
t.colorMask(!0, !0, !0, !0),
t.clearColor(0, 0, 0, 0),
t.clear(t.COLOR_BUFFER_BIT),
e._glFilterTexture = s
}
,
I.WebGLFilterManager.prototype.popFilter = function() {
var e = this.gl
, t = this.filterStack.pop()
, i = t._filterArea
, r = t._glFilterTexture
, o = this.renderSession.projection
, s = this.renderSession.offset;
if (1 < t.filterPasses.length) {
e.viewport(0, 0, i.width * this.renderSession.resolution, i.height * this.renderSession.resolution),
e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
this.vertexArray[0] = 0,
this.vertexArray[1] = i.height,
this.vertexArray[2] = i.width,
this.vertexArray[3] = i.height,
this.vertexArray[4] = 0,
this.vertexArray[5] = 0,
this.vertexArray[6] = i.width,
this.vertexArray[7] = 0,
e.bufferSubData(e.ARRAY_BUFFER, 0, this.vertexArray),
e.bindBuffer(e.ARRAY_BUFFER, this.uvBuffer),
this.uvArray[2] = i.width / this.width,
this.uvArray[5] = i.height / this.height,
this.uvArray[6] = i.width / this.width,
this.uvArray[7] = i.height / this.height,
e.bufferSubData(e.ARRAY_BUFFER, 0, this.uvArray);
var a = r
, n = this.texturePool.pop();
n || (n = new I.FilterTexture(this.gl,this.width * this.renderSession.resolution,this.height * this.renderSession.resolution)),
n.resize(this.width * this.renderSession.resolution, this.height * this.renderSession.resolution),
e.bindFramebuffer(e.FRAMEBUFFER, n.frameBuffer),
e.clear(e.COLOR_BUFFER_BIT),
e.disable(e.BLEND);
for (var h = 0; h < t.filterPasses.length - 1; h++) {
var c = t.filterPasses[h];
e.bindFramebuffer(e.FRAMEBUFFER, n.frameBuffer),
e.activeTexture(e.TEXTURE0),
e.bindTexture(e.TEXTURE_2D, a.texture),
this.applyFilterPass(c, i, i.width, i.height);
var l = a;
a = n,
n = l
}
e.enable(e.BLEND),
r = a,
this.texturePool.push(n)
}
var m = t.filterPasses[t.filterPasses.length - 1];
this.offsetX -= i.x,
this.offsetY -= i.y;
var u = this.width
, d = this.height
, p = 0
, f = 0
, y = this.buffer;
if (0 === this.filterStack.length)
e.colorMask(!0, !0, !0, !0);
else {
var S = this.filterStack[this.filterStack.length - 1];
u = (i = S._filterArea).width,
d = i.height,
p = i.x,
f = i.y,
y = S._glFilterTexture.frameBuffer
}
o.x = u / 2,
o.y = -d / 2,
s.x = p,
s.y = f;
var w = (i = t._filterArea).x - p
, g = i.y - f;
e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
this.vertexArray[0] = w,
this.vertexArray[1] = g + i.height,
this.vertexArray[2] = w + i.width,
this.vertexArray[3] = g + i.height,
this.vertexArray[4] = w,
this.vertexArray[5] = g,
this.vertexArray[6] = w + i.width,
this.vertexArray[7] = g,
e.bufferSubData(e.ARRAY_BUFFER, 0, this.vertexArray),
e.bindBuffer(e.ARRAY_BUFFER, this.uvBuffer),
this.uvArray[2] = i.width / this.width,
this.uvArray[5] = i.height / this.height,
this.uvArray[6] = i.width / this.width,
this.uvArray[7] = i.height / this.height,
e.bufferSubData(e.ARRAY_BUFFER, 0, this.uvArray),
e.viewport(0, 0, u * this.renderSession.resolution, d * this.renderSession.resolution),
e.bindFramebuffer(e.FRAMEBUFFER, y),
e.activeTexture(e.TEXTURE0),
e.bindTexture(e.TEXTURE_2D, r.texture),
this.renderSession.stencilManager && this.renderSession.stencilManager.destroy(),
this.renderSession.stencilManager = t._previous_stencil_mgr,
t._previous_stencil_mgr = null,
0 < this.renderSession.stencilManager.count ? e.enable(e.STENCIL_TEST) : e.disable(e.STENCIL_TEST),
this.applyFilterPass(m, i, u, d),
this.texturePool.push(r),
t._glFilterTexture = null
}
,
I.WebGLFilterManager.prototype.applyFilterPass = function(e, t, i, r) {
var o = this.gl
, s = e.shaders[o.id];
s || ((s = new I.PixiShader(o)).fragmentSrc = e.fragmentSrc,
s.uniforms = e.uniforms,
s.init(),
e.shaders[o.id] = s),
this.renderSession.shaderManager.setShader(s),
o.uniform2f(s.projectionVector, i / 2, -r / 2),
o.uniform2f(s.offsetVector, 0, 0),
e.uniforms.dimensions && (e.uniforms.dimensions.value[0] = this.width,
e.uniforms.dimensions.value[1] = this.height,
e.uniforms.dimensions.value[2] = this.vertexArray[0],
e.uniforms.dimensions.value[3] = this.vertexArray[5]),
s.syncUniforms(),
o.bindBuffer(o.ARRAY_BUFFER, this.vertexBuffer),
o.vertexAttribPointer(s.aVertexPosition, 2, o.FLOAT, !1, 0, 0),
o.bindBuffer(o.ARRAY_BUFFER, this.uvBuffer),
o.vertexAttribPointer(s.aTextureCoord, 2, o.FLOAT, !1, 0, 0),
o.bindBuffer(o.ARRAY_BUFFER, this.colorBuffer),
o.vertexAttribPointer(s.colorAttribute, 2, o.FLOAT, !1, 0, 0),
o.bindBuffer(o.ELEMENT_ARRAY_BUFFER, this.indexBuffer),
o.drawElements(o.TRIANGLES, 6, o.UNSIGNED_SHORT, 0),
this.renderSession.drawCount++
}
,
I.WebGLFilterManager.prototype.initShaderBuffers = function() {
var e = this.gl;
this.vertexBuffer = e.createBuffer(),
this.uvBuffer = e.createBuffer(),
this.colorBuffer = e.createBuffer(),
this.indexBuffer = e.createBuffer(),
this.vertexArray = new I.Float32Array([0, 0, 1, 0, 0, 1, 1, 1]),
e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffer),
e.bufferData(e.ARRAY_BUFFER, this.vertexArray, e.STATIC_DRAW),
this.uvArray = new I.Float32Array([0, 0, 1, 0, 0, 1, 1, 1]),
e.bindBuffer(e.ARRAY_BUFFER, this.uvBuffer),
e.bufferData(e.ARRAY_BUFFER, this.uvArray, e.STATIC_DRAW),
this.colorArray = new I.Float32Array([1, 16777215, 1, 16777215, 1, 16777215, 1, 16777215]),
e.bindBuffer(e.ARRAY_BUFFER, this.colorBuffer),
e.bufferData(e.ARRAY_BUFFER, this.colorArray, e.STATIC_DRAW),
e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.indexBuffer),
e.bufferData(e.ELEMENT_ARRAY_BUFFER, new Uint16Array([0, 1, 2, 1, 3, 2]), e.STATIC_DRAW)
}
,
I.WebGLFilterManager.prototype.destroy = function() {
var e = this.gl;
this.filterStack = null,
this.offsetX = 0;
for (var t = this.offsetY = 0; t < this.texturePool.length; t++)
this.texturePool[t].destroy();
this.texturePool = null,
e.deleteBuffer(this.vertexBuffer),
e.deleteBuffer(this.uvBuffer),
e.deleteBuffer(this.colorBuffer),
e.deleteBuffer(this.indexBuffer)
}
,
I.FilterTexture = function(e, t, i, r) {
this.gl = e,
this.frameBuffer = e.createFramebuffer(),
this.texture = e.createTexture(),
r = r || I.scaleModes.DEFAULT,
e.bindTexture(e.TEXTURE_2D, this.texture),
e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, r === I.scaleModes.LINEAR ? e.LINEAR : e.NEAREST),
e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, r === I.scaleModes.LINEAR ? e.LINEAR : e.NEAREST),
e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE),
e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE),
e.bindFramebuffer(e.FRAMEBUFFER, this.frameBuffer),
e.bindFramebuffer(e.FRAMEBUFFER, this.frameBuffer),
e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.texture, 0),
this.renderBuffer = e.createRenderbuffer(),
e.bindRenderbuffer(e.RENDERBUFFER, this.renderBuffer),
e.framebufferRenderbuffer(e.FRAMEBUFFER, e.DEPTH_STENCIL_ATTACHMENT, e.RENDERBUFFER, this.renderBuffer),
this.resize(t, i)
}
,
I.FilterTexture.prototype.constructor = I.FilterTexture,
I.FilterTexture.prototype.clear = function() {
var e = this.gl;
e.clearColor(0, 0, 0, 0),
e.clear(e.COLOR_BUFFER_BIT)
}
,
I.FilterTexture.prototype.resize = function(e, t) {
if (this.width !== e || this.height !== t) {
this.width = e,
this.height = t;
var i = this.gl;
i.bindTexture(i.TEXTURE_2D, this.texture),
i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, e, t, 0, i.RGBA, i.UNSIGNED_BYTE, null),
i.bindRenderbuffer(i.RENDERBUFFER, this.renderBuffer),
i.renderbufferStorage(i.RENDERBUFFER, i.DEPTH_STENCIL, e, t)
}
}
,
I.FilterTexture.prototype.destroy = function() {
var e = this.gl;
e.deleteFramebuffer(this.frameBuffer),
e.deleteTexture(this.texture),
this.frameBuffer = null,
this.texture = null
}
,
I.CanvasBuffer = function(e, t) {
this.width = e,
this.height = t,
this.canvas = I.CanvasPool.create(this, this.width, this.height),
this.context = this.canvas.getContext("2d"),
this.canvas.width = e,
this.canvas.height = t
}
,
I.CanvasBuffer.prototype.constructor = I.CanvasBuffer,
I.CanvasBuffer.prototype.clear = function() {
this.context.setTransform(1, 0, 0, 1, 0, 0),
this.context.clearRect(0, 0, this.width, this.height)
}
,
I.CanvasBuffer.prototype.resize = function(e, t) {
this.width = this.canvas.width = e,
this.height = this.canvas.height = t
}
,
I.CanvasBuffer.prototype.destroy = function() {
I.CanvasPool.remove(this)
}
,
I.CanvasMaskManager = function() {}
,
I.CanvasMaskManager.prototype.constructor = I.CanvasMaskManager,
I.CanvasMaskManager.prototype.pushMask = function(e, t) {
var i = t.context;
i.save();
var r = e.alpha
, o = e.worldTransform
, s = t.resolution;
i.setTransform(o.a * s, o.b * s, o.c * s, o.d * s, o.tx * s, o.ty * s),
I.CanvasGraphics.renderGraphicsMask(e, i),
i.clip(),
e.worldAlpha = r
}
,
I.CanvasMaskManager.prototype.popMask = function(e) {
e.context.restore()
}
,
I.CanvasTinter = function() {}
,
I.CanvasTinter.getTintedTexture = function(e, t) {
var i = e.tintedTexture || I.CanvasPool.create(this);
return I.CanvasTinter.tintMethod(e.texture, t, i),
i
}
,
I.CanvasTinter.tintWithMultiply = function(e, t, i) {
var r = i.getContext("2d")
, o = e.crop;
i.width === o.width && i.height === o.height || (i.width = o.width,
i.height = o.height),
r.clearRect(0, 0, o.width, o.height),
r.fillStyle = "#" + ("00000" + (0 | t).toString(16)).substr(-6),
r.fillRect(0, 0, o.width, o.height),
r.globalCompositeOperation = "multiply",
r.drawImage(e.baseTexture.source, o.x, o.y, o.width, o.height, 0, 0, o.width, o.height),
r.globalCompositeOperation = "destination-atop",
r.drawImage(e.baseTexture.source, o.x, o.y, o.width, o.height, 0, 0, o.width, o.height)
}
,
I.CanvasTinter.tintWithPerPixel = function(e, t, i) {
var r = i.getContext("2d")
, o = e.crop;
i.width = o.width,
i.height = o.height,
r.globalCompositeOperation = "copy",
r.drawImage(e.baseTexture.source, o.x, o.y, o.width, o.height, 0, 0, o.width, o.height);
for (var s = I.hex2rgb(t), a = s[0], n = s[1], h = s[2], c = r.getImageData(0, 0, o.width, o.height), l = c.data, m = 0; m < l.length; m += 4)
if (l[m + 0] *= a,
l[m + 1] *= n,
l[m + 2] *= h,
!I.CanvasTinter.canHandleAlpha) {
var u = l[m + 3];
l[m + 0] /= 255 / u,
l[m + 1] /= 255 / u,
l[m + 2] /= 255 / u
}
r.putImageData(c, 0, 0)
}
,
I.CanvasTinter.checkInverseAlpha = function() {
var e = new I.CanvasBuffer(2,1);
e.context.fillStyle = "rgba(10, 20, 30, 0.5)",
e.context.fillRect(0, 0, 1, 1);
var t = e.context.getImageData(0, 0, 1, 1);
if (null === t)
return !1;
e.context.putImageData(t, 1, 0);
var i = e.context.getImageData(1, 0, 1, 1);
return i.data[0] === t.data[0] && i.data[1] === t.data[1] && i.data[2] === t.data[2] && i.data[3] === t.data[3]
}
,
I.CanvasTinter.canHandleAlpha = I.CanvasTinter.checkInverseAlpha(),
I.CanvasTinter.canUseMultiply = I.canUseNewCanvasBlendModes(),
I.CanvasTinter.tintMethod = I.CanvasTinter.canUseMultiply ? I.CanvasTinter.tintWithMultiply : I.CanvasTinter.tintWithPerPixel,
I.CanvasRenderer = function(e) {
this.game = e,
I.defaultRenderer || (I.defaultRenderer = this),
this.type = I.CANVAS_RENDERER,
this.resolution = e.resolution,
this.clearBeforeRender = e.clearBeforeRender,
this.transparent = e.transparent,
this.autoResize = !1,
this.width = e.width * this.resolution,
this.height = e.height * this.resolution,
this.view = e.canvas,
this.context = this.view.getContext("2d", {
alpha: this.transparent
}),
this.refresh = !0,
this.count = 0,
this.maskManager = new I.CanvasMaskManager,
this.renderSession = {
context: this.context,
maskManager: this.maskManager,
scaleMode: null,
smoothProperty: Phaser.Canvas.getSmoothingPrefix(this.context),
roundPixels: !1
},
this.mapBlendModes(),
this.resize(this.width, this.height)
}
,
I.CanvasRenderer.prototype.constructor = I.CanvasRenderer,
I.CanvasRenderer.prototype.render = function(e) {
this.context.setTransform(1, 0, 0, 1, 0, 0),
this.context.globalAlpha = 1,
this.renderSession.currentBlendMode = 0,
this.renderSession.shakeX = this.game.camera._shake.x,
this.renderSession.shakeY = this.game.camera._shake.y,
this.context.globalCompositeOperation = "source-over",
navigator.isCocoonJS && this.view.screencanvas && (this.context.fillStyle = "black",
this.context.clear()),
this.clearBeforeRender && (this.transparent ? this.context.clearRect(0, 0, this.width, this.height) : e._bgColor && (this.context.fillStyle = e._bgColor.rgba,
this.context.fillRect(0, 0, this.width, this.height))),
this.renderDisplayObject(e)
}
,
I.CanvasRenderer.prototype.destroy = function(e) {
void 0 === e && (e = !0),
e && this.view.parent && this.view.parent.removeChild(this.view),
this.view = null,
this.context = null,
this.maskManager = null,
this.renderSession = null
}
,
I.CanvasRenderer.prototype.resize = function(e, t) {
this.width = e * this.resolution,
this.height = t * this.resolution,
this.view.width = this.width,
this.view.height = this.height,
this.autoResize && (this.view.style.width = this.width / this.resolution + "px",
this.view.style.height = this.height / this.resolution + "px"),
this.renderSession.smoothProperty && (this.context[this.renderSession.smoothProperty] = this.renderSession.scaleMode === I.scaleModes.LINEAR)
}
,
I.CanvasRenderer.prototype.renderDisplayObject = function(e, t, i) {
this.renderSession.context = t || this.context,
this.renderSession.resolution = this.resolution,
e._renderCanvas(this.renderSession, i)
}
,
I.CanvasRenderer.prototype.mapBlendModes = function() {
if (!I.blendModesCanvas) {
var e = []
, t = I.blendModes
, i = I.canUseNewCanvasBlendModes();
e[t.NORMAL] = "source-over",
e[t.ADD] = "lighter",
e[t.MULTIPLY] = i ? "multiply" : "source-over",
e[t.SCREEN] = i ? "screen" : "source-over",
e[t.OVERLAY] = i ? "overlay" : "source-over",
e[t.DARKEN] = i ? "darken" : "source-over",
e[t.LIGHTEN] = i ? "lighten" : "source-over",
e[t.COLOR_DODGE] = i ? "color-dodge" : "source-over",
e[t.COLOR_BURN] = i ? "color-burn" : "source-over",
e[t.HARD_LIGHT] = i ? "hard-light" : "source-over",
e[t.SOFT_LIGHT] = i ? "soft-light" : "source-over",
e[t.DIFFERENCE] = i ? "difference" : "source-over",
e[t.EXCLUSION] = i ? "exclusion" : "source-over",
e[t.HUE] = i ? "hue" : "source-over",
e[t.SATURATION] = i ? "saturation" : "source-over",
e[t.COLOR] = i ? "color" : "source-over",
e[t.LUMINOSITY] = i ? "luminosity" : "source-over",
I.blendModesCanvas = e
}
}
,
I.BaseTexture = function(e, t) {
this.resolution = 1,
this.width = 100,
this.height = 100,
this.scaleMode = t || I.scaleModes.DEFAULT,
this.hasLoaded = !1,
this.source = e,
this.premultipliedAlpha = !0,
this._glTextures = [],
this.mipmap = !1,
this._dirty = [!0, !0, !0, !0],
e && ((this.source.complete || this.source.getContext) && this.source.width && this.source.height && (this.hasLoaded = !0,
this.width = this.source.naturalWidth || this.source.width,
this.height = this.source.naturalHeight || this.source.height,
this.dirty()),
this.skipRender = !1,
this._powerOf2 = !1)
}
,
I.BaseTexture.prototype.constructor = I.BaseTexture,
I.BaseTexture.prototype.forceLoaded = function(e, t) {
this.hasLoaded = !0,
this.width = e,
this.height = t,
this.dirty()
}
,
I.BaseTexture.prototype.destroy = function() {
this.source && I.CanvasPool.removeByCanvas(this.source),
this.source = null,
this.unloadFromGPU()
}
,
I.BaseTexture.prototype.updateSourceImage = function(e) {}
,
I.BaseTexture.prototype.dirty = function() {
for (var e = 0; e < this._glTextures.length; e++)
this._dirty[e] = !0
}
,
I.BaseTexture.prototype.unloadFromGPU = function() {
this.dirty();
for (var e = this._glTextures.length - 1; 0 <= e; e--) {
var t = this._glTextures[e]
, i = I.glContexts[e];
i && t && i.deleteTexture(t)
}
this._glTextures.length = 0,
this.dirty()
}
,
I.BaseTexture.fromCanvas = function(e, t) {
return 0 === e.width && (e.width = 1),
0 === e.height && (e.height = 1),
new I.BaseTexture(e,t)
}
,
I.TextureSilentFail = !1,
I.Texture = function(e, t, i, r) {
this.noFrame = !1,
t || (this.noFrame = !0,
t = new I.Rectangle(0,0,1,1)),
e instanceof I.Texture && (e = e.baseTexture),
this.baseTexture = e,
this.frame = t,
this.trim = r,
this.valid = !1,
this.isTiling = !1,
this.requiresUpdate = !1,
this.requiresReTint = !1,
this._uvs = null,
this.width = 0,
this.height = 0,
this.crop = i || new I.Rectangle(0,0,1,1),
e.hasLoaded && (this.noFrame && (t = new I.Rectangle(0,0,e.width,e.height)),
this.setFrame(t))
}
,
I.Texture.prototype.constructor = I.Texture,
I.Texture.prototype.onBaseTextureLoaded = function() {
var e = this.baseTexture;
this.noFrame && (this.frame = new I.Rectangle(0,0,e.width,e.height)),
this.setFrame(this.frame)
}
,
I.Texture.prototype.destroy = function(e) {
e && this.baseTexture.destroy(),
this.valid = !1
}
,
I.Texture.prototype.setFrame = function(e) {
if (this.noFrame = !1,
this.frame = e,
this.width = e.width,
this.height = e.height,
this.crop.x = e.x,
this.crop.y = e.y,
this.crop.width = e.width,
this.crop.height = e.height,
this.trim || !(e.x + e.width > this.baseTexture.width || e.y + e.height > this.baseTexture.height))
this.valid = e && e.width && e.height && this.baseTexture.source && this.baseTexture.hasLoaded,
this.trim && (this.width = this.trim.width,
this.height = this.trim.height,
this.frame.width = this.trim.width,
this.frame.height = this.trim.height),
this.valid && this._updateUvs();
else {
if (!I.TextureSilentFail)
throw new Error("Texture Error: frame does not fit inside the base Texture dimensions " + this);
this.valid = !1
}
}
,
I.Texture.prototype._updateUvs = function() {
this._uvs || (this._uvs = new I.TextureUvs);
var e = this.crop
, t = this.baseTexture.width
, i = this.baseTexture.height;
this._uvs.x0 = e.x / t,
this._uvs.y0 = e.y / i,
this._uvs.x1 = (e.x + e.width) / t,
this._uvs.y1 = e.y / i,
this._uvs.x2 = (e.x + e.width) / t,
this._uvs.y2 = (e.y + e.height) / i,
this._uvs.x3 = e.x / t,
this._uvs.y3 = (e.y + e.height) / i
}
,
I.Texture.fromCanvas = function(e, t) {
var i = I.BaseTexture.fromCanvas(e, t);
return new I.Texture(i)
}
,
I.TextureUvs = function() {
this.x0 = 0,
this.y0 = 0,
this.x1 = 0,
this.y1 = 0,
this.x2 = 0,
this.y2 = 0,
this.x3 = 0,
this.y3 = 0
}
,
I.RenderTexture = function(e, t, i, r, o) {
if (this.width = e || 100,
this.height = t || 100,
this.resolution = o || 1,
this.frame = new I.Rectangle(0,0,this.width * this.resolution,this.height * this.resolution),
this.crop = new I.Rectangle(0,0,this.width * this.resolution,this.height * this.resolution),
this.baseTexture = new I.BaseTexture,
this.baseTexture.width = this.width * this.resolution,
this.baseTexture.height = this.height * this.resolution,
this.baseTexture._glTextures = [],
this.baseTexture.resolution = this.resolution,
this.baseTexture.scaleMode = r || I.scaleModes.DEFAULT,
this.baseTexture.hasLoaded = !0,
I.Texture.call(this, this.baseTexture, new I.Rectangle(0,0,this.width * this.resolution,this.height * this.resolution)),
this.renderer = i || I.defaultRenderer,
this.renderer.type === I.WEBGL_RENDERER) {
var s = this.renderer.gl;
this.baseTexture._dirty[s.id] = !1,
this.textureBuffer = new I.FilterTexture(s,this.width,this.height,this.baseTexture.scaleMode),
this.baseTexture._glTextures[s.id] = this.textureBuffer.texture,
this.render = this.renderWebGL,
this.projection = new I.Point(.5 * this.width,.5 * -this.height)
} else
this.render = this.renderCanvas,
this.textureBuffer = new I.CanvasBuffer(this.width * this.resolution,this.height * this.resolution),
this.baseTexture.source = this.textureBuffer.canvas;
this.valid = !0,
this.tempMatrix = new Phaser.Matrix,
this._updateUvs()
}
,
I.RenderTexture.prototype = Object.create(I.Texture.prototype),
I.RenderTexture.prototype.constructor = I.RenderTexture,
I.RenderTexture.prototype.resize = function(e, t, i) {
e === this.width && t === this.height || (this.valid = 0 < e && 0 < t,
this.width = e,
this.height = t,
this.frame.width = this.crop.width = e * this.resolution,
this.frame.height = this.crop.height = t * this.resolution,
i && (this.baseTexture.width = this.width * this.resolution,
this.baseTexture.height = this.height * this.resolution),
this.renderer.type === I.WEBGL_RENDERER && (this.projection.x = this.width / 2,
this.projection.y = -this.height / 2),
this.valid && this.textureBuffer.resize(this.width, this.height))
}
,
I.RenderTexture.prototype.clear = function() {
this.valid && (this.renderer.type === I.WEBGL_RENDERER && this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER, this.textureBuffer.frameBuffer),
this.textureBuffer.clear())
}
,
I.RenderTexture.prototype.renderWebGL = function(e, t, i) {
if (this.valid && 0 !== e.alpha) {
var r = e.worldTransform;
r.identity(),
r.translate(0, 2 * this.projection.y),
t && r.append(t),
r.scale(1, -1);
for (var o = 0; o < e.children.length; o++)
e.children[o].updateTransform();
var s = this.renderer.gl;
s.viewport(0, 0, this.width * this.resolution, this.height * this.resolution),
s.bindFramebuffer(s.FRAMEBUFFER, this.textureBuffer.frameBuffer),
i && this.textureBuffer.clear(),
this.renderer.spriteBatch.dirty = !0,
this.renderer.renderDisplayObject(e, this.projection, this.textureBuffer.frameBuffer, t),
this.renderer.spriteBatch.dirty = !0
}
}
,
I.RenderTexture.prototype.renderCanvas = function(e, t, i) {
if (this.valid && 0 !== e.alpha) {
var r = e.worldTransform;
r.identity(),
t && r.append(t);
for (var o = 0; o < e.children.length; o++)
e.children[o].updateTransform();
i && this.textureBuffer.clear();
var s = this.renderer.resolution;
this.renderer.resolution = this.resolution,
this.renderer.renderDisplayObject(e, this.textureBuffer.context, t),
this.renderer.resolution = s
}
}
,
I.RenderTexture.prototype.getImage = function() {
var e = new Image;
return e.src = this.getBase64(),
e
}
,
I.RenderTexture.prototype.getBase64 = function() {
return this.getCanvas().toDataURL()
}
,
I.RenderTexture.prototype.getCanvas = function() {
if (this.renderer.type !== I.WEBGL_RENDERER)
return this.textureBuffer.canvas;
var e = this.renderer.gl
, t = this.textureBuffer.width
, i = this.textureBuffer.height
, r = new Uint8Array(4 * t * i);
e.bindFramebuffer(e.FRAMEBUFFER, this.textureBuffer.frameBuffer),
e.readPixels(0, 0, t, i, e.RGBA, e.UNSIGNED_BYTE, r),
e.bindFramebuffer(e.FRAMEBUFFER, null);
var o = new I.CanvasBuffer(t,i)
, s = o.context.getImageData(0, 0, t, i);
return s.data.set(r),
o.context.putImageData(s, 0, 0),
o.canvas
}
,
I.AbstractFilter = function(e, t) {
this.passes = [this],
this.shaders = [],
this.dirty = !0,
this.padding = 0,
this.uniforms = t || {},
this.fragmentSrc = e || []
}
,
I.AbstractFilter.prototype.constructor = I.AbstractFilter,
I.AbstractFilter.prototype.syncUniforms = function() {
for (var e = 0, t = this.shaders.length; e < t; e++)
this.shaders[e].dirty = !0
}
,
I.Strip = function(e) {
I.DisplayObjectContainer.call(this),
this.texture = e,
this.uvs = new I.Float32Array([0, 1, 1, 1, 1, 0, 0, 1]),
this.vertices = new I.Float32Array([0, 0, 100, 0, 100, 100, 0, 100]),
this.colors = new I.Float32Array([1, 1, 1, 1]),
this.indices = new I.Uint16Array([0, 1, 2, 3]),
this.dirty = !0,
this.blendMode = I.blendModes.NORMAL,
this.canvasPadding = 0,
this.drawMode = I.Strip.DrawModes.TRIANGLE_STRIP
}
,
I.Strip.prototype = Object.create(I.DisplayObjectContainer.prototype),
I.Strip.prototype.constructor = I.Strip,
I.Strip.prototype._renderWebGL = function(e) {
!this.visible || this.alpha <= 0 || (e.spriteBatch.stop(),
this._vertexBuffer || this._initWebGL(e),
e.shaderManager.setShader(e.shaderManager.stripShader),
this._renderStrip(e),
e.spriteBatch.start())
}
,
I.Strip.prototype._initWebGL = function(e) {
var t = e.gl;
this._vertexBuffer = t.createBuffer(),
this._indexBuffer = t.createBuffer(),
this._uvBuffer = t.createBuffer(),
this._colorBuffer = t.createBuffer(),
t.bindBuffer(t.ARRAY_BUFFER, this._vertexBuffer),
t.bufferData(t.ARRAY_BUFFER, this.vertices, t.DYNAMIC_DRAW),
t.bindBuffer(t.ARRAY_BUFFER, this._uvBuffer),
t.bufferData(t.ARRAY_BUFFER, this.uvs, t.STATIC_DRAW),
t.bindBuffer(t.ARRAY_BUFFER, this._colorBuffer),
t.bufferData(t.ARRAY_BUFFER, this.colors, t.STATIC_DRAW),
t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, this._indexBuffer),
t.bufferData(t.ELEMENT_ARRAY_BUFFER, this.indices, t.STATIC_DRAW)
}
,
I.Strip.prototype._renderStrip = function(e) {
var t = e.gl
, i = e.projection
, r = e.offset
, o = e.shaderManager.stripShader
, s = this.drawMode === I.Strip.DrawModes.TRIANGLE_STRIP ? t.TRIANGLE_STRIP : t.TRIANGLES;
e.blendModeManager.setBlendMode(this.blendMode),
t.uniformMatrix3fv(o.translationMatrix, !1, this.worldTransform.toArray(!0)),
t.uniform2f(o.projectionVector, i.x, -i.y),
t.uniform2f(o.offsetVector, -r.x, -r.y),
t.uniform1f(o.alpha, this.worldAlpha),
this.dirty ? (this.dirty = !1,
t.bindBuffer(t.ARRAY_BUFFER, this._vertexBuffer),
t.bufferData(t.ARRAY_BUFFER, this.vertices, t.STATIC_DRAW),
t.vertexAttribPointer(o.aVertexPosition, 2, t.FLOAT, !1, 0, 0),
t.bindBuffer(t.ARRAY_BUFFER, this._uvBuffer),
t.bufferData(t.ARRAY_BUFFER, this.uvs, t.STATIC_DRAW),
t.vertexAttribPointer(o.aTextureCoord, 2, t.FLOAT, !1, 0, 0),
t.activeTexture(t.TEXTURE0),
this.texture.baseTexture._dirty[t.id] ? e.renderer.updateTexture(this.texture.baseTexture) : t.bindTexture(t.TEXTURE_2D, this.texture.baseTexture._glTextures[t.id]),
t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, this._indexBuffer),
t.bufferData(t.ELEMENT_ARRAY_BUFFER, this.indices, t.STATIC_DRAW)) : (t.bindBuffer(t.ARRAY_BUFFER, this._vertexBuffer),
t.bufferSubData(t.ARRAY_BUFFER, 0, this.vertices),
t.vertexAttribPointer(o.aVertexPosition, 2, t.FLOAT, !1, 0, 0),
t.bindBuffer(t.ARRAY_BUFFER, this._uvBuffer),
t.vertexAttribPointer(o.aTextureCoord, 2, t.FLOAT, !1, 0, 0),
t.activeTexture(t.TEXTURE0),
this.texture.baseTexture._dirty[t.id] ? e.renderer.updateTexture(this.texture.baseTexture) : t.bindTexture(t.TEXTURE_2D, this.texture.baseTexture._glTextures[t.id]),
t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, this._indexBuffer)),
t.drawElements(s, this.indices.length, t.UNSIGNED_SHORT, 0)
}
,
I.Strip.prototype._renderCanvas = function(e) {
var t = e.context
, i = this.worldTransform
, r = i.tx * e.resolution + e.shakeX
, o = i.ty * e.resolution + e.shakeY;
e.roundPixels ? t.setTransform(i.a, i.b, i.c, i.d, 0 | r, 0 | o) : t.setTransform(i.a, i.b, i.c, i.d, r, o),
this.drawMode === I.Strip.DrawModes.TRIANGLE_STRIP ? this._renderCanvasTriangleStrip(t) : this._renderCanvasTriangles(t)
}
,
I.Strip.prototype._renderCanvasTriangleStrip = function(e) {
var t = this.vertices
, i = this.uvs
, r = t.length / 2;
this.count++;
for (var o = 0; o < r - 2; o++) {
var s = 2 * o;
this._renderCanvasDrawTriangle(e, t, i, s, s + 2, s + 4)
}
}
,
I.Strip.prototype._renderCanvasTriangles = function(e) {
var t = this.vertices
, i = this.uvs
, r = this.indices
, o = r.length;
this.count++;
for (var s = 0; s < o; s += 3) {
var a = 2 * r[s]
, n = 2 * r[s + 1]
, h = 2 * r[s + 2];
this._renderCanvasDrawTriangle(e, t, i, a, n, h)
}
}
,
I.Strip.prototype._renderCanvasDrawTriangle = function(e, t, i, r, o, s) {
var a = this.texture.baseTexture.source
, n = this.texture.width
, h = this.texture.height
, c = t[r]
, l = t[o]
, m = t[s]
, u = t[r + 1]
, d = t[o + 1]
, p = t[s + 1]
, f = i[r] * n
, y = i[o] * n
, S = i[s] * n
, w = i[r + 1] * h
, g = i[o + 1] * h
, x = i[s + 1] * h;
if (0 < this.canvasPadding) {
var b = this.canvasPadding / this.worldTransform.a
, v = this.canvasPadding / this.worldTransform.d
, z = (c + l + m) / 3
, C = (u + d + p) / 3
, T = c - z
, P = u - C
, A = Math.sqrt(T * T + P * P);
c = z + T / A * (A + b),
u = C + P / A * (A + v),
P = d - C,
l = z + (T = l - z) / (A = Math.sqrt(T * T + P * P)) * (A + b),
d = C + P / A * (A + v),
P = p - C,
m = z + (T = m - z) / (A = Math.sqrt(T * T + P * P)) * (A + b),
p = C + P / A * (A + v)
}
e.save(),
e.beginPath(),
e.moveTo(c, u),
e.lineTo(l, d),
e.lineTo(m, p),
e.closePath(),
e.clip();
var _ = f * g + w * S + y * x - g * S - w * y - f * x
, B = c * g + w * m + l * x - g * m - w * l - c * x
, D = f * l + c * S + y * m - l * S - c * y - f * m
, k = f * g * m + w * l * S + c * y * x - c * g * S - w * y * m - f * l * x
, E = u * g + w * p + d * x - g * p - w * d - u * x
, M = f * d + u * S + y * p - d * S - u * y - f * p
, I = f * g * p + w * d * S + u * y * x - u * g * S - w * y * p - f * d * x;
e.transform(B / _, E / _, D / _, M / _, k / _, I / _),
e.drawImage(a, 0, 0),
e.restore()
}
,
I.Strip.prototype.renderStripFlat = function(e) {
var t = this.context
, i = e.vertices
, r = i.length / 2;
this.count++,
t.beginPath();
for (var o = 1; o < r - 2; o++) {
var s = 2 * o
, a = i[s]
, n = i[s + 2]
, h = i[s + 4]
, c = i[s + 1]
, l = i[s + 3]
, m = i[s + 5];
t.moveTo(a, c),
t.lineTo(n, l),
t.lineTo(h, m)
}
t.fillStyle = "#FF0000",
t.fill(),
t.closePath()
}
,
I.Strip.prototype.onTextureUpdate = function() {
this.updateFrame = !0
}
,
I.Strip.prototype.getBounds = function(e) {
for (var t = e || this.worldTransform, i = t.a, r = t.b, o = t.c, s = t.d, a = t.tx, n = t.ty, h = -1 / 0, c = -1 / 0, l = 1 / 0, m = 1 / 0, u = this.vertices, d = 0, p = u.length; d < p; d += 2) {
var f = u[d]
, y = u[d + 1]
, S = i * f + o * y + a
, w = s * y + r * f + n;
l = S < l ? S : l,
m = w < m ? w : m,
h = h < S ? S : h,
c = c < w ? w : c
}
if (l === -1 / 0 || c === 1 / 0)
return I.EmptyRectangle;
var g = this._bounds;
return g.x = l,
g.width = h - l,
g.y = m,
g.height = c - m,
this._currentBounds = g
}
,
I.Strip.DrawModes = {
TRIANGLE_STRIP: 0,
TRIANGLES: 1
},
I.Rope = function(e, t) {
I.Strip.call(this, e),
this.points = t,
this.vertices = new I.Float32Array(4 * t.length),
this.uvs = new I.Float32Array(4 * t.length),
this.colors = new I.Float32Array(2 * t.length),
this.indices = new I.Uint16Array(2 * t.length),
this.refresh()
}
,
I.Rope.prototype = Object.create(I.Strip.prototype),
I.Rope.prototype.constructor = I.Rope,
I.Rope.prototype.refresh = function() {
var e = this.points;
if (!(e.length < 1)) {
var t = this.uvs
, i = (e[0],
this.indices)
, r = this.colors;
this.count -= .2,
t[0] = 0,
t[1] = 0,
t[2] = 0,
t[3] = 1,
r[0] = 1,
r[1] = 1,
i[0] = 0,
i[1] = 1;
for (var o, s, a, n = e.length, h = 1; h < n; h++)
o = e[h],
a = h / (n - 1),
t[s = 4 * h] = a,
t[s + 1] = 0,
t[s + 2] = a,
t[s + 3] = 1,
r[s = 2 * h] = 1,
r[s + 1] = 1,
i[s = 2 * h] = s,
i[s + 1] = s + 1,
o
}
}
,
I.Rope.prototype.updateTransform = function() {
var e = this.points;
if (!(e.length < 1)) {
var t, i = e[0], r = {
x: 0,
y: 0
};
this.count -= .2;
for (var o, s, a, n, h = this.vertices, c = e.length, l = 0; l < c; l++)
o = e[l],
s = 4 * l,
t = l < e.length - 1 ? e[l + 1] : o,
r.y = -(t.x - i.x),
r.x = t.y - i.y,
1 < 10 * (1 - l / (c - 1)) && 1,
a = Math.sqrt(r.x * r.x + r.y * r.y),
n = this.texture.height / 2,
r.x /= a,
r.y /= a,
r.x *= n,
r.y *= n,
h[s] = o.x + r.x,
h[s + 1] = o.y + r.y,
h[s + 2] = o.x - r.x,
h[s + 3] = o.y - r.y,
i = o;
I.DisplayObjectContainer.prototype.updateTransform.call(this)
}
}
,
I.Rope.prototype.setTexture = function(e) {
this.texture = e
}
,
I.TilingSprite = function(e, t, i) {
I.Sprite.call(this, e),
this._width = t || 128,
this._height = i || 128,
this.tileScale = new I.Point(1,1),
this.tileScaleOffset = new I.Point(1,1),
this.tilePosition = new I.Point,
this.renderable = !0,
this.tint = 16777215,
this.textureDebug = !1,
this.blendMode = I.blendModes.NORMAL,
this.canvasBuffer = null,
this.tilingTexture = null,
this.tilePattern = null,
this.refreshTexture = !0,
this.frameWidth = 0,
this.frameHeight = 0
}
,
I.TilingSprite.prototype = Object.create(I.Sprite.prototype),
I.TilingSprite.prototype.constructor = I.TilingSprite,
I.TilingSprite.prototype.setTexture = function(e) {
this.texture !== e && (this.texture = e,
this.refreshTexture = !0,
this.cachedTint = 16777215)
}
,
I.TilingSprite.prototype._renderWebGL = function(e) {
if (this.visible && this.renderable && 0 !== this.alpha) {
if (this._mask && (e.spriteBatch.stop(),
e.maskManager.pushMask(this.mask, e),
e.spriteBatch.start()),
this._filters && (e.spriteBatch.flush(),
e.filterManager.pushFilter(this._filterBlock)),
this.refreshTexture) {
if (this.generateTilingTexture(!0, e),
!this.tilingTexture)
return;
this.tilingTexture.needsUpdate && (e.renderer.updateTexture(this.tilingTexture.baseTexture),
this.tilingTexture.needsUpdate = !1)
}
e.spriteBatch.renderTilingSprite(this);
for (var t = 0; t < this.children.length; t++)
this.children[t]._renderWebGL(e);
e.spriteBatch.stop(),
this._filters && e.filterManager.popFilter(),
this._mask && e.maskManager.popMask(this._mask, e),
e.spriteBatch.start()
}
}
,
I.TilingSprite.prototype._renderCanvas = function(e) {
if (this.visible && this.renderable && 0 !== this.alpha) {
var t = e.context;
this._mask && e.maskManager.pushMask(this._mask, e),
t.globalAlpha = this.worldAlpha;
var i = this.worldTransform
, r = e.resolution
, o = i.tx * r + e.shakeX
, s = i.ty * r + e.shakeY;
if (t.setTransform(i.a * r, i.b * r, i.c * r, i.d * r, o, s),
this.refreshTexture) {
if (this.generateTilingTexture(!1, e),
!this.tilingTexture)
return;
this.tilePattern = t.createPattern(this.tilingTexture.baseTexture.source, "repeat")
}
var a = e.currentBlendMode;
this.blendMode !== e.currentBlendMode && (e.currentBlendMode = this.blendMode,
t.globalCompositeOperation = I.blendModesCanvas[e.currentBlendMode]);
var n = this.tilePosition
, h = this.tileScale;
n.x %= this.tilingTexture.baseTexture.width,
n.y %= this.tilingTexture.baseTexture.height,
t.scale(h.x, h.y),
t.translate(n.x + this.anchor.x * -this._width, n.y + this.anchor.y * -this._height),
t.fillStyle = this.tilePattern;
o = -n.x,
s = -n.y;
var c = this._width / h.x
, l = this._height / h.y;
e.roundPixels && (o |= 0,
s |= 0,
c |= 0,
l |= 0),
t.fillRect(o, s, c, l),
t.scale(1 / h.x, 1 / h.y),
t.translate(-n.x + this.anchor.x * this._width, -n.y + this.anchor.y * this._height),
this._mask && e.maskManager.popMask(e);
for (var m = 0; m < this.children.length; m++)
this.children[m]._renderCanvas(e);
a !== this.blendMode && (e.currentBlendMode = a,
t.globalCompositeOperation = I.blendModesCanvas[a])
}
}
,
I.TilingSprite.prototype.onTextureUpdate = function() {}
,
I.TilingSprite.prototype.generateTilingTexture = function(e, t) {
if (this.texture.baseTexture.hasLoaded) {
var i = this.texture
, r = i.frame
, o = this._frame.sourceSizeW || this._frame.width
, s = this._frame.sourceSizeH || this._frame.height
, a = 0
, n = 0;
this._frame.trimmed && (a = this._frame.spriteSourceSizeX,
n = this._frame.spriteSourceSizeY),
e && (o = I.getNextPowerOfTwo(o),
s = I.getNextPowerOfTwo(s)),
this.canvasBuffer ? (this.canvasBuffer.resize(o, s),
this.tilingTexture.baseTexture.width = o,
this.tilingTexture.baseTexture.height = s) : (this.canvasBuffer = new I.CanvasBuffer(o,s),
this.tilingTexture = I.Texture.fromCanvas(this.canvasBuffer.canvas),
this.tilingTexture.isTiling = !0),
this.tilingTexture.needsUpdate = !0,
this.textureDebug && (this.canvasBuffer.context.strokeStyle = "#00ff00",
this.canvasBuffer.context.strokeRect(0, 0, o, s));
var h = i.crop.width
, c = i.crop.height;
h === o && c === s || (h = o,
c = s),
this.canvasBuffer.context.drawImage(i.baseTexture.source, i.crop.x, i.crop.y, i.crop.width, i.crop.height, a, n, h, c),
this.tileScaleOffset.x = r.width / o,
this.tileScaleOffset.y = r.height / s,
this.refreshTexture = !1,
this.tilingTexture.baseTexture._powerOf2 = !0
}
}
,
I.TilingSprite.prototype.getBounds = function() {
var e = this._width
, t = this._height
, i = e * (1 - this.anchor.x)
, r = e * -this.anchor.x
, o = t * (1 - this.anchor.y)
, s = t * -this.anchor.y
, a = this.worldTransform
, n = a.a
, h = a.b
, c = a.c
, l = a.d
, m = a.tx
, u = a.ty
, d = n * r + c * s + m
, p = l * s + h * r + u
, f = n * i + c * s + m
, y = l * s + h * i + u
, S = n * i + c * o + m
, w = l * o + h * i + u
, g = n * r + c * o + m
, x = l * o + h * r + u
, b = -1 / 0
, v = -1 / 0
, z = 1 / 0
, C = 1 / 0;
z = g < (z = S < (z = f < (z = d < z ? d : z) ? f : z) ? S : z) ? g : z,
C = x < (C = w < (C = y < (C = p < C ? p : C) ? y : C) ? w : C) ? x : C,
b = (b = (b = (b = b < d ? d : b) < f ? f : b) < S ? S : b) < g ? g : b,
v = (v = (v = (v = v < p ? p : v) < y ? y : v) < w ? w : v) < x ? x : v;
var T = this._bounds;
return T.x = z,
T.width = b - z,
T.y = C,
T.height = v - C,
this._currentBounds = T
}
,
I.TilingSprite.prototype.destroy = function() {
I.Sprite.prototype.destroy.call(this),
this.canvasBuffer && (this.canvasBuffer.destroy(),
this.canvasBuffer = null),
this.tileScale = null,
this.tileScaleOffset = null,
this.tilePosition = null,
this.tilingTexture && (this.tilingTexture.destroy(!0),
this.tilingTexture = null)
}
,
Object.defineProperty(I.TilingSprite.prototype, "width", {
get: function() {
return this._width
},
set: function(e) {
this._width = e
}
}),
Object.defineProperty(I.TilingSprite.prototype, "height", {
get: function() {
return this._height
},
set: function(e) {
this._height = e
}
}),
"undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = I),
exports.PIXI = I) : "undefined" != typeof define && define.amd ? define("PIXI", e.PIXI = I) : e.PIXI = I,
I
}
.call(this),
function() {
var s, e = this, W = W || {
VERSION: "2.6.15",
GAMES: [],
AUTO: 0,
CANVAS: 1,
WEBGL: 2,
HEADLESS: 3,
NONE: 0,
LEFT: 1,
RIGHT: 2,
UP: 3,
DOWN: 4,
SPRITE: 0,
BUTTON: 1,
IMAGE: 2,
GRAPHICS: 3,
TEXT: 4,
TILESPRITE: 5,
BITMAPTEXT: 6,
GROUP: 7,
RENDERTEXTURE: 8,
TILEMAP: 9,
TILEMAPLAYER: 10,
EMITTER: 11,
POLYGON: 12,
BITMAPDATA: 13,
CANVAS_FILTER: 14,
WEBGL_FILTER: 15,
ELLIPSE: 16,
SPRITEBATCH: 17,
RETROFONT: 18,
POINTER: 19,
ROPE: 20,
CIRCLE: 21,
RECTANGLE: 22,
LINE: 23,
MATRIX: 24,
POINT: 25,
ROUNDEDRECTANGLE: 26,
CREATURE: 27,
VIDEO: 28,
PENDING_ATLAS: -1,
HORIZONTAL: 0,
VERTICAL: 1,
LANDSCAPE: 0,
PORTRAIT: 1,
ANGLE_UP: 270,
ANGLE_DOWN: 90,
ANGLE_LEFT: 180,
ANGLE_RIGHT: 0,
ANGLE_NORTH_EAST: 315,
ANGLE_NORTH_WEST: 225,
ANGLE_SOUTH_EAST: 45,
ANGLE_SOUTH_WEST: 135,
TOP_LEFT: 0,
TOP_CENTER: 1,
TOP_RIGHT: 2,
LEFT_TOP: 3,
LEFT_CENTER: 4,
LEFT_BOTTOM: 5,
CENTER: 6,
RIGHT_TOP: 7,
RIGHT_CENTER: 8,
RIGHT_BOTTOM: 9,
BOTTOM_LEFT: 10,
BOTTOM_CENTER: 11,
BOTTOM_RIGHT: 12,
blendModes: {
NORMAL: 0,
ADD: 1,
MULTIPLY: 2,
SCREEN: 3,
OVERLAY: 4,
DARKEN: 5,
LIGHTEN: 6,
COLOR_DODGE: 7,
COLOR_BURN: 8,
HARD_LIGHT: 9,
SOFT_LIGHT: 10,
DIFFERENCE: 11,
EXCLUSION: 12,
HUE: 13,
SATURATION: 14,
COLOR: 15,
LUMINOSITY: 16
},
scaleModes: {
DEFAULT: 0,
LINEAR: 0,
NEAREST: 1
},
PIXI: PIXI || {}
};
if (Math.trunc || (Math.trunc = function(e) {
return e < 0 ? Math.ceil(e) : Math.floor(e)
}
),
Function.prototype.bind || (Function.prototype.bind = (s = Array.prototype.slice,
function(t) {
var i = this
, r = s.call(arguments, 1);
if ("function" != typeof i)
throw new TypeError;
function o() {
var e = r.concat(s.call(arguments));
i.apply(this instanceof o ? this : t, e)
}
return o.prototype = function e(t) {
if (t && (e.prototype = t),
!(this instanceof e))
return new e
}(i.prototype),
o
}
)),
Array.isArray || (Array.isArray = function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
}
),
Array.prototype.forEach || (Array.prototype.forEach = function(e) {
"use strict";
if (null == this)
throw new TypeError;
var t = Object(this)
, i = t.length >>> 0;
if ("function" != typeof e)
throw new TypeError;
for (var r = 2 <= arguments.length ? arguments[1] : void 0, o = 0; o < i; o++)
o in t && e.call(r, t[o], o, t)
}
),
"function" != typeof window.Uint32Array && "object" != typeof window.Uint32Array) {
var t = function(e) {
var t = new Array;
window[e] = function(e) {
if ("number" == typeof e) {
Array.call(this, e),
this.length = e;
for (var t = 0; t < this.length; t++)
this[t] = 0
} else {
Array.call(this, e.length),
this.length = e.length;
for (t = 0; t < this.length; t++)
this[t] = e[t]
}
}
,
window[e].prototype = t,
window[e].constructor = window[e]
};
t("Uint32Array"),
t("Int16Array")
}
function r(e, t) {
this._scaleFactor = e,
this._deltaMode = t,
this.originalEvent = null
}
for (var i in window.console || (window.console = {},
window.console.log = window.console.assert = function() {}
,
window.console.warn = window.console.assert = function() {}
),
/firefox/i.test(navigator.userAgent) && (window.oldGetComputedStyle = window.getComputedStyle,
window.getComputedStyle = function(e, t) {
var i = window.oldGetComputedStyle(e, t);
return null === i ? {
getPropertyValue: function() {}
} : i
}
),
W.Utils = {
reverseString: function(e) {
return e.split("").reverse().join("")
},
getProperty: function(e, t) {
for (var i = t.split("."), r = i.pop(), o = i.length, s = 1, a = i[0]; s < o && (e = e[a]); )
a = i[s],
s++;
return e ? e[r] : null
},
setProperty: function(e, t, i) {
for (var r = t.split("."), o = r.pop(), s = r.length, a = 1, n = r[0]; a < s && (e = e[n]); )
n = r[a],
a++;
return e && (e[o] = i),
e
},
chanceRoll: function(e) {
return void 0 === e && (e = 50),
0 < e && 100 * Math.random() <= e
},
randomChoice: function(e, t) {
return Math.random() < .5 ? e : t
},
parseDimension: function(e, t) {
var i = 0;
return "string" == typeof e ? "%" === e.substr(-1) ? (i = parseInt(e, 10) / 100,
0 === t ? window.innerWidth * i : window.innerHeight * i) : parseInt(e, 10) : e
},
pad: function(e, t, i, r) {
if (void 0 === t)
t = 0;
if (void 0 === i)
i = " ";
if (void 0 === r)
r = 3;
var o = 0;
if (t + 1 >= (e = e.toString()).length)
switch (r) {
case 1:
e = new Array(t + 1 - e.length).join(i) + e;
break;
case 3:
var s = Math.ceil((o = t - e.length) / 2);
e = new Array(o - s + 1).join(i) + e + new Array(s + 1).join(i);
break;
default:
e += new Array(t + 1 - e.length).join(i)
}
return e
},
isPlainObject: function(e) {
if ("object" != typeof e || e.nodeType || e === e.window)
return !1;
try {
if (e.constructor && !{}.hasOwnProperty.call(e.constructor.prototype, "isPrototypeOf"))
return !1
} catch (e) {
return !1
}
return !0
},
extend: function() {
var e, t, i, r, o, s, a = arguments[0] || {}, n = 1, h = arguments.length, c = !1;
for ("boolean" == typeof a && (c = a,
a = arguments[1] || {},
n = 2),
h === n && (a = this,
--n); n < h; n++)
if (null != (e = arguments[n]))
for (t in e)
i = a[t],
a !== (r = e[t]) && (c && r && (W.Utils.isPlainObject(r) || (o = Array.isArray(r))) ? (s = o ? (o = !1,
i && Array.isArray(i) ? i : []) : i && W.Utils.isPlainObject(i) ? i : {},
a[t] = W.Utils.extend(c, s, r)) : void 0 !== r && (a[t] = r));
return a
},
mixinPrototype: function(e, t, i) {
void 0 === i && (i = !1);
for (var r = Object.keys(t), o = 0; o < r.length; o++) {
var s = r[o]
, a = t[s];
!i && s in e || (!a || "function" != typeof a.get && "function" != typeof a.set ? e[s] = a : "function" == typeof a.clone ? e[s] = a.clone() : Object.defineProperty(e, s, a))
}
},
mixin: function(e, t) {
if (!e || "object" != typeof e)
return t;
for (var i in e) {
var r = e[i];
if (!r.childNodes && !r.cloneNode) {
var o = typeof e[i];
e[i] && "object" === o ? typeof t[i] === o ? t[i] = W.Utils.mixin(e[i], t[i]) : t[i] = W.Utils.mixin(e[i], new r.constructor) : t[i] = e[i]
}
}
return t
}
},
W.Circle = function(e, t, i) {
e = e || 0,
t = t || 0,
i = i || 0,
this.x = e,
this.y = t,
this._diameter = i,
(this._radius = 0) < i && (this._radius = .5 * i),
this.type = W.CIRCLE
}
,
W.Circle.prototype = {
circumference: function() {
return Math.PI * this._radius * 2
},
random: function(e) {
void 0 === e && (e = new W.Point);
var t = 2 * Math.PI * Math.random()
, i = Math.random() + Math.random()
, r = 1 < i ? 2 - i : i
, o = r * Math.cos(t)
, s = r * Math.sin(t);
return e.x = this.x + o * this.radius,
e.y = this.y + s * this.radius,
e
},
getBounds: function() {
return new W.Rectangle(this.x - this.radius,this.y - this.radius,this.diameter,this.diameter)
},
setTo: function(e, t, i) {
return this.x = e,
this.y = t,
this._diameter = i,
this._radius = .5 * i,
this
},
copyFrom: function(e) {
return this.setTo(e.x, e.y, e.diameter)
},
copyTo: function(e) {
return e.x = this.x,
e.y = this.y,
e.diameter = this._diameter,
e
},
distance: function(e, t) {
var i = W.Math.distance(this.x, this.y, e.x, e.y);
return t ? Math.round(i) : i
},
clone: function(e) {
return null == e ? e = new W.Circle(this.x,this.y,this.diameter) : e.setTo(this.x, this.y, this.diameter),
e
},
contains: function(e, t) {
return W.Circle.contains(this, e, t)
},
circumferencePoint: function(e, t, i) {
return W.Circle.circumferencePoint(this, e, t, i)
},
offset: function(e, t) {
return this.x += e,
this.y += t,
this
},
offsetPoint: function(e) {
return this.offset(e.x, e.y)
},
toString: function() {
return "[{Phaser.Circle (x=" + this.x + " y=" + this.y + " diameter=" + this.diameter + " radius=" + this.radius + ")}]"
}
},
W.Circle.prototype.constructor = W.Circle,
Object.defineProperty(W.Circle.prototype, "diameter", {
get: function() {
return this._diameter
},
set: function(e) {
0 < e && (this._diameter = e,
this._radius = .5 * e)
}
}),
Object.defineProperty(W.Circle.prototype, "radius", {
get: function() {
return this._radius
},
set: function(e) {
0 < e && (this._radius = e,
this._diameter = 2 * e)
}
}),
Object.defineProperty(W.Circle.prototype, "left", {
get: function() {
return this.x - this._radius
},
set: function(e) {
e > this.x ? (this._radius = 0,
this._diameter = 0) : this.radius = this.x - e
}
}),
Object.defineProperty(W.Circle.prototype, "right", {
get: function() {
return this.x + this._radius
},
set: function(e) {
e < this.x ? (this._radius = 0,
this._diameter = 0) : this.radius = e - this.x
}
}),
Object.defineProperty(W.Circle.prototype, "top", {
get: function() {
return this.y - this._radius
},
set: function(e) {
e > this.y ? (this._radius = 0,
this._diameter = 0) : this.radius = this.y - e
}
}),
Object.defineProperty(W.Circle.prototype, "bottom", {
get: function() {
return this.y + this._radius
},
set: function(e) {
e < this.y ? (this._radius = 0,
this._diameter = 0) : this.radius = e - this.y
}
}),
Object.defineProperty(W.Circle.prototype, "area", {
get: function() {
return 0 < this._radius ? Math.PI * this._radius * this._radius : 0
}
}),
Object.defineProperty(W.Circle.prototype, "empty", {
get: function() {
return 0 === this._diameter
},
set: function(e) {
!0 === e && this.setTo(0, 0, 0)
}
}),
W.Circle.contains = function(e, t, i) {
return 0 < e.radius && t >= e.left && t <= e.right && i >= e.top && i <= e.bottom && (e.x - t) * (e.x - t) + (e.y - i) * (e.y - i) <= e.radius * e.radius
}
,
W.Circle.equals = function(e, t) {
return e.x === t.x && e.y === t.y && e.diameter === t.diameter
}
,
W.Circle.intersects = function(e, t) {
return W.Math.distance(e.x, e.y, t.x, t.y) <= e.radius + t.radius
}
,
W.Circle.circumferencePoint = function(e, t, i, r) {
return void 0 === i && (i = !1),
void 0 === r && (r = new W.Point),
!0 === i && (t = W.Math.degToRad(t)),
r.x = e.x + e.radius * Math.cos(t),
r.y = e.y + e.radius * Math.sin(t),
r
}
,
W.Circle.intersectsRectangle = function(e, t) {
var i = Math.abs(e.x - t.x - t.halfWidth);
if (t.halfWidth + e.radius < i)
return !1;
var r = Math.abs(e.y - t.y - t.halfHeight);
if (t.halfHeight + e.radius < r)
return !1;
if (i <= t.halfWidth || r <= t.halfHeight)
return !0;
var o = i - t.halfWidth
, s = r - t.halfHeight;
return o * o + s * s <= e.radius * e.radius
}
,
PIXI.Circle = W.Circle,
W.Ellipse = function(e, t, i, r) {
e = e || 0,
t = t || 0,
i = i || 0,
r = r || 0,
this.x = e,
this.y = t,
this.width = i,
this.height = r,
this.type = W.ELLIPSE
}
,
W.Ellipse.prototype = {
setTo: function(e, t, i, r) {
return this.x = e,
this.y = t,
this.width = i,
this.height = r,
this
},
getBounds: function() {
return new W.Rectangle(this.x - this.width,this.y - this.height,this.width,this.height)
},
copyFrom: function(e) {
return this.setTo(e.x, e.y, e.width, e.height)
},
copyTo: function(e) {
return e.x = this.x,
e.y = this.y,
e.width = this.width,
e.height = this.height,
e
},
clone: function(e) {
return null == e ? e = new W.Ellipse(this.x,this.y,this.width,this.height) : e.setTo(this.x, this.y, this.width, this.height),
e
},
contains: function(e, t) {
return W.Ellipse.contains(this, e, t)
},
random: function(e) {
void 0 === e && (e = new W.Point);
var t = Math.random() * Math.PI * 2
, i = Math.random();
return e.x = Math.sqrt(i) * Math.cos(t),
e.y = Math.sqrt(i) * Math.sin(t),
e.x = this.x + e.x * this.width / 2,
e.y = this.y + e.y * this.height / 2,
e
},
toString: function() {
return "[{Phaser.Ellipse (x=" + this.x + " y=" + this.y + " width=" + this.width + " height=" + this.height + ")}]"
}
},
W.Ellipse.prototype.constructor = W.Ellipse,
Object.defineProperty(W.Ellipse.prototype, "left", {
get: function() {
return this.x
},
set: function(e) {
this.x = e
}
}),
Object.defineProperty(W.Ellipse.prototype, "right", {
get: function() {
return this.x + this.width
},
set: function(e) {
e < this.x ? this.width = 0 : this.width = e - this.x
}
}),
Object.defineProperty(W.Ellipse.prototype, "top", {
get: function() {
return this.y
},
set: function(e) {
this.y = e
}
}),
Object.defineProperty(W.Ellipse.prototype, "bottom", {
get: function() {
return this.y + this.height
},
set: function(e) {
e < this.y ? this.height = 0 : this.height = e - this.y
}
}),
Object.defineProperty(W.Ellipse.prototype, "empty", {
get: function() {
return 0 === this.width || 0 === this.height
},
set: function(e) {
!0 === e && this.setTo(0, 0, 0, 0)
}
}),
W.Ellipse.contains = function(e, t, i) {
if (e.width <= 0 || e.height <= 0)
return !1;
var r = (t - e.x) / e.width - .5
, o = (i - e.y) / e.height - .5;
return (r *= r) + (o *= o) < .25
}
,
PIXI.Ellipse = W.Ellipse,
W.Line = function(e, t, i, r) {
e = e || 0,
t = t || 0,
i = i || 0,
r = r || 0,
this.start = new W.Point(e,t),
this.end = new W.Point(i,r),
this.type = W.LINE
}
,
W.Line.prototype = {
setTo: function(e, t, i, r) {
return this.start.setTo(e, t),
this.end.setTo(i, r),
this
},
fromSprite: function(e, t, i) {
return void 0 === i && (i = !1),
i ? this.setTo(e.center.x, e.center.y, t.center.x, t.center.y) : this.setTo(e.x, e.y, t.x, t.y)
},
fromAngle: function(e, t, i, r) {
return this.start.setTo(e, t),
this.end.setTo(e + Math.cos(i) * r, t + Math.sin(i) * r),
this
},
rotate: function(e, t) {
var i = (this.start.x + this.end.x) / 2
, r = (this.start.y + this.end.y) / 2;
return this.start.rotate(i, r, e, t),
this.end.rotate(i, r, e, t),
this
},
rotateAround: function(e, t, i, r) {
return this.start.rotate(e, t, i, r),
this.end.rotate(e, t, i, r),
this
},
intersects: function(e, t, i) {
return W.Line.intersectsPoints(this.start, this.end, e.start, e.end, t, i)
},
reflect: function(e) {
return W.Line.reflect(this, e)
},
midPoint: function(e) {
return void 0 === e && (e = new W.Point),
e.x = (this.start.x + this.end.x) / 2,
e.y = (this.start.y + this.end.y) / 2,
e
},
centerOn: function(e, t) {
var i = e - (this.start.x + this.end.x) / 2
, r = t - (this.start.y + this.end.y) / 2;
this.start.add(i, r),
this.end.add(i, r)
},
pointOnLine: function(e, t) {
return (e - this.start.x) * (this.end.y - this.start.y) == (this.end.x - this.start.x) * (t - this.start.y)
},
pointOnSegment: function(e, t) {
var i = Math.min(this.start.x, this.end.x)
, r = Math.max(this.start.x, this.end.x)
, o = Math.min(this.start.y, this.end.y)
, s = Math.max(this.start.y, this.end.y);
return this.pointOnLine(e, t) && i <= e && e <= r && o <= t && t <= s
},
random: function(e) {
void 0 === e && (e = new W.Point);
var t = Math.random();
return e.x = this.start.x + t * (this.end.x - this.start.x),
e.y = this.start.y + t * (this.end.y - this.start.y),
e
},
coordinatesOnLine: function(e, t) {
void 0 === e && (e = 1),
void 0 === t && (t = []);
var i = Math.round(this.start.x)
, r = Math.round(this.start.y)
, o = Math.round(this.end.x)
, s = Math.round(this.end.y)
, a = Math.abs(o - i)
, n = Math.abs(s - r)
, h = i < o ? 1 : -1
, c = r < s ? 1 : -1
, l = a - n;
t.push([i, r]);
for (var m = 1; i !== o || r !== s; ) {
var u = l << 1;
-n < u && (l -= n,
i += h),
u < a && (l += a,
r += c),
m % e == 0 && t.push([i, r]),
m++
}
return t
},
clone: function(e) {
return null == e ? e = new W.Line(this.start.x,this.start.y,this.end.x,this.end.y) : e.setTo(this.start.x, this.start.y, this.end.x, this.end.y),
e
}
},
Object.defineProperty(W.Line.prototype, "length", {
get: function() {
return Math.sqrt((this.end.x - this.start.x) * (this.end.x - this.start.x) + (this.end.y - this.start.y) * (this.end.y - this.start.y))
}
}),
Object.defineProperty(W.Line.prototype, "angle", {
get: function() {
return Math.atan2(this.end.y - this.start.y, this.end.x - this.start.x)
}
}),
Object.defineProperty(W.Line.prototype, "slope", {
get: function() {
return (this.end.y - this.start.y) / (this.end.x - this.start.x)
}
}),
Object.defineProperty(W.Line.prototype, "perpSlope", {
get: function() {
return -(this.end.x - this.start.x) / (this.end.y - this.start.y)
}
}),
Object.defineProperty(W.Line.prototype, "x", {
get: function() {
return Math.min(this.start.x, this.end.x)
}
}),
Object.defineProperty(W.Line.prototype, "y", {
get: function() {
return Math.min(this.start.y, this.end.y)
}
}),
Object.defineProperty(W.Line.prototype, "left", {
get: function() {
return Math.min(this.start.x, this.end.x)
}
}),
Object.defineProperty(W.Line.prototype, "right", {
get: function() {
return Math.max(this.start.x, this.end.x)
}
}),
Object.defineProperty(W.Line.prototype, "top", {
get: function() {
return Math.min(this.start.y, this.end.y)
}
}),
Object.defineProperty(W.Line.prototype, "bottom", {
get: function() {
return Math.max(this.start.y, this.end.y)
}
}),
Object.defineProperty(W.Line.prototype, "width", {
get: function() {
return Math.abs(this.start.x - this.end.x)
}
}),
Object.defineProperty(W.Line.prototype, "height", {
get: function() {
return Math.abs(this.start.y - this.end.y)
}
}),
Object.defineProperty(W.Line.prototype, "normalX", {
get: function() {
return Math.cos(this.angle - 1.5707963267948966)
}
}),
Object.defineProperty(W.Line.prototype, "normalY", {
get: function() {
return Math.sin(this.angle - 1.5707963267948966)
}
}),
Object.defineProperty(W.Line.prototype, "normalAngle", {
get: function() {
return W.Math.wrap(this.angle - 1.5707963267948966, -Math.PI, Math.PI)
}
}),
W.Line.intersectsPoints = function(e, t, i, r, o, s) {
void 0 === o && (o = !0),
void 0 === s && (s = new W.Point);
var a = t.y - e.y
, n = r.y - i.y
, h = e.x - t.x
, c = i.x - r.x
, l = t.x * e.y - e.x * t.y
, m = r.x * i.y - i.x * r.y
, u = a * c - n * h;
if (0 === u)
return null;
if (s.x = (h * m - c * l) / u,
s.y = (n * l - a * m) / u,
o) {
var d = (r.y - i.y) * (t.x - e.x) - (r.x - i.x) * (t.y - e.y)
, p = ((r.x - i.x) * (e.y - i.y) - (r.y - i.y) * (e.x - i.x)) / d
, f = ((t.x - e.x) * (e.y - i.y) - (t.y - e.y) * (e.x - i.x)) / d;
return 0 <= p && p <= 1 && 0 <= f && f <= 1 ? s : null
}
return s
}
,
W.Line.intersects = function(e, t, i, r) {
return W.Line.intersectsPoints(e.start, e.end, t.start, t.end, i, r)
}
,
W.Line.intersectsRectangle = function(e, t) {
if (!W.Rectangle.intersects(e, t))
return !1;
var i = e.start.x
, r = e.start.y
, o = e.end.x
, s = e.end.y
, a = t.x
, n = t.y
, h = t.right
, c = t.bottom
, l = 0;
if (a <= i && i <= h && n <= r && r <= c || a <= o && o <= h && n <= s && s <= c)
return !0;
if (i < a && a <= o) {
if (n < (l = r + (s - r) * (a - i) / (o - i)) && l <= c)
return !0
} else if (h < i && o <= h && n <= (l = r + (s - r) * (h - i) / (o - i)) && l <= c)
return !0;
if (r < n && n <= s) {
if (a <= (l = i + (o - i) * (n - r) / (s - r)) && l <= h)
return !0
} else if (c < r && s <= c && a <= (l = i + (o - i) * (c - r) / (s - r)) && l <= h)
return !0;
return !1
}
,
W.Line.reflect = function(e, t) {
return 2 * t.normalAngle - 3.141592653589793 - e.angle
}
,
W.Matrix = function(e, t, i, r, o, s) {
null == e && (e = 1),
null == t && (t = 0),
null == i && (i = 0),
null == r && (r = 1),
null == o && (o = 0),
null == s && (s = 0),
this.a = e,
this.b = t,
this.c = i,
this.d = r,
this.tx = o,
this.ty = s,
this.type = W.MATRIX
}
,
W.Matrix.prototype = {
fromArray: function(e) {
return this.setTo(e[0], e[1], e[3], e[4], e[2], e[5])
},
setTo: function(e, t, i, r, o, s) {
return this.a = e,
this.b = t,
this.c = i,
this.d = r,
this.tx = o,
this.ty = s,
this
},
clone: function(e) {
return null == e ? e = new W.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty) : (e.a = this.a,
e.b = this.b,
e.c = this.c,
e.d = this.d,
e.tx = this.tx,
e.ty = this.ty),
e
},
copyTo: function(e) {
return e.copyFrom(this),
e
},
copyFrom: function(e) {
return this.a = e.a,
this.b = e.b,
this.c = e.c,
this.d = e.d,
this.tx = e.tx,
this.ty = e.ty,
this
},
toArray: function(e, t) {
return void 0 === t && (t = new PIXI.Float32Array(9)),
e ? (t[0] = this.a,
t[1] = this.b,
t[2] = 0,
t[3] = this.c,
t[4] = this.d,
t[5] = 0,
t[6] = this.tx,
t[7] = this.ty) : (t[0] = this.a,
t[1] = this.c,
t[2] = this.tx,
t[3] = this.b,
t[4] = this.d,
t[5] = this.ty,
t[6] = 0,
t[7] = 0),
t[8] = 1,
t
},
apply: function(e, t) {
return void 0 === t && (t = new W.Point),
t.x = this.a * e.x + this.c * e.y + this.tx,
t.y = this.b * e.x + this.d * e.y + this.ty,
t
},
applyInverse: function(e, t) {
void 0 === t && (t = new W.Point);
var i = 1 / (this.a * this.d + this.c * -this.b)
, r = e.x
, o = e.y;
return t.x = this.d * i * r + -this.c * i * o + (this.ty * this.c - this.tx * this.d) * i,
t.y = this.a * i * o + -this.b * i * r + (-this.ty * this.a + this.tx * this.b) * i,
t
},
translate: function(e, t) {
return this.tx += e,
this.ty += t,
this
},
scale: function(e, t) {
return this.a *= e,
this.d *= t,
this.c *= e,
this.b *= t,
this.tx *= e,
this.ty *= t,
this
},
rotate: function(e) {
var t = Math.cos(e)
, i = Math.sin(e)
, r = this.a
, o = this.c
, s = this.tx;
return this.a = r * t - this.b * i,
this.b = r * i + this.b * t,
this.c = o * t - this.d * i,
this.d = o * i + this.d * t,
this.tx = s * t - this.ty * i,
this.ty = s * i + this.ty * t,
this
},
append: function(e) {
var t = this.a
, i = this.b
, r = this.c
, o = this.d;
return this.a = e.a * t + e.b * r,
this.b = e.a * i + e.b * o,
this.c = e.c * t + e.d * r,
this.d = e.c * i + e.d * o,
this.tx = e.tx * t + e.ty * r + this.tx,
this.ty = e.tx * i + e.ty * o + this.ty,
this
},
identity: function() {
return this.setTo(1, 0, 0, 1, 0, 0)
}
},
W.identityMatrix = new W.Matrix,
PIXI.Matrix = W.Matrix,
PIXI.identityMatrix = W.identityMatrix,
W.Point = function(e, t) {
e = e || 0,
t = t || 0,
this.x = e,
this.y = t,
this.type = W.POINT
}
,
W.Point.prototype = {
copyFrom: function(e) {
return this.setTo(e.x, e.y)
},
invert: function() {
return this.setTo(this.y, this.x)
},
setTo: function(e, t) {
return this.x = e || 0,
this.y = t || (0 !== t ? this.x : 0),
this
},
set: function(e, t) {
return this.x = e || 0,
this.y = t || (0 !== t ? this.x : 0),
this
},
add: function(e, t) {
return this.x += e,
this.y += t,
this
},
subtract: function(e, t) {
return this.x -= e,
this.y -= t,
this
},
multiply: function(e, t) {
return this.x *= e,
this.y *= t,
this
},
divide: function(e, t) {
return this.x /= e,
this.y /= t,
this
},
clampX: function(e, t) {
return this.x = W.Math.clamp(this.x, e, t),
this
},
clampY: function(e, t) {
return this.y = W.Math.clamp(this.y, e, t),
this
},
clamp: function(e, t) {
return this.x = W.Math.clamp(this.x, e, t),
this.y = W.Math.clamp(this.y, e, t),
this
},
clone: function(e) {
return null == e ? e = new W.Point(this.x,this.y) : e.setTo(this.x, this.y),
e
},
copyTo: function(e) {
return e.x = this.x,
e.y = this.y,
e
},
distance: function(e, t) {
return W.Point.distance(this, e, t)
},
equals: function(e) {
return e.x === this.x && e.y === this.y
},
angle: function(e, t) {
return void 0 === t && (t = !1),
t ? W.Math.radToDeg(Math.atan2(e.y - this.y, e.x - this.x)) : Math.atan2(e.y - this.y, e.x - this.x)
},
rotate: function(e, t, i, r, o) {
return W.Point.rotate(this, e, t, i, r, o)
},
getMagnitude: function() {
return Math.sqrt(this.x * this.x + this.y * this.y)
},
getMagnitudeSq: function() {
return this.x * this.x + this.y * this.y
},
setMagnitude: function(e) {
return this.normalize().multiply(e, e)
},
normalize: function() {
if (!this.isZero()) {
var e = this.getMagnitude();
this.x /= e,
this.y /= e
}
return this
},
isZero: function() {
return 0 === this.x && 0 === this.y
},
dot: function(e) {
return this.x * e.x + this.y * e.y
},
cross: function(e) {
return this.x * e.y - this.y * e.x
},
perp: function() {
return this.setTo(-this.y, this.x)
},
rperp: function() {
return this.setTo(this.y, -this.x)
},
normalRightHand: function() {
return this.setTo(-1 * this.y, this.x)
},
floor: function() {
return this.setTo(Math.floor(this.x), Math.floor(this.y))
},
ceil: function() {
return this.setTo(Math.ceil(this.x), Math.ceil(this.y))
},
toString: function() {
return "[{Point (x=" + this.x + " y=" + this.y + ")}]"
}
},
W.Point.prototype.constructor = W.Point,
W.Point.add = function(e, t, i) {
return void 0 === i && (i = new W.Point),
i.x = e.x + t.x,
i.y = e.y + t.y,
i
}
,
W.Point.subtract = function(e, t, i) {
return void 0 === i && (i = new W.Point),
i.x = e.x - t.x,
i.y = e.y - t.y,
i
}
,
W.Point.multiply = function(e, t, i) {
return void 0 === i && (i = new W.Point),
i.x = e.x * t.x,
i.y = e.y * t.y,
i
}
,
W.Point.divide = function(e, t, i) {
return void 0 === i && (i = new W.Point),
i.x = e.x / t.x,
i.y = e.y / t.y,
i
}
,
W.Point.equals = function(e, t) {
return e.x === t.x && e.y === t.y
}
,
W.Point.angle = function(e, t) {
return Math.atan2(e.y - t.y, e.x - t.x)
}
,
W.Point.negative = function(e, t) {
return void 0 === t && (t = new W.Point),
t.setTo(-e.x, -e.y)
}
,
W.Point.multiplyAdd = function(e, t, i, r) {
return void 0 === r && (r = new W.Point),
r.setTo(e.x + t.x * i, e.y + t.y * i)
}
,
W.Point.interpolate = function(e, t, i, r) {
return void 0 === r && (r = new W.Point),
r.setTo(e.x + (t.x - e.x) * i, e.y + (t.y - e.y) * i)
}
,
W.Point.perp = function(e, t) {
return void 0 === t && (t = new W.Point),
t.setTo(-e.y, e.x)
}
,
W.Point.rperp = function(e, t) {
return void 0 === t && (t = new W.Point),
t.setTo(e.y, -e.x)
}
,
W.Point.distance = function(e, t, i) {
var r = W.Math.distance(e.x, e.y, t.x, t.y);
return i ? Math.round(r) : r
}
,
W.Point.project = function(e, t, i) {
void 0 === i && (i = new W.Point);
var r = e.dot(t) / t.getMagnitudeSq();
return 0 !== r && i.setTo(r * t.x, r * t.y),
i
}
,
W.Point.projectUnit = function(e, t, i) {
void 0 === i && (i = new W.Point);
var r = e.dot(t);
return 0 !== r && i.setTo(r * t.x, r * t.y),
i
}
,
W.Point.normalRightHand = function(e, t) {
return void 0 === t && (t = new W.Point),
t.setTo(-1 * e.y, e.x)
}
,
W.Point.normalize = function(e, t) {
void 0 === t && (t = new W.Point);
var i = e.getMagnitude();
return 0 !== i && t.setTo(e.x / i, e.y / i),
t
}
,
W.Point.rotate = function(e, t, i, r, o, s) {
if (o && (r = W.Math.degToRad(r)),
void 0 === s) {
e.subtract(t, i);
var a = Math.sin(r)
, n = Math.cos(r)
, h = n * e.x - a * e.y
, c = a * e.x + n * e.y;
e.x = h + t,
e.y = c + i
} else {
var l = r + Math.atan2(e.y - i, e.x - t);
e.x = t + s * Math.cos(l),
e.y = i + s * Math.sin(l)
}
return e
}
,
W.Point.centroid = function(e, t) {
if (void 0 === t && (t = new W.Point),
"[object Array]" !== Object.prototype.toString.call(e))
throw new Error("Phaser.Point. Parameter 'points' must be an array");
var i = e.length;
if (i < 1)
throw new Error("Phaser.Point. Parameter 'points' array must not be empty");
if (1 === i)
return t.copyFrom(e[0]),
t;
for (var r = 0; r < i; r++)
W.Point.add(t, e[r], t);
return t.divide(i, i),
t
}
,
W.Point.parse = function(e, t, i) {
t = t || "x",
i = i || "y";
var r = new W.Point;
return e[t] && (r.x = parseInt(e[t], 10)),
e[i] && (r.y = parseInt(e[i], 10)),
r
}
,
PIXI.Point = W.Point,
W.Polygon = function() {
this.area = 0,
this._points = [],
0 < arguments.length && this.setTo.apply(this, arguments),
this.closed = !0,
this.flattened = !1,
this.type = W.POLYGON
}
,
W.Polygon.prototype = {
toNumberArray: function(e) {
void 0 === e && (e = []);
for (var t = 0; t < this._points.length; t++)
"number" == typeof this._points[t] ? (e.push(this._points[t]),
e.push(this._points[t + 1]),
t++) : (e.push(this._points[t].x),
e.push(this._points[t].y));
return e
},
flatten: function() {
return this._points = this.toNumberArray(),
this.flattened = !0,
this
},
clone: function(e) {
var t = this._points.slice();
return null == e ? e = new W.Polygon(t) : e.setTo(t),
e
},
contains: function(e, t) {
var i = !1;
if (this.flattened)
for (var r = -2, o = this._points.length - 2; (r += 2) < this._points.length; o = r) {
var s = this._points[r]
, a = this._points[r + 1]
, n = this._points[o]
, h = this._points[o + 1];
(a <= t && t < h || h <= t && t < a) && e < (n - s) * (t - a) / (h - a) + s && (i = !i)
}
else
for (r = -1,
o = this._points.length - 1; ++r < this._points.length; o = r) {
s = this._points[r].x,
a = this._points[r].y,
n = this._points[o].x,
h = this._points[o].y;
(a <= t && t < h || h <= t && t < a) && e < (n - s) * (t - a) / (h - a) + s && (i = !i)
}
return i
},
setTo: function(e) {
if (this.area = 0,
this._points = [],
0 < arguments.length) {
Array.isArray(e) || (e = Array.prototype.slice.call(arguments));
for (var t = Number.MAX_VALUE, i = 0, r = e.length; i < r; i++) {
if ("number" == typeof e[i]) {
var o = new PIXI.Point(e[i],e[i + 1]);
i++
} else if (Array.isArray(e[i]))
o = new PIXI.Point(e[i][0],e[i][1]);
else
o = new PIXI.Point(e[i].x,e[i].y);
this._points.push(o),
o.y < t && (t = o.y)
}
this.calculateArea(t)
}
return this
},
calculateArea: function(e) {
for (var t, i, r, o, s = 0, a = this._points.length; s < a; s++)
t = this._points[s],
i = s === a - 1 ? this._points[0] : this._points[s + 1],
r = (t.y - e + (i.y - e)) / 2,
o = t.x - i.x,
this.area += r * o;
return this.area
}
},
W.Polygon.prototype.constructor = W.Polygon,
Object.defineProperty(W.Polygon.prototype, "points", {
get: function() {
return this._points
},
set: function(e) {
null != e ? this.setTo(e) : this.setTo()
}
}),
PIXI.Polygon = W.Polygon,
W.Rectangle = function(e, t, i, r) {
e = e || 0,
t = t || 0,
i = i || 0,
r = r || 0,
this.x = e,
this.y = t,
this.width = i,
this.height = r,
this.type = W.RECTANGLE
}
,
W.Rectangle.prototype = {
offset: function(e, t) {
return this.x += e,
this.y += t,
this
},
offsetPoint: function(e) {
return this.offset(e.x, e.y)
},
setTo: function(e, t, i, r) {
return this.x = e,
this.y = t,
this.width = i,
this.height = r,
this
},
scale: function(e, t) {
return void 0 === t && (t = e),
this.width *= e,
this.height *= t,
this
},
centerOn: function(e, t) {
return this.centerX = e,
this.centerY = t,
this
},
floor: function() {
this.x = Math.floor(this.x),
this.y = Math.floor(this.y)
},
floorAll: function() {
this.x = Math.floor(this.x),
this.y = Math.floor(this.y),
this.width = Math.floor(this.width),
this.height = Math.floor(this.height)
},
ceil: function() {
this.x = Math.ceil(this.x),
this.y = Math.ceil(this.y)
},
ceilAll: function() {
this.x = Math.ceil(this.x),
this.y = Math.ceil(this.y),
this.width = Math.ceil(this.width),
this.height = Math.ceil(this.height)
},
copyFrom: function(e) {
return this.setTo(e.x, e.y, e.width, e.height)
},
copyTo: function(e) {
return e.x = this.x,
e.y = this.y,
e.width = this.width,
e.height = this.height,
e
},
inflate: function(e, t) {
return W.Rectangle.inflate(this, e, t)
},
size: function(e) {
return W.Rectangle.size(this, e)
},
resize: function(e, t) {
return this.width = e,
this.height = t,
this
},
clone: function(e) {
return W.Rectangle.clone(this, e)
},
contains: function(e, t) {
return W.Rectangle.contains(this, e, t)
},
containsRect: function(e) {
return W.Rectangle.containsRect(e, this)
},
equals: function(e) {
return W.Rectangle.equals(this, e)
},
intersection: function(e, t) {
return W.Rectangle.intersection(this, e, t)
},
intersects: function(e) {
return W.Rectangle.intersects(this, e)
},
intersectsRaw: function(e, t, i, r, o) {
return W.Rectangle.intersectsRaw(this, e, t, i, r, o)
},
union: function(e, t) {
return W.Rectangle.union(this, e, t)
},
random: function(e) {
return void 0 === e && (e = new W.Point),
e.x = this.randomX,
e.y = this.randomY,
e
},
getPoint: function(e, t) {
switch (void 0 === t && (t = new W.Point),
e) {
default:
case W.TOP_LEFT:
return t.set(this.x, this.y);
case W.TOP_CENTER:
return t.set(this.centerX, this.y);
case W.TOP_RIGHT:
return t.set(this.right, this.y);
case W.LEFT_CENTER:
return t.set(this.x, this.centerY);
case W.CENTER:
return t.set(this.centerX, this.centerY);
case W.RIGHT_CENTER:
return t.set(this.right, this.centerY);
case W.BOTTOM_LEFT:
return t.set(this.x, this.bottom);
case W.BOTTOM_CENTER:
return t.set(this.centerX, this.bottom);
case W.BOTTOM_RIGHT:
return t.set(this.right, this.bottom)
}
},
toString: function() {
return "[{Rectangle (x=" + this.x + " y=" + this.y + " width=" + this.width + " height=" + this.height + " empty=" + this.empty + ")}]"
}
},
Object.defineProperty(W.Rectangle.prototype, "halfWidth", {
get: function() {
return Math.round(this.width / 2)
}
}),
Object.defineProperty(W.Rectangle.prototype, "halfHeight", {
get: function() {
return Math.round(this.height / 2)
}
}),
Object.defineProperty(W.Rectangle.prototype, "bottom", {
get: function() {
return this.y + this.height
},
set: function(e) {
e <= this.y ? this.height = 0 : this.height = e - this.y
}
}),
Object.defineProperty(W.Rectangle.prototype, "bottomLeft", {
get: function() {
return new W.Point(this.x,this.bottom)
},
set: function(e) {
this.x = e.x,
this.bottom = e.y
}
}),
Object.defineProperty(W.Rectangle.prototype, "bottomRight", {
get: function() {
return new W.Point(this.right,this.bottom)
},
set: function(e) {
this.right = e.x,
this.bottom = e.y
}
}),
Object.defineProperty(W.Rectangle.prototype, "left", {
get: function() {
return this.x
},
set: function(e) {
e >= this.right ? this.width = 0 : this.width = this.right - e,
this.x = e
}
}),
Object.defineProperty(W.Rectangle.prototype, "right", {
get: function() {
return this.x + this.width
},
set: function(e) {
e <= this.x ? this.width = 0 : this.width = e - this.x
}
}),
Object.defineProperty(W.Rectangle.prototype, "volume", {
get: function() {
return this.width * this.height
}
}),
Object.defineProperty(W.Rectangle.prototype, "perimeter", {
get: function() {
return 2 * this.width + 2 * this.height
}
}),
Object.defineProperty(W.Rectangle.prototype, "centerX", {
get: function() {
return this.x + this.halfWidth
},
set: function(e) {
this.x = e - this.halfWidth
}
}),
Object.defineProperty(W.Rectangle.prototype, "centerY", {
get: function() {
return this.y + this.halfHeight
},
set: function(e) {
this.y = e - this.halfHeight
}
}),
Object.defineProperty(W.Rectangle.prototype, "randomX", {
get: function() {
return this.x + Math.random() * this.width
}
}),
Object.defineProperty(W.Rectangle.prototype, "randomY", {
get: function() {
return this.y + Math.random() * this.height
}
}),
Object.defineProperty(W.Rectangle.prototype, "top", {
get: function() {
return this.y
},
set: function(e) {
e >= this.bottom ? (this.height = 0,
this.y = e) : this.height = this.bottom - e
}
}),
Object.defineProperty(W.Rectangle.prototype, "topLeft", {
get: function() {
return new W.Point(this.x,this.y)
},
set: function(e) {
this.x = e.x,
this.y = e.y
}
}),
Object.defineProperty(W.Rectangle.prototype, "topRight", {
get: function() {
return new W.Point(this.x + this.width,this.y)
},
set: function(e) {
this.right = e.x,
this.y = e.y
}
}),
Object.defineProperty(W.Rectangle.prototype, "empty", {
get: function() {
return !this.width || !this.height
},
set: function(e) {
!0 === e && this.setTo(0, 0, 0, 0)
}
}),
W.Rectangle.prototype.constructor = W.Rectangle,
W.Rectangle.inflate = function(e, t, i) {
return e.x -= t,
e.width += 2 * t,
e.y -= i,
e.height += 2 * i,
e
}
,
W.Rectangle.inflatePoint = function(e, t) {
return W.Rectangle.inflate(e, t.x, t.y)
}
,
W.Rectangle.size = function(e, t) {
return null == t ? t = new W.Point(e.width,e.height) : t.setTo(e.width, e.height),
t
}
,
W.Rectangle.clone = function(e, t) {
return null == t ? t = new W.Rectangle(e.x,e.y,e.width,e.height) : t.setTo(e.x, e.y, e.width, e.height),
t
}
,
W.Rectangle.contains = function(e, t, i) {
return !(e.width <= 0 || e.height <= 0) && (t >= e.x && t < e.right && i >= e.y && i < e.bottom)
}
,
W.Rectangle.containsRaw = function(e, t, i, r, o, s) {
return e <= o && o < e + i && t <= s && s < t + r
}
,
W.Rectangle.containsPoint = function(e, t) {
return W.Rectangle.contains(e, t.x, t.y)
}
,
W.Rectangle.containsRect = function(e, t) {
return !(e.volume > t.volume) && (e.x >= t.x && e.y >= t.y && e.right < t.right && e.bottom < t.bottom)
}
,
W.Rectangle.equals = function(e, t) {
return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height
}
,
W.Rectangle.sameDimensions = function(e, t) {
return e.width === t.width && e.height === t.height
}
,
W.Rectangle.intersection = function(e, t, i) {
return void 0 === i && (i = new W.Rectangle),
W.Rectangle.intersects(e, t) && (i.x = Math.max(e.x, t.x),
i.y = Math.max(e.y, t.y),
i.width = Math.min(e.right, t.right) - i.x,
i.height = Math.min(e.bottom, t.bottom) - i.y),
i
}
,
W.Rectangle.intersects = function(e, t) {
return !(e.width <= 0 || e.height <= 0 || t.width <= 0 || t.height <= 0) && !(e.right < t.x || e.bottom < t.y || e.x > t.right || e.y > t.bottom)
}
,
W.Rectangle.intersectsRaw = function(e, t, i, r, o, s) {
return void 0 === s && (s = 0),
!(t > e.right + s || i < e.left - s || r > e.bottom + s || o < e.top - s)
}
,
W.Rectangle.union = function(e, t, i) {
return void 0 === i && (i = new W.Rectangle),
i.setTo(Math.min(e.x, t.x), Math.min(e.y, t.y), Math.max(e.right, t.right) - Math.min(e.left, t.left), Math.max(e.bottom, t.bottom) - Math.min(e.top, t.top))
}
,
W.Rectangle.aabb = function(e, t) {
void 0 === t && (t = new W.Rectangle);
var i = Number.NEGATIVE_INFINITY
, r = Number.POSITIVE_INFINITY
, o = Number.NEGATIVE_INFINITY
, s = Number.POSITIVE_INFINITY;
return e.forEach(function(e) {
e.x > i && (i = e.x),
e.x < r && (r = e.x),
e.y > o && (o = e.y),
e.y < s && (s = e.y)
}),
t.setTo(r, s, i - r, o - s),
t
}
,
PIXI.Rectangle = W.Rectangle,
PIXI.EmptyRectangle = new W.Rectangle(0,0,0,0),
W.RoundedRectangle = function(e, t, i, r, o) {
void 0 === e && (e = 0),
void 0 === t && (t = 0),
void 0 === i && (i = 0),
void 0 === r && (r = 0),
void 0 === o && (o = 20),
this.x = e,
this.y = t,
this.width = i,
this.height = r,
this.radius = o || 20,
this.type = W.ROUNDEDRECTANGLE
}
,
W.RoundedRectangle.prototype = {
clone: function() {
return new W.RoundedRectangle(this.x,this.y,this.width,this.height,this.radius)
},
contains: function(e, t) {
if (this.width <= 0 || this.height <= 0)
return !1;
var i = this.x;
if (i <= e && e <= i + this.width) {
var r = this.y;
if (r <= t && t <= r + this.height)
return !0
}
return !1
}
},
W.RoundedRectangle.prototype.constructor = W.RoundedRectangle,
PIXI.RoundedRectangle = W.RoundedRectangle,
W.Camera = function(e, t, i, r, o, s) {
this.game = e,
this.world = e.world,
this.id = 0,
this.view = new W.Rectangle(i,r,o,s),
this.bounds = new W.Rectangle(i,r,o,s),
this.deadzone = null,
this.visible = !0,
this.roundPx = !0,
this.atLimit = {
x: !1,
y: !1
},
this.target = null,
this.displayObject = null,
this.scale = null,
this.totalInView = 0,
this.lerp = new W.Point(1,1),
this.onShakeComplete = new W.Signal,
this.onFlashComplete = new W.Signal,
this.onFadeComplete = new W.Signal,
this.fx = null,
this._targetPosition = new W.Point,
this._edge = 0,
this._position = new W.Point,
this._shake = {
intensity: 0,
duration: 0,
horizontal: !1,
vertical: !1,
shakeBounds: !0,
x: 0,
y: 0
},
this._fxDuration = 0,
this._fxType = 0
}
,
W.Camera.FOLLOW_LOCKON = 0,
W.Camera.FOLLOW_PLATFORMER = 1,
W.Camera.FOLLOW_TOPDOWN = 2,
W.Camera.FOLLOW_TOPDOWN_TIGHT = 3,
W.Camera.SHAKE_BOTH = 4,
W.Camera.SHAKE_HORIZONTAL = 5,
W.Camera.SHAKE_VERTICAL = 6,
W.Camera.ENABLE_FX = !0,
W.Camera.prototype = {
boot: function() {
this.displayObject = this.game.world,
this.scale = this.game.world.scale,
this.game.camera = this,
W.Graphics && W.Camera.ENABLE_FX && (this.fx = new W.Graphics(this.game),
this.game.stage.addChild(this.fx))
},
preUpdate: function() {
this.totalInView = 0
},
follow: function(e, t, i, r) {
var o;
switch (void 0 === t && (t = W.Camera.FOLLOW_LOCKON),
void 0 === i && (i = 1),
void 0 === r && (r = 1),
this.target = e,
this.lerp.set(i, r),
t) {
case W.Camera.FOLLOW_PLATFORMER:
var s = this.width / 8
, a = this.height / 3;
this.deadzone = new W.Rectangle((this.width - s) / 2,(this.height - a) / 2 - .25 * a,s,a);
break;
case W.Camera.FOLLOW_TOPDOWN:
o = Math.max(this.width, this.height) / 4,
this.deadzone = new W.Rectangle((this.width - o) / 2,(this.height - o) / 2,o,o);
break;
case W.Camera.FOLLOW_TOPDOWN_TIGHT:
o = Math.max(this.width, this.height) / 8,
this.deadzone = new W.Rectangle((this.width - o) / 2,(this.height - o) / 2,o,o);
break;
case W.Camera.FOLLOW_LOCKON:
default:
this.deadzone = null
}
},
unfollow: function() {
this.target = null
},
focusOn: function(e) {
this.setPosition(Math.round(e.x - this.view.halfWidth), Math.round(e.y - this.view.halfHeight))
},
focusOnXY: function(e, t) {
this.setPosition(Math.round(e - this.view.halfWidth), Math.round(t - this.view.halfHeight))
},
shake: function(e, t, i, r, o) {
return void 0 === e && (e = .05),
void 0 === t && (t = 500),
void 0 === i && (i = !0),
void 0 === r && (r = W.Camera.SHAKE_BOTH),
void 0 === o && (o = !0),
!(!i && 0 < this._shake.duration) && (this._shake.intensity = e,
this._shake.duration = t,
this._shake.shakeBounds = o,
this._shake.x = 0,
this._shake.y = 0,
this._shake.horizontal = r === W.Camera.SHAKE_BOTH || r === W.Camera.SHAKE_HORIZONTAL,
this._shake.vertical = r === W.Camera.SHAKE_BOTH || r === W.Camera.SHAKE_VERTICAL,
!0)
},
flash: function(e, t, i) {
return void 0 === e && (e = 16777215),
void 0 === t && (t = 500),
void 0 === i && (i = !1),
!(!this.fx || !i && 0 < this._fxDuration) && (this.fx.clear(),
this.fx.beginFill(e),
this.fx.drawRect(0, 0, this.width, this.height),
this.fx.endFill(),
this.fx.alpha = 1,
this._fxDuration = t,
!(this._fxType = 0))
},
fade: function(e, t, i) {
return void 0 === e && (e = 0),
void 0 === t && (t = 500),
void 0 === i && (i = !1),
!(!this.fx || !i && 0 < this._fxDuration) && (this.fx.clear(),
this.fx.beginFill(e),
this.fx.drawRect(0, 0, this.width, this.height),
this.fx.endFill(),
this.fx.alpha = 0,
this._fxDuration = t,
this._fxType = 1,
!0)
},
update: function() {
0 < this._fxDuration && this.updateFX(),
0 < this._shake.duration && this.updateShake(),
this.bounds && this.checkBounds(),
this.roundPx && (this.view.floor(),
this._shake.x = Math.floor(this._shake.x),
this._shake.y = Math.floor(this._shake.y)),
this.displayObject.position.x = -this.view.x,
this.displayObject.position.y = -this.view.y
},
updateFX: function() {
0 === this._fxType ? (this.fx.alpha -= this.game.time.elapsedMS / this._fxDuration,
this.fx.alpha <= 0 && (this._fxDuration = 0,
this.fx.alpha = 0,
this.onFlashComplete.dispatch())) : (this.fx.alpha += this.game.time.elapsedMS / this._fxDuration,
1 <= this.fx.alpha && (this._fxDuration = 0,
this.fx.alpha = 1,
this.onFadeComplete.dispatch()))
},
updateShake: function() {
this._shake.duration -= this.game.time.elapsedMS,
this._shake.duration <= 0 ? (this.onShakeComplete.dispatch(),
this._shake.x = 0,
this._shake.y = 0) : (this._shake.horizontal && (this._shake.x = this.game.rnd.frac() * this._shake.intensity * this.view.width * 2 - this._shake.intensity * this.view.width),
this._shake.vertical && (this._shake.y = this.game.rnd.frac() * this._shake.intensity * this.view.height * 2 - this._shake.intensity * this.view.height))
},
updateTarget: function() {
this._targetPosition.x = this.view.x + this.target.worldPosition.x,
this._targetPosition.y = this.view.y + this.target.worldPosition.y,
this.deadzone ? (this._edge = this._targetPosition.x - this.view.x,
this._edge < this.deadzone.left ? this.view.x = this.game.math.linear(this.view.x, this._targetPosition.x - this.deadzone.left, this.lerp.x) : this._edge > this.deadzone.right && (this.view.x = this.game.math.linear(this.view.x, this._targetPosition.x - this.deadzone.right, this.lerp.x)),
this._edge = this._targetPosition.y - this.view.y,
this._edge < this.deadzone.top ? this.view.y = this.game.math.linear(this.view.y, this._targetPosition.y - this.deadzone.top, this.lerp.y) : this._edge > this.deadzone.bottom && (this.view.y = this.game.math.linear(this.view.y, this._targetPosition.y - this.deadzone.bottom, this.lerp.y))) : (this.view.x = this.game.math.linear(this.view.x, this._targetPosition.x - this.view.halfWidth, this.lerp.x),
this.view.y = this.game.math.linear(this.view.y, this._targetPosition.y - this.view.halfHeight, this.lerp.y)),
this.bounds && this.checkBounds(),
this.roundPx && this.view.floor(),
this.displayObject.position.x = -this.view.x,
this.displayObject.position.y = -this.view.y
},
setBoundsToWorld: function() {
this.bounds && this.bounds.copyFrom(this.game.world.bounds)
},
checkBounds: function() {
this.atLimit.x = !1,
this.atLimit.y = !1;
var e = this.view.x + this._shake.x
, t = this.view.right + this._shake.x
, i = this.view.y + this._shake.y
, r = this.view.bottom + this._shake.y;
e <= this.bounds.x * this.scale.x && (this.atLimit.x = !0,
this.view.x = this.bounds.x * this.scale.x,
this._shake.shakeBounds || (this._shake.x = 0)),
t >= this.bounds.right * this.scale.x && (this.atLimit.x = !0,
this.view.x = this.bounds.right * this.scale.x - this.width,
this._shake.shakeBounds || (this._shake.x = 0)),
i <= this.bounds.top * this.scale.y && (this.atLimit.y = !0,
this.view.y = this.bounds.top * this.scale.y,
this._shake.shakeBounds || (this._shake.y = 0)),
r >= this.bounds.bottom * this.scale.y && (this.atLimit.y = !0,
this.view.y = this.bounds.bottom * this.scale.y - this.height,
this._shake.shakeBounds || (this._shake.y = 0))
},
setPosition: function(e, t) {
this.view.x = e,
this.view.y = t,
this.bounds && this.checkBounds()
},
setSize: function(e, t) {
this.view.width = e,
this.view.height = t
},
reset: function() {
this.target = null,
this.view.x = 0,
this.view.y = 0,
this._shake.duration = 0,
this.resetFX()
},
resetFX: function() {
this.fx && (this.fx.clear(),
this.fx.alpha = 0,
this._fxDuration = 0)
}
},
W.Camera.prototype.constructor = W.Camera,
Object.defineProperty(W.Camera.prototype, "x", {
get: function() {
return this.view.x
},
set: function(e) {
this.view.x = e,
this.bounds && this.checkBounds()
}
}),
Object.defineProperty(W.Camera.prototype, "y", {
get: function() {
return this.view.y
},
set: function(e) {
this.view.y = e,
this.bounds && this.checkBounds()
}
}),
Object.defineProperty(W.Camera.prototype, "position", {
get: function() {
return this._position.set(this.view.x, this.view.y),
this._position
},
set: function(e) {
void 0 !== e.x && (this.view.x = e.x),
void 0 !== e.y && (this.view.y = e.y),
this.bounds && this.checkBounds()
}
}),
Object.defineProperty(W.Camera.prototype, "width", {
get: function() {
return this.view.width
},
set: function(e) {
this.view.width = e
}
}),
Object.defineProperty(W.Camera.prototype, "height", {
get: function() {
return this.view.height
},
set: function(e) {
this.view.height = e
}
}),
Object.defineProperty(W.Camera.prototype, "shakeIntensity", {
get: function() {
return this._shake.intensity
},
set: function(e) {
this._shake.intensity = e
}
}),
W.State = function() {
this.game = null,
this.key = "",
this.add = null,
this.make = null,
this.camera = null,
this.cache = null,
this.input = null,
this.load = null,
this.math = null,
this.sound = null,
this.scale = null,
this.stage = null,
this.state = null,
this.time = null,
this.tweens = null,
this.world = null,
this.particles = null,
this.physics = null,
this.rnd = null
}
,
W.State.prototype = {
init: function() {},
preload: function() {},
loadUpdate: function() {},
loadRender: function() {},
create: function() {},
update: function() {},
preRender: function() {},
render: function() {},
resize: function() {},
paused: function() {},
resumed: function() {},
pauseUpdate: function() {},
shutdown: function() {}
},
W.State.prototype.constructor = W.State,
W.StateManager = function(e, t) {
this.game = e,
this.states = {},
(this._pendingState = null) != t && (this._pendingState = t),
this._clearWorld = !1,
this._clearCache = !1,
this._created = !1,
this._args = [],
this.current = "",
this.onStateChange = new W.Signal,
this.onInitCallback = null,
this.onPreloadCallback = null,
this.onCreateCallback = null,
this.onUpdateCallback = null,
this.onRenderCallback = null,
this.onResizeCallback = null,
this.onPreRenderCallback = null,
this.onLoadUpdateCallback = null,
this.onLoadRenderCallback = null,
this.onPausedCallback = null,
this.onResumedCallback = null,
this.onPauseUpdateCallback = null,
this.onShutDownCallback = null
}
,
W.StateManager.prototype = {
boot: function() {
this.game.onPause.add(this.pause, this),
this.game.onResume.add(this.resume, this),
null !== this._pendingState && "string" != typeof this._pendingState && this.add("default", this._pendingState, !0)
},
add: function(e, t, i) {
var r;
return void 0 === i && (i = !1),
t instanceof W.State ? r = t : "object" == typeof t ? (r = t).game = this.game : "function" == typeof t && (r = new t(this.game)),
this.states[e] = r,
i && (this.game.isBooted ? this.start(e) : this._pendingState = e),
r
},
remove: function(e) {
this.current === e && (this.callbackContext = null,
this.onInitCallback = null,
this.onShutDownCallback = null,
this.onPreloadCallback = null,
this.onLoadRenderCallback = null,
this.onLoadUpdateCallback = null,
this.onCreateCallback = null,
this.onUpdateCallback = null,
this.onPreRenderCallback = null,
this.onRenderCallback = null,
this.onResizeCallback = null,
this.onPausedCallback = null,
this.onResumedCallback = null,
this.onPauseUpdateCallback = null),
delete this.states[e]
},
start: function(e, t, i) {
void 0 === t && (t = !0),
void 0 === i && (i = !1),
this.checkState(e) && (this._pendingState = e,
this._clearWorld = t,
this._clearCache = i,
3 < arguments.length && (this._args = Array.prototype.splice.call(arguments, 3)))
},
restart: function(e, t) {
void 0 === e && (e = !0),
void 0 === t && (t = !1),
this._pendingState = this.current,
this._clearWorld = e,
this._clearCache = t,
2 < arguments.length && (this._args = Array.prototype.slice.call(arguments, 2))
},
dummy: function() {},
preUpdate: function() {
if (this._pendingState && this.game.isBooted) {
var e = this.current;
if (this.clearCurrentState(),
this.setCurrentState(this._pendingState),
this.onStateChange.dispatch(this.current, e),
this.current !== this._pendingState)
return;
this._pendingState = null,
this.onPreloadCallback ? (this.game.load.reset(!0),
this.onPreloadCallback.call(this.callbackContext, this.game),
0 === this.game.load.totalQueuedFiles() && 0 === this.game.load.totalQueuedPacks() ? this.loadComplete() : this.game.load.start()) : this.loadComplete()
}
},
clearCurrentState: function() {
this.current && (this.onShutDownCallback && this.onShutDownCallback.call(this.callbackContext, this.game),
this.game.tweens.removeAll(),
this.game.camera.reset(),
this.game.input.reset(!0),
this.game.physics.clear(),
this.game.time.removeAll(),
this.game.scale.reset(this._clearWorld),
this.game.debug && this.game.debug.reset(),
this._clearWorld && (this.game.world.shutdown(),
this._clearCache && this.game.cache.destroy()))
},
checkState: function(e) {
return !!this.states[e] && !!(this.states[e].preload || this.states[e].create || this.states[e].update || this.states[e].render)
},
link: function(e) {
this.states[e].game = this.game,
this.states[e].add = this.game.add,
this.states[e].make = this.game.make,
this.states[e].camera = this.game.camera,
this.states[e].cache = this.game.cache,
this.states[e].input = this.game.input,
this.states[e].load = this.game.load,
this.states[e].math = this.game.math,
this.states[e].sound = this.game.sound,
this.states[e].scale = this.game.scale,
(this.states[e].state = this).states[e].stage = this.game.stage,
this.states[e].time = this.game.time,
this.states[e].tweens = this.game.tweens,
this.states[e].world = this.game.world,
this.states[e].particles = this.game.particles,
this.states[e].rnd = this.game.rnd,
this.states[e].physics = this.game.physics,
this.states[e].key = e
},
unlink: function(e) {
this.states[e] && (this.states[e].game = null,
this.states[e].add = null,
this.states[e].make = null,
this.states[e].camera = null,
this.states[e].cache = null,
this.states[e].input = null,
this.states[e].load = null,
this.states[e].math = null,
this.states[e].sound = null,
this.states[e].scale = null,
this.states[e].state = null,
this.states[e].stage = null,
this.states[e].time = null,
this.states[e].tweens = null,
this.states[e].world = null,
this.states[e].particles = null,
this.states[e].rnd = null,
this.states[e].physics = null)
},
setCurrentState: function(e) {
this.callbackContext = this.states[e],
this.link(e),
this.onInitCallback = this.states[e].init || this.dummy,
this.onPreloadCallback = this.states[e].preload || null,
this.onLoadRenderCallback = this.states[e].loadRender || null,
this.onLoadUpdateCallback = this.states[e].loadUpdate || null,
this.onCreateCallback = this.states[e].create || null,
this.onUpdateCallback = this.states[e].update || null,
this.onPreRenderCallback = this.states[e].preRender || null,
this.onRenderCallback = this.states[e].render || null,
this.onResizeCallback = this.states[e].resize || null,
this.onPausedCallback = this.states[e].paused || null,
this.onResumedCallback = this.states[e].resumed || null,
this.onPauseUpdateCallback = this.states[e].pauseUpdate || null,
this.onShutDownCallback = this.states[e].shutdown || this.dummy,
"" !== this.current && this.game.physics.reset(),
this.current = e,
this._created = !1,
this.onInitCallback.apply(this.callbackContext, this._args),
e === this._pendingState && (this._args = []),
this.game._kickstart = !0
},
getCurrentState: function() {
return this.states[this.current]
},
loadComplete: function() {
!1 === this._created && this.onLoadUpdateCallback && this.onLoadUpdateCallback.call(this.callbackContext, this.game),
!1 === this._created && this.onCreateCallback ? (this._created = !0,
this.onCreateCallback.call(this.callbackContext, this.game)) : this._created = !0
},
pause: function() {
this._created && this.onPausedCallback && this.onPausedCallback.call(this.callbackContext, this.game)
},
resume: function() {
this._created && this.onResumedCallback && this.onResumedCallback.call(this.callbackContext, this.game)
},
update: function() {
this._created ? this.onUpdateCallback && this.onUpdateCallback.call(this.callbackContext, this.game) : this.onLoadUpdateCallback && this.onLoadUpdateCallback.call(this.callbackContext, this.game)
},
pauseUpdate: function() {
this._created ? this.onPauseUpdateCallback && this.onPauseUpdateCallback.call(this.callbackContext, this.game) : this.onLoadUpdateCallback && this.onLoadUpdateCallback.call(this.callbackContext, this.game)
},
preRender: function(e) {
this._created && this.onPreRenderCallback && this.onPreRenderCallback.call(this.callbackContext, this.game, e)
},
resize: function(e, t) {
this.onResizeCallback && this.onResizeCallback.call(this.callbackContext, e, t)
},
render: function() {
this._created ? this.onRenderCallback && (this.game.renderType === W.CANVAS ? (this.game.context.save(),
this.game.context.setTransform(1, 0, 0, 1, 0, 0),
this.onRenderCallback.call(this.callbackContext, this.game),
this.game.context.restore()) : this.onRenderCallback.call(this.callbackContext, this.game)) : this.onLoadRenderCallback && this.onLoadRenderCallback.call(this.callbackContext, this.game)
},
destroy: function() {
this._clearWorld = !0,
this._clearCache = !0,
this.clearCurrentState(),
this.callbackContext = null,
this.onInitCallback = null,
this.onShutDownCallback = null,
this.onPreloadCallback = null,
this.onLoadRenderCallback = null,
this.onLoadUpdateCallback = null,
this.onCreateCallback = null,
this.onUpdateCallback = null,
this.onRenderCallback = null,
this.onPausedCallback = null,
this.onResumedCallback = null,
this.onPauseUpdateCallback = null,
this.game = null,
this.states = {},
this._pendingState = null,
this.current = ""
}
},
W.StateManager.prototype.constructor = W.StateManager,
Object.defineProperty(W.StateManager.prototype, "created", {
get: function() {
return this._created
}
}),
W.Signal = function() {}
,
W.Signal.prototype = {
_bindings: null,
_prevParams: null,
memorize: !1,
_shouldPropagate: !0,
active: !0,
_boundDispatch: !1,
validateListener: function(e, t) {
if ("function" != typeof e)
throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}", t))
},
_registerListener: function(e, t, i, r, o) {
var s, a = this._indexOfListener(e, i);
if (-1 !== a) {
if ((s = this._bindings[a]).isOnce() !== t)
throw new Error("You cannot add" + (t ? "" : "Once") + "() then add" + (t ? "Once" : "") + "() the same listener without removing the relationship first.")
} else
s = new W.SignalBinding(this,e,t,i,r,o),
this._addBinding(s);
return this.memorize && this._prevParams && s.execute(this._prevParams),
s
},
_addBinding: function(e) {
this._bindings || (this._bindings = []);
for (var t = this._bindings.length; t--,
this._bindings[t] && e._priority <= this._bindings[t]._priority; )
;
this._bindings.splice(t + 1, 0, e)
},
_indexOfListener: function(e, t) {
if (!this._bindings)
return -1;
void 0 === t && (t = null);
for (var i, r = this._bindings.length; r--; )
if ((i = this._bindings[r])._listener === e && i.context === t)
return r;
return -1
},
has: function(e, t) {
return -1 !== this._indexOfListener(e, t)
},
add: function(e, t, i) {
this.validateListener(e, "add");
var r = [];
if (3 < arguments.length)
for (var o = 3; o < arguments.length; o++)
r.push(arguments[o]);
return this._registerListener(e, !1, t, i, r)
},
addOnce: function(e, t, i) {
this.validateListener(e, "addOnce");
var r = [];
if (3 < arguments.length)
for (var o = 3; o < arguments.length; o++)
r.push(arguments[o]);
return this._registerListener(e, !0, t, i, r)
},
remove: function(e, t) {
this.validateListener(e, "remove");
var i = this._indexOfListener(e, t);
return -1 !== i && (this._bindings[i]._destroy(),
this._bindings.splice(i, 1)),
e
},
removeAll: function(e) {
if (void 0 === e && (e = null),
this._bindings) {
for (var t = this._bindings.length; t--; )
e ? this._bindings[t].context === e && (this._bindings[t]._destroy(),
this._bindings.splice(t, 1)) : this._bindings[t]._destroy();
e || (this._bindings.length = 0)
}
},
getNumListeners: function() {
return this._bindings ? this._bindings.length : 0
},
halt: function() {
this._shouldPropagate = !1
},
dispatch: function() {
if (this.active && this._bindings) {
var e, t = Array.prototype.slice.call(arguments), i = this._bindings.length;
if (this.memorize && (this._prevParams = t),
i)
for (e = this._bindings.slice(),
this._shouldPropagate = !0; e[--i] && this._shouldPropagate && !1 !== e[i].execute(t); )
;
}
},
forget: function() {
this._prevParams && (this._prevParams = null)
},
dispose: function() {
this.removeAll(),
this._bindings = null,
this._prevParams && (this._prevParams = null)
},
toString: function() {
return "[Phaser.Signal active:" + this.active + " numListeners:" + this.getNumListeners() + "]"
}
},
Object.defineProperty(W.Signal.prototype, "boundDispatch", {
get: function() {
var e = this;
return this._boundDispatch || (this._boundDispatch = function() {
return e.dispatch.apply(e, arguments)
}
)
}
}),
W.Signal.prototype.constructor = W.Signal,
W.SignalBinding = function(e, t, i, r, o, s) {
this._listener = t,
i && (this._isOnce = !0),
null != r && (this.context = r),
this._signal = e,
o && (this._priority = o),
s && s.length && (this._args = s)
}
,
W.SignalBinding.prototype = {
context: null,
_isOnce: !1,
_priority: 0,
_args: null,
callCount: 0,
active: !0,
params: null,
execute: function(e) {
var t, i;
return this.active && this._listener && (i = this.params ? this.params.concat(e) : e,
this._args && (i = i.concat(this._args)),
t = this._listener.apply(this.context, i),
this.callCount++,
this._isOnce && this.detach()),
t
},
detach: function() {
return this.isBound() ? this._signal.remove(this._listener, this.context) : null
},
isBound: function() {
return !!this._signal && !!this._listener
},
isOnce: function() {
return this._isOnce
},
getListener: function() {
return this._listener
},
getSignal: function() {
return this._signal
},
_destroy: function() {
delete this._signal,
delete this._listener,
delete this.context
},
toString: function() {
return "[Phaser.SignalBinding isOnce:" + this._isOnce + ", isBound:" + this.isBound() + ", active:" + this.active + "]"
}
},
W.SignalBinding.prototype.constructor = W.SignalBinding,
W.Filter = function(e, t, i) {
this.game = e,
this.type = W.WEBGL_FILTER,
this.passes = [this],
this.shaders = [],
this.dirty = !0,
this.padding = 0,
this.prevPoint = new W.Point;
var r = new Date;
if (this.uniforms = {
resolution: {
type: "2f",
value: {
x: 256,
y: 256
}
},
time: {
type: "1f",
value: 0
},
mouse: {
type: "2f",
value: {
x: 0,
y: 0
}
},
date: {
type: "4fv",
value: [r.getFullYear(), r.getMonth(), r.getDate(), 60 * r.getHours() * 60 + 60 * r.getMinutes() + r.getSeconds()]
},
sampleRate: {
type: "1f",
value: 44100
},
iChannel0: {
type: "sampler2D",
value: null,
textureData: {
repeat: !0
}
},
iChannel1: {
type: "sampler2D",
value: null,
textureData: {
repeat: !0
}
},
iChannel2: {
type: "sampler2D",
value: null,
textureData: {
repeat: !0
}
},
iChannel3: {
type: "sampler2D",
value: null,
textureData: {
repeat: !0
}
}
},
t)
for (var o in t)
this.uniforms[o] = t[o];
this.fragmentSrc = i || ""
}
,
W.Filter.prototype = {
init: function() {},
setResolution: function(e, t) {
this.uniforms.resolution.value.x = e,
this.uniforms.resolution.value.y = t
},
update: function(e) {
if (void 0 !== e) {
var t = e.x / this.game.width
, i = 1 - e.y / this.game.height;
t === this.prevPoint.x && i === this.prevPoint.y || (this.uniforms.mouse.value.x = t.toFixed(2),
this.uniforms.mouse.value.y = i.toFixed(2),
this.prevPoint.set(t, i))
}
this.uniforms.time.value = this.game.time.totalElapsedSeconds()
},
addToWorld: function(e, t, i, r, o, s) {
void 0 === o && (o = 0),
void 0 === s && (s = 0),
null != i ? this.width = i : i = this.width,
null != r ? this.height = r : r = this.height;
var a = this.game.add.image(e, t, "__default");
return a.width = i,
a.height = r,
a.anchor.set(o, s),
a.filters = [this],
a
},
destroy: function() {
this.game = null
}
},
W.Filter.prototype.constructor = W.Filter,
Object.defineProperty(W.Filter.prototype, "width", {
get: function() {
return this.uniforms.resolution.value.x
},
set: function(e) {
this.uniforms.resolution.value.x = e
}
}),
Object.defineProperty(W.Filter.prototype, "height", {
get: function() {
return this.uniforms.resolution.value.y
},
set: function(e) {
this.uniforms.resolution.value.y = e
}
}),
W.Plugin = function(e, t) {
void 0 === t && (t = null),
this.game = e,
this.parent = t,
this.active = !1,
this.visible = !1,
this.hasPreUpdate = !1,
this.hasUpdate = !1,
this.hasPostUpdate = !1,
this.hasRender = !1,
this.hasPostRender = !1
}
,
W.Plugin.prototype = {
preUpdate: function() {},
update: function() {},
render: function() {},
postRender: function() {},
destroy: function() {
this.game = null,
this.parent = null,
this.active = !1,
this.visible = !1
}
},
W.Plugin.prototype.constructor = W.Plugin,
W.PluginManager = function(e) {
this.game = e,
this.plugins = [],
this._len = 0,
this._i = 0
}
,
W.PluginManager.prototype = {
add: function(e) {
var t = Array.prototype.slice.call(arguments, 1)
, i = !1;
return "function" == typeof e ? e = new e(this.game,this) : (e.game = this.game,
e.parent = this),
"function" == typeof e.preUpdate && (i = e.hasPreUpdate = !0),
"function" == typeof e.update && (i = e.hasUpdate = !0),
"function" == typeof e.postUpdate && (i = e.hasPostUpdate = !0),
"function" == typeof e.render && (i = e.hasRender = !0),
"function" == typeof e.postRender && (i = e.hasPostRender = !0),
i ? ((e.hasPreUpdate || e.hasUpdate || e.hasPostUpdate) && (e.active = !0),
(e.hasRender || e.hasPostRender) && (e.visible = !0),
this._len = this.plugins.push(e),
"function" == typeof e.init && e.init.apply(e, t),
e) : null
},
remove: function(e, t) {
for (void 0 === t && (t = !0),
this._i = this._len; this._i--; )
if (this.plugins[this._i] === e)
return t && e.destroy(),
this.plugins.splice(this._i, 1),
void this._len--
},
removeAll: function() {
for (this._i = this._len; this._i--; )
this.plugins[this._i].destroy();
this.plugins.length = 0,
this._len = 0
},
preUpdate: function() {
for (this._i = this._len; this._i--; )
this.plugins[this._i].active && this.plugins[this._i].hasPreUpdate && this.plugins[this._i].preUpdate()
},
update: function() {
for (this._i = this._len; this._i--; )
this.plugins[this._i].active && this.plugins[this._i].hasUpdate && this.plugins[this._i].update()
},
postUpdate: function() {
for (this._i = this._len; this._i--; )
this.plugins[this._i].active && this.plugins[this._i].hasPostUpdate && this.plugins[this._i].postUpdate()
},
render: function() {
for (this._i = this._len; this._i--; )
this.plugins[this._i].visible && this.plugins[this._i].hasRender && this.plugins[this._i].render()
},
postRender: function() {
for (this._i = this._len; this._i--; )
this.plugins[this._i].visible && this.plugins[this._i].hasPostRender && this.plugins[this._i].postRender()
},
destroy: function() {
this.removeAll(),
this.game = null
}
},
W.PluginManager.prototype.constructor = W.PluginManager,
W.Stage = function(e) {
this.game = e,
PIXI.DisplayObjectContainer.call(this),
this.name = "_stage_root",
this.disableVisibilityChange = !1,
this.exists = !0,
this.worldTransform = new PIXI.Matrix,
(this.stage = this).currentRenderOrderID = 0,
this._hiddenVar = "hidden",
this._onChange = null,
this._bgColor = {
r: 0,
g: 0,
b: 0,
a: 0,
color: 0,
rgba: "#000000"
},
this.game.transparent || (this._bgColor.a = 1),
e.config && this.parseConfig(e.config)
}
,
W.Stage.prototype = Object.create(PIXI.DisplayObjectContainer.prototype),
W.Stage.prototype.constructor = W.Stage,
W.Stage.prototype.parseConfig = function(e) {
e.disableVisibilityChange && (this.disableVisibilityChange = e.disableVisibilityChange),
e.backgroundColor && this.setBackgroundColor(e.backgroundColor)
}
,
W.Stage.prototype.boot = function() {
W.DOM.getOffset(this.game.canvas, this.offset),
W.Canvas.setUserSelect(this.game.canvas, "none"),
W.Canvas.setTouchAction(this.game.canvas, "none"),
this.checkVisibility()
}
,
W.Stage.prototype.preUpdate = function() {
for (var e = this.currentRenderOrderID = 0; e < this.children.length; ) {
var t = this.children[e];
t.preUpdate(),
this === t.parent && e++
}
}
,
W.Stage.prototype.update = function() {
for (var e = this.children.length; e--; )
this.children[e].update()
}
,
W.Stage.prototype.postUpdate = function() {
this.game.camera.update(),
this.game.camera.target && (this.game.camera.target.postUpdate(),
this.updateTransform(),
this.game.camera.updateTarget());
for (var e = 0; e < this.children.length; e++)
this.children[e].postUpdate();
this.updateTransform()
}
,
W.Stage.prototype.updateTransform = function() {
this.worldAlpha = 1;
for (var e = 0; e < this.children.length; e++)
this.children[e].updateTransform()
}
,
W.Stage.prototype.checkVisibility = function() {
void 0 !== document.hidden ? this._hiddenVar = "visibilitychange" : void 0 !== document.webkitHidden ? this._hiddenVar = "webkitvisibilitychange" : void 0 !== document.mozHidden ? this._hiddenVar = "mozvisibilitychange" : void 0 !== document.msHidden ? this._hiddenVar = "msvisibilitychange" : this._hiddenVar = null;
var t = this;
this._onChange = function(e) {
return t.visibilityChange(e)
}
,
this._onClick = function(e) {
document.hasFocus() || t.visibilityChange(e)
}
,
this._hiddenVar && document.addEventListener(this._hiddenVar, this._onChange, !1),
window.onblur = this._onChange,
window.onfocus = this._onChange,
window.onpagehide = this._onChange,
window.onpageshow = this._onChange,
window.addEventListener("click", this._onClick),
this.game.device.cocoonJSApp && (CocoonJS.App.onSuspended.addEventListener(function() {
W.Stage.prototype.visibilityChange.call(t, {
type: "pause"
})
}),
CocoonJS.App.onActivated.addEventListener(function() {
W.Stage.prototype.visibilityChange.call(t, {
type: "resume"
})
}))
}
,
W.Stage.prototype.visibilityChange = function(e) {
switch (e.type) {
case "blur":
case "pagehide":
return void this.game.focusLoss(e);
case "click":
case "focus":
case "pageshow":
return void this.game.focusGain(e)
}
this.disableVisibilityChange || (document.hidden || document.mozHidden || document.msHidden || document.webkitHidden || "pause" === e.type ? this.game.gamePaused(e) : this.game.gameResumed(e))
}
,
W.Stage.prototype.setBackgroundColor = function(e) {
this.game.transparent || (W.Color.valueToColor(e, this._bgColor),
W.Color.updateColor(this._bgColor),
this._bgColor.r /= 255,
this._bgColor.g /= 255,
this._bgColor.b /= 255,
this._bgColor.a = 1)
}
,
W.Stage.prototype.destroy = function() {
this._hiddenVar && document.removeEventListener(this._hiddenVar, this._onChange, !1),
window.onpagehide = null,
window.onpageshow = null,
window.onblur = null,
window.onfocus = null,
window.removeEventListener("click", this._onClick)
}
,
Object.defineProperty(W.Stage.prototype, "backgroundColor", {
get: function() {
return this._bgColor.color
},
set: function(e) {
this.setBackgroundColor(e)
}
}),
Object.defineProperty(W.Stage.prototype, "smoothed", {
get: function() {
return PIXI.scaleModes.DEFAULT === PIXI.scaleModes.LINEAR
},
set: function(e) {
PIXI.scaleModes.DEFAULT = e ? PIXI.scaleModes.LINEAR : PIXI.scaleModes.NEAREST
}
}),
W.Group = function(e, t, i, r, o, s) {
void 0 === r && (r = !1),
void 0 === o && (o = !1),
void 0 === s && (s = W.Physics.ARCADE),
this.game = e,
void 0 === t && (t = e.world),
this.name = i || "group",
this.z = 0,
PIXI.DisplayObjectContainer.call(this),
r ? (this.game.stage.addChild(this),
this.z = this.game.stage.children.length) : t && (t.addChild(this),
this.z = t.children.length),
this.type = W.GROUP,
this.physicsType = W.GROUP,
this.alive = !0,
this.exists = !0,
this.ignoreDestroy = !1,
this.pendingDestroy = !1,
this.classType = W.Sprite,
this.cursor = null,
this.inputEnableChildren = !1,
this.onChildInputDown = new W.Signal,
this.onChildInputUp = new W.Signal,
this.onChildInputOver = new W.Signal,
this.onChildInputOut = new W.Signal,
this.enableBody = o,
this.enableBodyDebug = !1,
this.physicsBodyType = s,
this.physicsSortDirection = null,
this.onDestroy = new W.Signal,
this.cursorIndex = 0,
this.fixedToCamera = !1,
this.cameraOffset = new W.Point,
this.hash = [],
this._sortProperty = "z"
}
,
W.Group.prototype = Object.create(PIXI.DisplayObjectContainer.prototype),
W.Group.prototype.constructor = W.Group,
W.Group.RETURN_NONE = 0,
W.Group.RETURN_TOTAL = 1,
W.Group.RETURN_CHILD = 2,
W.Group.RETURN_ALL = 3,
W.Group.SORT_ASCENDING = -1,
W.Group.SORT_DESCENDING = 1,
W.Group.prototype.add = function(e, t, i) {
return void 0 === t && (t = !1),
e.parent === this || (e.body && e.parent && e.parent.hash && e.parent.removeFromHash(e),
void 0 === i ? (e.z = this.children.length,
this.addChild(e)) : (this.addChildAt(e, i),
this.updateZ()),
this.enableBody && e.hasOwnProperty("body") && null === e.body ? this.game.physics.enable(e, this.physicsBodyType) : e.body && this.addToHash(e),
!this.inputEnableChildren || e.input && !e.inputEnabled || (e.inputEnabled = !0),
!t && e.events && e.events.onAddedToGroup$dispatch(e, this),
null === this.cursor && (this.cursor = e)),
e
}
,
W.Group.prototype.addAt = function(e, t, i) {
this.add(e, i, t)
}
,
W.Group.prototype.addToHash = function(e) {
if (e.parent === this && -1 === this.hash.indexOf(e))
return this.hash.push(e),
!0;
return !1
}
,
W.Group.prototype.removeFromHash = function(e) {
if (e) {
var t = this.hash.indexOf(e);
if (-1 !== t)
return this.hash.splice(t, 1),
!0
}
return !1
}
,
W.Group.prototype.addMultiple = function(e, t) {
if (e instanceof W.Group)
e.moveAll(this, t);
else if (Array.isArray(e))
for (var i = 0; i < e.length; i++)
this.add(e[i], t);
return e
}
,
W.Group.prototype.getAt = function(e) {
return e < 0 || e >= this.children.length ? -1 : this.getChildAt(e)
}
,
W.Group.prototype.create = function(e, t, i, r, o, s) {
void 0 === o && (o = !0);
var a = new this.classType(this.game,e,t,i,r);
return a.exists = o,
a.visible = o,
a.alive = o,
this.add(a, !1, s)
}
,
W.Group.prototype.createMultiple = function(r, e, t, o) {
void 0 === t && (t = 0),
void 0 === o && (o = !1),
Array.isArray(e) || (e = [e]),
Array.isArray(t) || (t = [t]);
var s = this
, a = [];
return e.forEach(function(i) {
t.forEach(function(e) {
for (var t = 0; t < r; t++)
a.push(s.create(0, 0, i, e, o))
})
}),
a
}
,
W.Group.prototype.updateZ = function() {
for (var e = this.children.length; e--; )
this.children[e].z = e
}
,
W.Group.prototype.align = function(e, t, i, r, o, s) {
if (void 0 === o && (o = W.TOP_LEFT),
void 0 === s && (s = 0),
0 === this.children.length || s > this.children.length || -1 === e && -1 === t)
return !1;
for (var a = new W.Rectangle(0,0,i,r), n = e * i, h = t * r, c = s; c < this.children.length; c++) {
var l = this.children[c];
if (l.alignIn)
if (l.alignIn(a, o),
-1 === e)
a.y += r,
a.y === h && (a.x += i,
a.y = 0);
else if (-1 === t)
a.x += i,
a.x === n && (a.x = 0,
a.y += r);
else if (a.x += i,
a.x === n && (a.x = 0,
a.y += r,
a.y === h))
return !0
}
return !0
}
,
W.Group.prototype.resetCursor = function(e) {
if (void 0 === e && (e = 0),
e > this.children.length - 1 && (e = 0),
this.cursor)
return this.cursorIndex = e,
this.cursor = this.children[this.cursorIndex],
this.cursor
}
,
W.Group.prototype.next = function() {
if (this.cursor)
return this.cursorIndex >= this.children.length - 1 ? this.cursorIndex = 0 : this.cursorIndex++,
this.cursor = this.children[this.cursorIndex],
this.cursor
}
,
W.Group.prototype.previous = function() {
if (this.cursor)
return 0 === this.cursorIndex ? this.cursorIndex = this.children.length - 1 : this.cursorIndex--,
this.cursor = this.children[this.cursorIndex],
this.cursor
}
,
W.Group.prototype.swap = function(e, t) {
this.swapChildren(e, t),
this.updateZ()
}
,
W.Group.prototype.bringToTop = function(e) {
return e.parent === this && this.getIndex(e) < this.children.length && (this.remove(e, !1, !0),
this.add(e, !0)),
e
}
,
W.Group.prototype.sendToBack = function(e) {
return e.parent === this && 0 < this.getIndex(e) && (this.remove(e, !1, !0),
this.addAt(e, 0, !0)),
e
}
,
W.Group.prototype.moveUp = function(e) {
if (e.parent === this && this.getIndex(e) < this.children.length - 1) {
var t = this.getIndex(e)
, i = this.getAt(t + 1);
i && this.swap(e, i)
}
return e
}
,
W.Group.prototype.moveDown = function(e) {
if (e.parent === this && 0 < this.getIndex(e)) {
var t = this.getIndex(e)
, i = this.getAt(t - 1);
i && this.swap(e, i)
}
return e
}
,
W.Group.prototype.xy = function(e, t, i) {
if (e < 0 || e > this.children.length)
return -1;
this.getChildAt(e).x = t,
this.getChildAt(e).y = i
}
,
W.Group.prototype.reverse = function() {
this.children.reverse(),
this.updateZ()
}
,
W.Group.prototype.getIndex = function(e) {
return this.children.indexOf(e)
}
,
W.Group.prototype.getByName = function(e) {
for (var t = 0; t < this.children.length; t++)
if (this.children[t].name === e)
return this.children[t];
return null
}
,
W.Group.prototype.replace = function(e, t) {
var i = this.getIndex(e);
if (-1 !== i)
return t.parent && (t.parent instanceof W.Group ? t.parent.remove(t) : t.parent.removeChild(t)),
this.remove(e),
this.addAt(t, i),
e
}
,
W.Group.prototype.hasProperty = function(e, t) {
var i = t.length;
return 1 === i && t[0]in e || (2 === i && t[0]in e && t[1]in e[t[0]] || (3 === i && t[0]in e && t[1]in e[t[0]] && t[2]in e[t[0]][t[1]] || 4 === i && t[0]in e && t[1]in e[t[0]] && t[2]in e[t[0]][t[1]] && t[3]in e[t[0]][t[1]][t[2]]))
}
,
W.Group.prototype.setProperty = function(e, t, i, r, o) {
if (void 0 === o && (o = !1),
r = r || 0,
!this.hasProperty(e, t) && (!o || 0 < r))
return !1;
var s = t.length;
return 1 === s ? 0 === r ? e[t[0]] = i : 1 === r ? e[t[0]] += i : 2 === r ? e[t[0]] -= i : 3 === r ? e[t[0]] *= i : 4 === r && (e[t[0]] /= i) : 2 === s ? 0 === r ? e[t[0]][t[1]] = i : 1 === r ? e[t[0]][t[1]] += i : 2 === r ? e[t[0]][t[1]] -= i : 3 === r ? e[t[0]][t[1]] *= i : 4 === r && (e[t[0]][t[1]] /= i) : 3 === s ? 0 === r ? e[t[0]][t[1]][t[2]] = i : 1 === r ? e[t[0]][t[1]][t[2]] += i : 2 === r ? e[t[0]][t[1]][t[2]] -= i : 3 === r ? e[t[0]][t[1]][t[2]] *= i : 4 === r && (e[t[0]][t[1]][t[2]] /= i) : 4 === s && (0 === r ? e[t[0]][t[1]][t[2]][t[3]] = i : 1 === r ? e[t[0]][t[1]][t[2]][t[3]] += i : 2 === r ? e[t[0]][t[1]][t[2]][t[3]] -= i : 3 === r ? e[t[0]][t[1]][t[2]][t[3]] *= i : 4 === r && (e[t[0]][t[1]][t[2]][t[3]] /= i)),
!0
}
,
W.Group.prototype.checkProperty = function(e, t, i, r) {
return void 0 === r && (r = !1),
!(!W.Utils.getProperty(e, t) && r) && W.Utils.getProperty(e, t) === i
}
,
W.Group.prototype.set = function(e, t, i, r, o, s, a) {
if (void 0 === a && (a = !1),
t = t.split("."),
void 0 === r && (r = !1),
void 0 === o && (o = !1),
(!1 === r || r && e.alive) && (!1 === o || o && e.visible))
return this.setProperty(e, t, i, s, a)
}
,
W.Group.prototype.setAll = function(e, t, i, r, o, s) {
void 0 === i && (i = !1),
void 0 === r && (r = !1),
void 0 === s && (s = !1),
e = e.split("."),
o = o || 0;
for (var a = 0; a < this.children.length; a++)
(!i || i && this.children[a].alive) && (!r || r && this.children[a].visible) && this.setProperty(this.children[a], e, t, o, s)
}
,
W.Group.prototype.setAllChildren = function(e, t, i, r, o, s) {
void 0 === i && (i = !1),
void 0 === r && (r = !1),
void 0 === s && (s = !1),
o = o || 0;
for (var a = 0; a < this.children.length; a++)
(!i || i && this.children[a].alive) && (!r || r && this.children[a].visible) && (this.children[a]instanceof W.Group ? this.children[a].setAllChildren(e, t, i, r, o, s) : this.setProperty(this.children[a], e.split("."), t, o, s))
}
,
W.Group.prototype.checkAll = function(e, t, i, r, o) {
void 0 === i && (i = !1),
void 0 === r && (r = !1),
void 0 === o && (o = !1);
for (var s = 0; s < this.children.length; s++)
if ((!i || i && this.children[s].alive) && (!r || r && this.children[s].visible) && !this.checkProperty(this.children[s], e, t, o))
return !1;
return !0
}
,
W.Group.prototype.addAll = function(e, t, i, r) {
this.setAll(e, t, i, r, 1)
}
,
W.Group.prototype.subAll = function(e, t, i, r) {
this.setAll(e, t, i, r, 2)
}
,
W.Group.prototype.multiplyAll = function(e, t, i, r) {
this.setAll(e, t, i, r, 3)
}
,
W.Group.prototype.divideAll = function(e, t, i, r) {
this.setAll(e, t, i, r, 4)
}
,
W.Group.prototype.callAllExists = function(e, t) {
var i;
if (2 < arguments.length) {
i = [];
for (var r = 2; r < arguments.length; r++)
i.push(arguments[r])
}
for (r = 0; r < this.children.length; r++)
this.children[r].exists === t && this.children[r][e] && this.children[r][e].apply(this.children[r], i)
}
,
W.Group.prototype.callbackFromArray = function(e, t, i) {
if (1 === i) {
if (e[t[0]])
return e[t[0]]
} else if (2 === i) {
if (e[t[0]][t[1]])
return e[t[0]][t[1]]
} else if (3 === i) {
if (e[t[0]][t[1]][t[2]])
return e[t[0]][t[1]][t[2]]
} else if (4 === i) {
if (e[t[0]][t[1]][t[2]][t[3]])
return e[t[0]][t[1]][t[2]][t[3]]
} else if (e[t])
return e[t];
return !1
}
,
W.Group.prototype.callAll = function(e, t) {
if (void 0 !== e) {
var i, r = (e = e.split(".")).length;
if (null == t || "" === t)
t = null;
else if ("string" == typeof t)
var o = (t = t.split(".")).length;
if (2 < arguments.length) {
i = [];
for (var s = 2; s < arguments.length; s++)
i.push(arguments[s])
}
var a = null
, n = null;
for (s = 0; s < this.children.length; s++)
a = this.callbackFromArray(this.children[s], e, r),
t && a ? (n = this.callbackFromArray(this.children[s], t, o),
a && a.apply(n, i)) : a && a.apply(this.children[s], i)
}
}
,
W.Group.prototype.preUpdate = function() {
if (this.pendingDestroy)
return this.destroy(),
!1;
if (!this.exists || !this.parent.exists)
return !(this.renderOrderID = -1);
for (var e = 0; e < this.children.length; e++)
this.children[e].preUpdate();
return !0
}
,
W.Group.prototype.update = function() {
for (var e = this.children.length; e--; )
this.children[e].update()
}
,
W.Group.prototype.postUpdate = function() {
this.fixedToCamera && (this.x = this.game.camera.view.x + this.cameraOffset.x,
this.y = this.game.camera.view.y + this.cameraOffset.y);
for (var e = 0; e < this.children.length; e++)
this.children[e].postUpdate()
}
,
W.Group.prototype.filter = function(e, t) {
for (var i = -1, r = this.children.length, o = []; ++i < r; ) {
var s = this.children[i];
(!t || t && s.exists) && e(s, i, this.children) && o.push(s)
}
return new W.ArraySet(o)
}
,
W.Group.prototype.forEach = function(e, t, i) {
if (void 0 === i && (i = !1),
arguments.length <= 3)
for (var r = 0; r < this.children.length; r++)
(!i || i && this.children[r].exists) && e.call(t, this.children[r]);
else {
var o = [null];
for (r = 3; r < arguments.length; r++)
o.push(arguments[r]);
for (r = 0; r < this.children.length; r++)
(!i || i && this.children[r].exists) && (o[0] = this.children[r],
e.apply(t, o))
}
}
,
W.Group.prototype.forEachExists = function(e, t) {
var i;
if (2 < arguments.length) {
i = [null];
for (var r = 2; r < arguments.length; r++)
i.push(arguments[r])
}
this.iterate("exists", !0, W.Group.RETURN_TOTAL, e, t, i)
}
,
W.Group.prototype.forEachAlive = function(e, t) {
var i;
if (2 < arguments.length) {
i = [null];
for (var r = 2; r < arguments.length; r++)
i.push(arguments[r])
}
this.iterate("alive", !0, W.Group.RETURN_TOTAL, e, t, i)
}
,
W.Group.prototype.forEachDead = function(e, t) {
var i;
if (2 < arguments.length) {
i = [null];
for (var r = 2; r < arguments.length; r++)
i.push(arguments[r])
}
this.iterate("alive", !1, W.Group.RETURN_TOTAL, e, t, i)
}
,
W.Group.prototype.sort = function(e, t) {
this.children.length < 2 || (void 0 === e && (e = "z"),
void 0 === t && (t = W.Group.SORT_ASCENDING),
this._sortProperty = e,
t === W.Group.SORT_ASCENDING ? this.children.sort(this.ascendingSortHandler.bind(this)) : this.children.sort(this.descendingSortHandler.bind(this)),
this.updateZ())
}
,
W.Group.prototype.customSort = function(e, t) {
this.children.length < 2 || (this.children.sort(e.bind(t)),
this.updateZ())
}
,
W.Group.prototype.ascendingSortHandler = function(e, t) {
return e[this._sortProperty] < t[this._sortProperty] ? -1 : e[this._sortProperty] > t[this._sortProperty] ? 1 : e.z < t.z ? -1 : 1
}
,
W.Group.prototype.descendingSortHandler = function(e, t) {
return e[this._sortProperty] < t[this._sortProperty] ? 1 : e[this._sortProperty] > t[this._sortProperty] ? -1 : 0
}
,
W.Group.prototype.iterate = function(e, t, i, r, o, s) {
if (0 === this.children.length) {
if (i === W.Group.RETURN_TOTAL)
return 0;
if (i === W.Group.RETURN_ALL)
return []
}
var a = 0;
if (i === W.Group.RETURN_ALL)
var n = [];
for (var h = 0; h < this.children.length; h++)
if (this.children[h][e] === t) {
if (a++,
r && (s ? (s[0] = this.children[h],
r.apply(o, s)) : r.call(o, this.children[h])),
i === W.Group.RETURN_CHILD)
return this.children[h];
i === W.Group.RETURN_ALL && n.push(this.children[h])
}
return i === W.Group.RETURN_TOTAL ? a : i === W.Group.RETURN_ALL ? n : null
}
,
W.Group.prototype.getFirstExists = function(e, t, i, r, o, s) {
void 0 === t && (t = !1),
"boolean" != typeof e && (e = !0);
var a = this.iterate("exists", e, W.Group.RETURN_CHILD);
return null === a && t ? this.create(i, r, o, s) : this.resetChild(a, i, r, o, s)
}
,
W.Group.prototype.getFirstAlive = function(e, t, i, r, o) {
void 0 === e && (e = !1);
var s = this.iterate("alive", !0, W.Group.RETURN_CHILD);
return null === s && e ? this.create(t, i, r, o) : this.resetChild(s, t, i, r, o)
}
,
W.Group.prototype.getFirstDead = function(e, t, i, r, o) {
void 0 === e && (e = !1);
var s = this.iterate("alive", !1, W.Group.RETURN_CHILD);
return null === s && e ? this.create(t, i, r, o) : this.resetChild(s, t, i, r, o)
}
,
W.Group.prototype.resetChild = function(e, t, i, r, o) {
return null === e ? null : (void 0 === t && (t = null),
void 0 === i && (i = null),
null !== t && null !== i && e.reset(t, i),
void 0 !== r && e.loadTexture(r, o),
e)
}
,
W.Group.prototype.getTop = function() {
if (0 < this.children.length)
return this.children[this.children.length - 1]
}
,
W.Group.prototype.getBottom = function() {
if (0 < this.children.length)
return this.children[0]
}
,
W.Group.prototype.getClosestTo = function(e, t, i) {
for (var r = Number.MAX_VALUE, o = 0, s = null, a = 0; a < this.children.length; a++) {
var n = this.children[a];
n.exists && (o = Math.abs(W.Point.distance(e, n))) < r && (!t || t.call(i, n, o)) && (r = o,
s = n)
}
return s
}
,
W.Group.prototype.getFurthestFrom = function(e, t, i) {
for (var r = 0, o = 0, s = null, a = 0; a < this.children.length; a++) {
var n = this.children[a];
n.exists && r < (o = Math.abs(W.Point.distance(e, n))) && (!t || t.call(i, n, o)) && (r = o,
s = n)
}
return s
}
,
W.Group.prototype.countLiving = function() {
return this.iterate("alive", !0, W.Group.RETURN_TOTAL)
}
,
W.Group.prototype.countDead = function() {
return this.iterate("alive", !1, W.Group.RETURN_TOTAL)
}
,
W.Group.prototype.getRandom = function(e, t) {
return void 0 === e && (e = 0),
void 0 === t && (t = this.children.length),
0 === t ? null : W.ArrayUtils.getRandomItem(this.children, e, t)
}
,
W.Group.prototype.getRandomExists = function(e, t) {
var i = this.getAll("exists", !0, e, t);
return this.game.rnd.pick(i)
}
,
W.Group.prototype.getAll = function(e, t, i, r) {
void 0 === i && (i = 0),
void 0 === r && (r = this.children.length);
for (var o = [], s = i; s < r; s++) {
var a = this.children[s];
e && a[e] === t && o.push(a)
}
return o
}
,
W.Group.prototype.remove = function(e, t, i) {
if (void 0 === t && (t = !1),
void 0 === i && (i = !1),
0 === this.children.length || -1 === this.children.indexOf(e))
return !1;
i || !e.events || e.destroyPhase || e.events.onRemovedFromGroup$dispatch(e, this);
var r = this.removeChild(e);
return this.removeFromHash(e),
this.updateZ(),
this.cursor === e && this.next(),
t && r && r.destroy(!0),
!0
}
,
W.Group.prototype.moveAll = function(e, t) {
if (void 0 === t && (t = !1),
0 < this.children.length && e instanceof W.Group) {
for (; e.add(this.children[0], t),
0 < this.children.length; )
;
this.hash = [],
this.cursor = null
}
return e
}
,
W.Group.prototype.removeAll = function(e, t, i) {
if (void 0 === e && (e = !1),
void 0 === t && (t = !1),
void 0 === i && (i = !1),
0 !== this.children.length) {
do {
!t && this.children[0].events && this.children[0].events.onRemovedFromGroup$dispatch(this.children[0], this);
var r = this.removeChild(this.children[0]);
this.removeFromHash(r),
e && r && r.destroy(!0, i)
} while (0 < this.children.length);
this.hash = [],
this.cursor = null
}
}
,
W.Group.prototype.removeBetween = function(e, t, i, r) {
if (void 0 === t && (t = this.children.length - 1),
void 0 === i && (i = !1),
void 0 === r && (r = !1),
0 !== this.children.length) {
if (t < e || e < 0 || t > this.children.length)
return !1;
for (var o = t; e <= o; ) {
!r && this.children[o].events && this.children[o].events.onRemovedFromGroup$dispatch(this.children[o], this);
var s = this.removeChild(this.children[o]);
this.removeFromHash(s),
i && s && s.destroy(!0),
this.cursor === this.children[o] && (this.cursor = null),
o--
}
this.updateZ()
}
}
,
W.Group.prototype.destroy = function(e, t) {
null === this.game || this.ignoreDestroy || (void 0 === e && (e = !0),
void 0 === t && (t = !1),
this.onDestroy.dispatch(this, e, t),
this.removeAll(e),
this.cursor = null,
this.filters = null,
this.pendingDestroy = !1,
t || (this.parent && this.parent.removeChild(this),
this.game = null,
this.exists = !1))
}
,
Object.defineProperty(W.Group.prototype, "total", {
get: function() {
return this.iterate("exists", !0, W.Group.RETURN_TOTAL)
}
}),
Object.defineProperty(W.Group.prototype, "length", {
get: function() {
return this.children.length
}
}),
Object.defineProperty(W.Group.prototype, "angle", {
get: function() {
return W.Math.radToDeg(this.rotation)
},
set: function(e) {
this.rotation = W.Math.degToRad(e)
}
}),
Object.defineProperty(W.Group.prototype, "centerX", {
get: function() {
return this.getBounds(this.parent).centerX
},
set: function(e) {
var t = this.getBounds(this.parent)
, i = this.x - t.x;
this.x = e + i - t.halfWidth
}
}),
Object.defineProperty(W.Group.prototype, "centerY", {
get: function() {
return this.getBounds(this.parent).centerY
},
set: function(e) {
var t = this.getBounds(this.parent)
, i = this.y - t.y;
this.y = e + i - t.halfHeight
}
}),
Object.defineProperty(W.Group.prototype, "left", {
get: function() {
return this.getBounds(this.parent).left
},
set: function(e) {
var t = this.getBounds(this.parent)
, i = this.x - t.x;
this.x = e + i
}
}),
Object.defineProperty(W.Group.prototype, "right", {
get: function() {
return this.getBounds(this.parent).right
},
set: function(e) {
var t = this.getBounds(this.parent)
, i = this.x - t.x;
this.x = e + i - t.width
}
}),
Object.defineProperty(W.Group.prototype, "top", {
get: function() {
return this.getBounds(this.parent).top
},
set: function(e) {
var t = this.getBounds(this.parent)
, i = this.y - t.y;
this.y = e + i
}
}),
Object.defineProperty(W.Group.prototype, "bottom", {
get: function() {
return this.getBounds(this.parent).bottom
},
set: function(e) {
var t = this.getBounds(this.parent)
, i = this.y - t.y;
this.y = e + i - t.height
}
}),
W.World = function(e) {
W.Group.call(this, e, null, "__world", !1),
this.bounds = new W.Rectangle(0,0,e.width,e.height),
this.camera = null,
this._definedSize = !1,
this._width = e.width,
this._height = e.height,
this.game.state.onStateChange.add(this.stateChange, this)
}
,
W.World.prototype = Object.create(W.Group.prototype),
W.World.prototype.constructor = W.World,
W.World.prototype.boot = function() {
this.camera = new W.Camera(this.game,0,0,0,this.game.width,this.game.height),
this.game.stage.addChild(this),
this.camera.boot()
}
,
W.World.prototype.stateChange = function() {
this.x = 0,
this.y = 0,
this.camera.reset()
}
,
W.World.prototype.setBounds = function(e, t, i, r) {
this._definedSize = !0,
this._width = i,
this._height = r,
this.bounds.setTo(e, t, i, r),
this.x = e,
this.y = t,
this.camera.bounds && this.camera.bounds.setTo(e, t, Math.max(i, this.game.width), Math.max(r, this.game.height)),
this.game.physics.setBoundsToWorld()
}
,
W.World.prototype.resize = function(e, t) {
this._definedSize && (e < this._width && (e = this._width),
t < this._height && (t = this._height)),
this.bounds.width = e,
this.bounds.height = t,
this.game.camera.setBoundsToWorld(),
this.game.physics.setBoundsToWorld()
}
,
W.World.prototype.shutdown = function() {
this.destroy(!0, !0)
}
,
W.World.prototype.wrap = function(e, t, i, r, o) {
void 0 === t && (t = 0),
void 0 === i && (i = !1),
void 0 === r && (r = !0),
void 0 === o && (o = !0),
i ? (e.getBounds(),
r && (e.x + e._currentBounds.width < this.bounds.x ? e.x = this.bounds.right : e.x > this.bounds.right && (e.x = this.bounds.left)),
o && (e.y + e._currentBounds.height < this.bounds.top ? e.y = this.bounds.bottom : e.y > this.bounds.bottom && (e.y = this.bounds.top))) : (r && e.x + t < this.bounds.x ? e.x = this.bounds.right + t : r && e.x - t > this.bounds.right && (e.x = this.bounds.left - t),
o && e.y + t < this.bounds.top ? e.y = this.bounds.bottom + t : o && e.y - t > this.bounds.bottom && (e.y = this.bounds.top - t))
}
,
Object.defineProperty(W.World.prototype, "width", {
get: function() {
return this.bounds.width
},
set: function(e) {
e < this.game.width && (e = this.game.width),
this.bounds.width = e,
this._width = e,
this._definedSize = !0
}
}),
Object.defineProperty(W.World.prototype, "height", {
get: function() {
return this.bounds.height
},
set: function(e) {
e < this.game.height && (e = this.game.height),
this.bounds.height = e,
this._height = e,
this._definedSize = !0
}
}),
Object.defineProperty(W.World.prototype, "centerX", {
get: function() {
return this.bounds.halfWidth + this.bounds.x
}
}),
Object.defineProperty(W.World.prototype, "centerY", {
get: function() {
return this.bounds.halfHeight + this.bounds.y
}
}),
Object.defineProperty(W.World.prototype, "randomX", {
get: function() {
return this.bounds.x < 0 ? this.game.rnd.between(this.bounds.x, this.bounds.width - Math.abs(this.bounds.x)) : this.game.rnd.between(this.bounds.x, this.bounds.width)
}
}),
Object.defineProperty(W.World.prototype, "randomY", {
get: function() {
return this.bounds.y < 0 ? this.game.rnd.between(this.bounds.y, this.bounds.height - Math.abs(this.bounds.y)) : this.game.rnd.between(this.bounds.y, this.bounds.height)
}
}),
W.Game = function(e, t, i, r, o, s, a, n) {
return this.id = W.GAMES.push(this) - 1,
this.config = null,
this.physicsConfig = n,
this.parent = "",
this.width = 800,
this.height = 600,
this.resolution = 1,
this._width = 800,
this._height = 600,
this.transparent = !1,
this.antialias = !0,
this.preserveDrawingBuffer = !1,
this.clearBeforeRender = !0,
this.renderer = null,
this.renderType = W.AUTO,
this.state = null,
this.isBooted = !1,
this.isRunning = !1,
this.raf = null,
this.add = null,
this.make = null,
this.cache = null,
this.input = null,
this.load = null,
this.math = null,
this.net = null,
this.scale = null,
this.sound = null,
this.stage = null,
this.time = null,
this.tweens = null,
this.world = null,
this.physics = null,
this.plugins = null,
this.rnd = null,
this.device = W.Device,
this.camera = null,
this.canvas = null,
this.context = null,
this.debug = null,
this.particles = null,
this.create = null,
this.lockRender = !1,
this.stepping = !1,
this.pendingStep = !1,
this.stepCount = 0,
this.onPause = null,
this.onResume = null,
this.onBlur = null,
this.onFocus = null,
this._paused = !1,
this._codePaused = !1,
this.currentUpdateID = 0,
this.updatesThisFrame = 1,
this._deltaTime = 0,
this._lastCount = 0,
this._spiraling = 0,
this._kickstart = !0,
this.fpsProblemNotifier = new W.Signal,
this.forceSingleUpdate = !0,
this._nextFpsNotification = 0,
1 === arguments.length && "object" == typeof e ? this.parseConfig(e) : (this.config = {
enableDebug: !0
},
void 0 !== e && (this._width = e),
void 0 !== t && (this._height = t),
void 0 !== i && (this.renderType = i),
void 0 !== r && (this.parent = r),
void 0 !== s && (this.transparent = s),
void 0 !== a && (this.antialias = a),
this.rnd = new W.RandomDataGenerator([(Date.now() * Math.random()).toString()]),
this.state = new W.StateManager(this,o)),
this.device.whenReady(this.boot, this),
this
}
,
W.Game.prototype = {
parseConfig: function(e) {
void 0 === (this.config = e).enableDebug && (this.config.enableDebug = !0),
e.width && (this._width = e.width),
e.height && (this._height = e.height),
e.renderer && (this.renderType = e.renderer),
e.parent && (this.parent = e.parent),
void 0 !== e.transparent && (this.transparent = e.transparent),
void 0 !== e.antialias && (this.antialias = e.antialias),
e.resolution && (this.resolution = e.resolution),
void 0 !== e.preserveDrawingBuffer && (this.preserveDrawingBuffer = e.preserveDrawingBuffer),
e.physicsConfig && (this.physicsConfig = e.physicsConfig);
var t = [(Date.now() * Math.random()).toString()];
e.seed && (t = e.seed),
this.rnd = new W.RandomDataGenerator(t);
var i = null;
e.state && (i = e.state),
this.state = new W.StateManager(this,i)
},
boot: function() {
this.isBooted || (this.onPause = new W.Signal,
this.onResume = new W.Signal,
this.onBlur = new W.Signal,
this.onFocus = new W.Signal,
this.isBooted = !0,
(PIXI.game = this).math = W.Math,
this.scale = new W.ScaleManager(this,this._width,this._height),
this.stage = new W.Stage(this),
this.setUpRenderer(),
this.world = new W.World(this),
this.add = new W.GameObjectFactory(this),
this.make = new W.GameObjectCreator(this),
this.cache = new W.Cache(this),
this.load = new W.Loader(this),
this.time = new W.Time(this),
this.tweens = new W.TweenManager(this),
this.input = new W.Input(this),
this.sound = new W.SoundManager(this),
this.physics = new W.Physics(this,this.physicsConfig),
this.particles = new W.Particles(this),
this.create = new W.Create(this),
this.plugins = new W.PluginManager(this),
this.net = new W.Net(this),
this.time.boot(),
this.stage.boot(),
this.world.boot(),
this.scale.boot(),
this.input.boot(),
this.sound.boot(),
this.state.boot(),
this.config.enableDebug ? (this.debug = new W.Utils.Debug(this),
this.debug.boot()) : this.debug = {
preUpdate: function() {},
update: function() {},
reset: function() {}
},
this.showDebugHeader(),
this.isRunning = !0,
this.config && this.config.forceSetTimeOut ? this.raf = new W.RequestAnimationFrame(this,this.config.forceSetTimeOut) : this.raf = new W.RequestAnimationFrame(this,!1),
this._kickstart = !0,
window.focus && (!window.PhaserGlobal || window.PhaserGlobal && !window.PhaserGlobal.stopFocus) && window.focus(),
this.raf.start())
},
showDebugHeader: function() {
if (!window.PhaserGlobal || !window.PhaserGlobal.hideBanner) {
var e = W.VERSION
, t = "Canvas"
, i = "HTML Audio"
, r = 1;
if (this.renderType === W.WEBGL ? (t = "WebGL",
r++) : this.renderType === W.HEADLESS && (t = "Headless"),
this.device.webAudio && (i = "WebAudio",
r++),
this.device.chrome)
for (var o = ["%c %c %c @azerion/phaser v" + e + " | Pixi.js | " + t + " | " + i + " %c %c %c https://github.com/azerion / https://www.azerion.com %c♥%c♥%c♥", "background: #7ab3eb", "background: #378ce1", "color: #ffffff; background: #207cd8;", "background: #378ce1", "background: #7ab3eb", "background: #ffffff"], s = 0; s < 3; s++)
s < r ? o.push("color: #ff2424; background: #fff") : o.push("color: #959595; background: #fff");
else
window.console
}
},
setUpRenderer: function() {
if (this.config.canvas ? this.canvas = this.config.canvas : this.canvas = W.Canvas.create(this, this.width, this.height, this.config.canvasID, !0),
this.config.canvasStyle ? this.canvas.style = this.config.canvasStyle : this.canvas.style["-webkit-full-screen"] = "width: 100%; height: 100%",
this.renderType === W.HEADLESS || this.renderType === W.CANVAS || this.renderType === W.AUTO && !this.device.webGL) {
if (!this.device.canvas)
throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");
this.renderType = W.CANVAS,
this.renderer = new PIXI.CanvasRenderer(this),
this.context = this.renderer.context
} else
this.renderType = W.WEBGL,
this.renderer = new PIXI.WebGLRenderer(this),
this.context = null,
this.canvas.addEventListener("webglcontextlost", this.contextLost.bind(this), !1),
this.canvas.addEventListener("webglcontextrestored", this.contextRestored.bind(this), !1);
this.device.cocoonJS && (this.canvas.screencanvas = this.renderType === W.CANVAS),
this.renderType !== W.HEADLESS && (this.stage.smoothed = this.antialias,
W.Canvas.addToDOM(this.canvas, this.parent, !1),
W.Canvas.setTouchAction(this.canvas))
},
contextLost: function(e) {
e.preventDefault(),
this.renderer.contextLost = !0
},
contextRestored: function() {
this.renderer.initContext(),
this.cache.clearGLTextures(),
this.renderer.contextLost = !1
},
update: function(e) {
if (this.time.update(e),
this._kickstart)
return this.updateLogic(this.time.desiredFpsMult),
this.updateRender(this.time.slowMotion * this.time.desiredFps),
void (this._kickstart = !1);
if (1 < this._spiraling && !this.forceSingleUpdate)
this.time.time > this._nextFpsNotification && (this._nextFpsNotification = this.time.time + 1e4,
this.fpsProblemNotifier.dispatch()),
this._deltaTime = 0,
this._spiraling = 0,
this.updateRender(this.time.slowMotion * this.time.desiredFps);
else {
var t = 1e3 * this.time.slowMotion / this.time.desiredFps;
this._deltaTime += Math.max(Math.min(3 * t, this.time.elapsed), 0);
var i = 0;
for (this.updatesThisFrame = Math.floor(this._deltaTime / t),
this.forceSingleUpdate && (this.updatesThisFrame = Math.min(1, this.updatesThisFrame)); this._deltaTime >= t && (this._deltaTime -= t,
this.currentUpdateID = i,
this.updateLogic(this.time.desiredFpsMult),
i++,
!this.forceSingleUpdate || 1 !== i); )
this.time.refresh();
i > this._lastCount ? this._spiraling++ : i < this._lastCount && (this._spiraling = 0),
this._lastCount = i,
this.updateRender(this._deltaTime / t)
}
},
updateLogic: function(e) {
this._paused || this.pendingStep ? (this.scale.pauseUpdate(),
this.state.pauseUpdate(),
this.debug.preUpdate()) : (this.stepping && (this.pendingStep = !0),
this.scale.preUpdate(),
this.debug.preUpdate(),
this.camera.preUpdate(),
this.physics.preUpdate(),
this.state.preUpdate(e),
this.plugins.preUpdate(e),
this.stage.preUpdate(),
this.state.update(),
this.stage.update(),
this.tweens.update(),
this.sound.update(),
this.input.update(),
this.physics.update(),
this.particles.update(),
this.plugins.update(),
this.stage.postUpdate(),
this.plugins.postUpdate()),
this.stage.updateTransform()
},
updateRender: function(e) {
this.lockRender || (this.state.preRender(e),
this.renderType !== W.HEADLESS && (this.renderer.render(this.stage),
this.plugins.render(e),
this.state.render(e)),
this.plugins.postRender(e))
},
enableStep: function() {
this.stepping = !0,
this.pendingStep = !1,
this.stepCount = 0
},
disableStep: function() {
this.stepping = !1,
this.pendingStep = !1
},
step: function() {
this.pendingStep = !1,
this.stepCount++
},
destroy: function() {
this.raf.stop(),
this.state.destroy(),
this.sound.destroy(),
this.scale.destroy(),
this.stage.destroy(),
this.input.destroy(),
this.physics.destroy(),
this.plugins.destroy(),
this.state = null,
this.sound = null,
this.scale = null,
this.stage = null,
this.input = null,
this.physics = null,
this.plugins = null,
this.cache = null,
this.load = null,
this.time = null,
this.world = null,
this.isBooted = !1,
this.renderer.destroy(!1),
W.Canvas.removeFromDOM(this.canvas),
PIXI.defaultRenderer = null,
W.GAMES[this.id] = null
},
gamePaused: function(e) {
this._paused || (this._paused = !0,
this.time.gamePaused(),
this.sound.muteOnPause && this.sound.setMute(),
this.onPause.dispatch(e),
this.device.cordova && this.device.iOS && (this.lockRender = !0))
},
gameResumed: function(e) {
this._paused && !this._codePaused && (this._paused = !1,
this.time.gameResumed(),
this.input.reset(),
this.sound.muteOnPause && this.sound.unsetMute(),
this.onResume.dispatch(e),
this.device.cordova && this.device.iOS && (this.lockRender = !1))
},
focusLoss: function(e) {
this.onBlur.dispatch(e),
this.stage.disableVisibilityChange || this.gamePaused(e)
},
focusGain: function(e) {
this.onFocus.dispatch(e),
this.stage.disableVisibilityChange || this.gameResumed(e)
}
},
W.Game.prototype.constructor = W.Game,
Object.defineProperty(W.Game.prototype, "paused", {
get: function() {
return this._paused
},
set: function(e) {
!0 === e ? (!1 === this._paused && (this._paused = !0,
this.sound.setMute(),
this.time.gamePaused(),
this.onPause.dispatch(this)),
this._codePaused = !0) : (this._paused && (this._paused = !1,
this.input.reset(),
this.sound.unsetMute(),
this.time.gameResumed(),
this.onResume.dispatch(this)),
this._codePaused = !1)
}
}),
W.Input = function(e) {
this.game = e,
this.hitCanvas = null,
this.hitContext = null,
this.moveCallbacks = [],
this.customCandidateHandler = null,
this.customCandidateHandlerContext = null,
this.pollRate = 0,
this.enabled = !0,
this.multiInputOverride = W.Input.MOUSE_TOUCH_COMBINE,
this.position = null,
this.speed = null,
this.circle = null,
this.scale = null,
this.maxPointers = -1,
this.tapRate = 200,
this.doubleTapRate = 300,
this.holdRate = 2e3,
this.justPressedRate = 200,
this.justReleasedRate = 200,
this.recordPointerHistory = !1,
this.recordRate = 100,
this.recordLimit = 100,
this.pointer1 = null,
this.pointer2 = null,
this.pointer3 = null,
this.pointer4 = null,
this.pointer5 = null,
this.pointer6 = null,
this.pointer7 = null,
this.pointer8 = null,
this.pointer9 = null,
this.pointer10 = null,
this.pointers = [],
this.activePointer = null,
this.mousePointer = null,
this.mouse = null,
this.keyboard = null,
this.touch = null,
this.mspointer = null,
this.gamepad = null,
this.resetLocked = !1,
this.onDown = null,
this.onUp = null,
this.onTap = null,
this.onHold = null,
this.minPriorityID = 0,
this.interactiveItems = new W.ArraySet,
this._localPoint = new W.Point,
this._pollCounter = 0,
this._oldPosition = null,
this._x = 0,
this._y = 0
}
,
W.Input.MOUSE_OVERRIDES_TOUCH = 0,
W.Input.TOUCH_OVERRIDES_MOUSE = 1,
W.Input.MOUSE_TOUCH_COMBINE = 2,
W.Input.MAX_POINTERS = 10,
W.Input.prototype = {
boot: function() {
this.mousePointer = new W.Pointer(this.game,0,W.PointerMode.CURSOR),
this.addPointer(),
this.addPointer(),
this.mouse = new W.Mouse(this.game),
this.touch = new W.Touch(this.game),
this.mspointer = new W.MSPointer(this.game),
W.Keyboard && (this.keyboard = new W.Keyboard(this.game)),
W.Gamepad && (this.gamepad = new W.Gamepad(this.game)),
this.onDown = new W.Signal,
this.onUp = new W.Signal,
this.onTap = new W.Signal,
this.onHold = new W.Signal,
this.scale = new W.Point(1,1),
this.speed = new W.Point,
this.position = new W.Point,
this._oldPosition = new W.Point,
this.circle = new W.Circle(0,0,45),
this.activePointer = this.mousePointer,
this.hitCanvas = PIXI.CanvasPool.create(this, 1, 1),
this.hitContext = this.hitCanvas.getContext("2d"),
this.game.device.mspointer ? this.mspointer.start() : this.game.device.touch && this.touch.start(),
this.mspointer.active || this.mouse.start(),
this.mousePointer.active = !0,
this.keyboard && this.keyboard.start();
var t = this;
this._onClickTrampoline = function(e) {
t.onClickTrampoline(e)
}
,
this.game.canvas.addEventListener("click", this._onClickTrampoline, !1)
},
destroy: function() {
this.mouse.stop(),
this.touch.stop(),
this.mspointer.stop(),
this.keyboard && this.keyboard.stop(),
this.gamepad && this.gamepad.stop(),
this.moveCallbacks = [],
PIXI.CanvasPool.remove(this),
this.game.canvas.removeEventListener("click", this._onClickTrampoline)
},
setInteractiveCandidateHandler: function(e, t) {
this.customCandidateHandler = e,
this.customCandidateHandlerContext = t
},
addMoveCallback: function(e, t) {
this.moveCallbacks.push({
callback: e,
context: t
})
},
deleteMoveCallback: function(e, t) {
for (var i = this.moveCallbacks.length; i--; )
if (this.moveCallbacks[i].callback === e && this.moveCallbacks[i].context === t)
return void this.moveCallbacks.splice(i, 1)
},
addPointer: function() {
if (this.pointers.length >= W.Input.MAX_POINTERS)
return null;
var e = this.pointers.length + 1
, t = new W.Pointer(this.game,e,W.PointerMode.TOUCH);
return this.pointers.push(t),
this["pointer" + e] = t
},
update: function() {
if (this.keyboard && this.keyboard.update(),
0 < this.pollRate && this._pollCounter < this.pollRate)
this._pollCounter++;
else {
this.speed.x = this.position.x - this._oldPosition.x,
this.speed.y = this.position.y - this._oldPosition.y,
this._oldPosition.copyFrom(this.position),
this.mousePointer.update(),
this.gamepad && this.gamepad.active && this.gamepad.update();
for (var e = 0; e < this.pointers.length; e++)
this.pointers[e].update();
this._pollCounter = 0
}
},
reset: function(e) {
if (this.game.isBooted && !this.resetLocked) {
void 0 === e && (e = !1),
this.mousePointer.reset(),
this.keyboard && this.keyboard.reset(e),
this.gamepad && this.gamepad.reset();
for (var t = 0; t < this.pointers.length; t++)
this.pointers[t].reset();
"none" !== this.game.canvas.style.cursor && (this.game.canvas.style.cursor = "inherit"),
e && (this.onDown.dispose(),
this.onUp.dispose(),
this.onTap.dispose(),
this.onHold.dispose(),
this.onDown = new W.Signal,
this.onUp = new W.Signal,
this.onTap = new W.Signal,
this.onHold = new W.Signal,
this.moveCallbacks = []),
this._pollCounter = 0
}
},
resetSpeed: function(e, t) {
this._oldPosition.setTo(e, t),
this.speed.setTo(0, 0)
},
startPointer: function(e) {
if (0 <= this.maxPointers && this.countActivePointers(this.maxPointers) >= this.maxPointers)
return null;
if (!this.pointer1.active)
return this.pointer1.start(e);
if (!this.pointer2.active)
return this.pointer2.start(e);
for (var t = 2; t < this.pointers.length; t++) {
var i = this.pointers[t];
if (!i.active)
return i.start(e)
}
return null
},
updatePointer: function(e) {
if (this.pointer1.active && this.pointer1.identifier === e.identifier)
return this.pointer1.move(e);
if (this.pointer2.active && this.pointer2.identifier === e.identifier)
return this.pointer2.move(e);
for (var t = 2; t < this.pointers.length; t++) {
var i = this.pointers[t];
if (i.active && i.identifier === e.identifier)
return i.move(e)
}
return null
},
stopPointer: function(e) {
if (this.pointer1.active && this.pointer1.identifier === e.identifier)
return this.pointer1.stop(e);
if (this.pointer2.active && this.pointer2.identifier === e.identifier)
return this.pointer2.stop(e);
for (var t = 2; t < this.pointers.length; t++) {
var i = this.pointers[t];
if (i.active && i.identifier === e.identifier)
return i.stop(e)
}
return null
},
countActivePointers: function(e) {
void 0 === e && (e = this.pointers.length);
for (var t = e, i = 0; i < this.pointers.length && 0 < t; i++) {
this.pointers[i].active && t--
}
return e - t
},
getPointer: function(e) {
void 0 === e && (e = !1);
for (var t = 0; t < this.pointers.length; t++) {
var i = this.pointers[t];
if (i.active === e)
return i
}
return null
},
getPointerFromIdentifier: function(e) {
for (var t = 0; t < this.pointers.length; t++) {
var i = this.pointers[t];
if (i.identifier === e)
return i
}
return null
},
getPointerFromId: function(e) {
for (var t = 0; t < this.pointers.length; t++) {
var i = this.pointers[t];
if (i.pointerId === e)
return i
}
return null
},
getLocalPosition: function(e, t, i) {
void 0 === i && (i = new W.Point);
var r = e.worldTransform
, o = 1 / (r.a * r.d + r.c * -r.b);
return i.setTo(r.d * o * t.x + -r.c * o * t.y + (r.ty * r.c - r.tx * r.d) * o, r.a * o * t.y + -r.b * o * t.x + (-r.ty * r.a + r.tx * r.b) * o)
},
hitTest: function(e, t, i) {
if (!e.worldVisible)
return !1;
if (this.getLocalPosition(e, t, this._localPoint),
i.copyFrom(this._localPoint),
e.hitArea && e.hitArea.contains)
return e.hitArea.contains(this._localPoint.x, this._localPoint.y);
if (e instanceof W.TileSprite) {
var r = e.width
, o = e.height
, s = -r * e.anchor.x;
if (this._localPoint.x >= s && this._localPoint.x < s + r) {
var a = -o * e.anchor.y;
if (this._localPoint.y >= a && this._localPoint.y < a + o)
return !0
}
} else if (e instanceof PIXI.Sprite) {
r = e.texture.frame.width,
o = e.texture.frame.height,
s = -r * e.anchor.x;
if (this._localPoint.x >= s && this._localPoint.x < s + r) {
a = -o * e.anchor.y;
if (this._localPoint.y >= a && this._localPoint.y < a + o)
return !0
}
} else if (W.Graphics && e instanceof W.Graphics)
for (var n = 0; n < e.graphicsData.length; n++) {
var h = e.graphicsData[n];
if (h.fill && (h.shape && h.shape.contains(this._localPoint.x, this._localPoint.y)))
return !0
}
for (n = 0; n < e.children.length; n++)
if (this.hitTest(e.children[n], t, i))
return !0;
return !1
},
onClickTrampoline: function() {
this.activePointer.processClickTrampolines()
}
},
W.Input.prototype.constructor = W.Input,
Object.defineProperty(W.Input.prototype, "x", {
get: function() {
return this._x
},
set: function(e) {
this._x = Math.floor(e)
}
}),
Object.defineProperty(W.Input.prototype, "y", {
get: function() {
return this._y
},
set: function(e) {
this._y = Math.floor(e)
}
}),
Object.defineProperty(W.Input.prototype, "pollLocked", {
get: function() {
return 0 < this.pollRate && this._pollCounter < this.pollRate
}
}),
Object.defineProperty(W.Input.prototype, "totalInactivePointers", {
get: function() {
return this.pointers.length - this.countActivePointers()
}
}),
Object.defineProperty(W.Input.prototype, "totalActivePointers", {
get: function() {
return this.countActivePointers()
}
}),
Object.defineProperty(W.Input.prototype, "worldX", {
get: function() {
return this.game.camera.view.x + this.x
}
}),
Object.defineProperty(W.Input.prototype, "worldY", {
get: function() {
return this.game.camera.view.y + this.y
}
}),
W.Mouse = function(e) {
this.game = e,
this.input = e.input,
this.callbackContext = this.game,
this.mouseDownCallback = null,
this.mouseUpCallback = null,
this.mouseOutCallback = null,
this.mouseOverCallback = null,
this.mouseWheelCallback = null,
this.capture = !1,
this.button = -1,
this.wheelDelta = 0,
this.enabled = !0,
this.locked = !1,
this.stopOnGameOut = !1,
this.pointerLock = new W.Signal,
this.event = null,
this._onMouseDown = null,
this._onMouseMove = null,
this._onMouseUp = null,
this._onMouseOut = null,
this._onMouseOver = null,
this._onMouseWheel = null,
this._wheelEvent = null
}
,
W.Mouse.NO_BUTTON = -1,
W.Mouse.LEFT_BUTTON = 0,
W.Mouse.MIDDLE_BUTTON = 1,
W.Mouse.RIGHT_BUTTON = 2,
W.Mouse.BACK_BUTTON = 3,
W.Mouse.FORWARD_BUTTON = 4,
W.Mouse.WHEEL_UP = 1,
W.Mouse.WHEEL_DOWN = -1,
W.Mouse.prototype = {
start: function() {
if ((!this.game.device.android || !1 !== this.game.device.chrome) && null === this._onMouseDown) {
var t = this;
this._onMouseDown = function(e) {
return t.onMouseDown(e)
}
,
this._onMouseMove = function(e) {
return t.onMouseMove(e)
}
,
this._onMouseUp = function(e) {
return t.onMouseUp(e)
}
,
this._onMouseUpGlobal = function(e) {
return t.onMouseUpGlobal(e)
}
,
this._onMouseOutGlobal = function(e) {
return t.onMouseOutGlobal(e)
}
,
this._onMouseOut = function(e) {
return t.onMouseOut(e)
}
,
this._onMouseOver = function(e) {
return t.onMouseOver(e)
}
,
this._onMouseWheel = function(e) {
return t.onMouseWheel(e)
}
;
var e = this.game.canvas;
e.addEventListener("mousedown", this._onMouseDown, !0),
e.addEventListener("mousemove", this._onMouseMove, !0),
e.addEventListener("mouseup", this._onMouseUp, !0),
this.game.device.cocoonJS || (window.addEventListener("mouseup", this._onMouseUpGlobal, !0),
window.addEventListener("mouseout", this._onMouseOutGlobal, !0),
e.addEventListener("mouseover", this._onMouseOver, !0),
e.addEventListener("mouseout", this._onMouseOut, !0));
var i = this.game.device.wheelEvent;
i && (e.addEventListener(i, this._onMouseWheel, !0),
"mousewheel" === i ? this._wheelEvent = new r(-.025,1) : "DOMMouseScroll" === i && (this._wheelEvent = new r(1,1)))
}
},
onMouseDown: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.mouseDownCallback && this.mouseDownCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && (e.identifier = 0,
this.input.mousePointer.start(e))
},
onMouseMove: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.mouseMoveCallback && this.mouseMoveCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && (e.identifier = 0,
this.input.mousePointer.move(e))
},
onMouseUp: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.mouseUpCallback && this.mouseUpCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && (e.identifier = 0,
this.input.mousePointer.stop(e))
},
onMouseUpGlobal: function(e) {
this.input.mousePointer.withinGame || (this.mouseUpCallback && this.mouseUpCallback.call(this.callbackContext, e),
e.identifier = 0,
this.input.mousePointer.stop(e))
},
onMouseOutGlobal: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.input.mousePointer.withinGame = !1,
this.input.enabled && this.enabled && (this.input.mousePointer.stop(e),
this.input.mousePointer.leftButton.stop(e),
this.input.mousePointer.rightButton.stop(e))
},
onMouseOut: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.input.mousePointer.withinGame = !1,
this.mouseOutCallback && this.mouseOutCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && this.stopOnGameOut && (e.identifier = 0,
this.input.mousePointer.stop(e))
},
onMouseOver: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.input.mousePointer.withinGame = !0,
this.mouseOverCallback && this.mouseOverCallback.call(this.callbackContext, e)
},
onMouseWheel: function(e) {
this._wheelEvent && (e = this._wheelEvent.bindEvent(e)),
this.event = e,
this.capture && e.preventDefault(),
this.wheelDelta = W.Math.clamp(-e.deltaY, -1, 1),
this.mouseWheelCallback && this.mouseWheelCallback.call(this.callbackContext, e)
},
requestPointerLock: function() {
if (this.game.device.pointerLock) {
var e = this.game.canvas;
e.requestPointerLock = e.requestPointerLock || e.mozRequestPointerLock || e.webkitRequestPointerLock,
e.requestPointerLock();
var t = this;
this._pointerLockChange = function(e) {
return t.pointerLockChange(e)
}
,
document.addEventListener("pointerlockchange", this._pointerLockChange, !0),
document.addEventListener("mozpointerlockchange", this._pointerLockChange, !0),
document.addEventListener("webkitpointerlockchange", this._pointerLockChange, !0)
}
},
pointerLockChange: function(e) {
var t = this.game.canvas;
document.pointerLockElement === t || document.mozPointerLockElement === t || document.webkitPointerLockElement === t ? (this.locked = !0,
this.pointerLock.dispatch(!0, e)) : (this.locked = !1,
this.pointerLock.dispatch(!1, e))
},
releasePointerLock: function() {
document.exitPointerLock = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock,
document.exitPointerLock(),
document.removeEventListener("pointerlockchange", this._pointerLockChange, !0),
document.removeEventListener("mozpointerlockchange", this._pointerLockChange, !0),
document.removeEventListener("webkitpointerlockchange", this._pointerLockChange, !0)
},
stop: function() {
var e = this.game.canvas;
e.removeEventListener("mousedown", this._onMouseDown, !0),
e.removeEventListener("mousemove", this._onMouseMove, !0),
e.removeEventListener("mouseup", this._onMouseUp, !0),
e.removeEventListener("mouseover", this._onMouseOver, !0),
e.removeEventListener("mouseout", this._onMouseOut, !0);
var t = this.game.device.wheelEvent;
t && e.removeEventListener(t, this._onMouseWheel, !0),
window.removeEventListener("mouseup", this._onMouseUpGlobal, !0),
window.removeEventListener("mouseout", this._onMouseOutGlobal, !0),
document.removeEventListener("pointerlockchange", this._pointerLockChange, !0),
document.removeEventListener("mozpointerlockchange", this._pointerLockChange, !0),
document.removeEventListener("webkitpointerlockchange", this._pointerLockChange, !0)
}
},
W.Mouse.prototype.constructor = W.Mouse,
((r.prototype = {}).constructor = r).prototype.bindEvent = function(e) {
if (!r._stubsGenerated && e) {
var t = function(t) {
return function() {
var e = this.originalEvent[t];
return "function" != typeof e ? e : e.bind(this.originalEvent)
}
};
for (var i in e)
i in r.prototype || Object.defineProperty(r.prototype, i, {
get: t(i)
});
r._stubsGenerated = !0
}
return this.originalEvent = e,
this
}
,
Object.defineProperties(r.prototype, {
type: {
value: "wheel"
},
deltaMode: {
get: function() {
return this._deltaMode
}
},
deltaY: {
get: function() {
return this._scaleFactor * (this.originalEvent.wheelDelta || this.originalEvent.detail) || 0
}
},
deltaX: {
get: function() {
return this._scaleFactor * this.originalEvent.wheelDeltaX || 0
}
},
deltaZ: {
value: 0
}
}),
W.MSPointer = function(e) {
this.game = e,
this.input = e.input,
this.callbackContext = this.game,
this.pointerDownCallback = null,
this.pointerMoveCallback = null,
this.pointerUpCallback = null,
this.capture = !1,
this.event = null,
this.active = !1,
this.enabled = !0,
this._onMSPointerDown = null,
this._onMSPointerMove = null,
this._onMSPointerUp = null,
this._onMSPointerUpGlobal = null,
this._onMSPointerOut = null,
this._onMSPointerOver = null
}
,
W.MSPointer.prototype = {
start: function() {
if (!this.game.device.mspointer)
return !1;
if (null !== this._onMSPointerDown)
return !1;
var t = this;
this._onMSPointerDown = function(e) {
return t.onPointerDown(e)
}
,
this._onMSPointerMove = function(e) {
return t.onPointerMove(e)
}
,
this._onMSPointerUp = function(e) {
return t.onPointerUp(e)
}
,
this._onMSPointerUpGlobal = function(e) {
return t.onPointerUpGlobal(e)
}
,
this._onMSPointerOut = function(e) {
return t.onPointerOut(e)
}
,
this._onMSPointerOver = function(e) {
return t.onPointerOver(e)
}
;
var e = this.game.canvas;
return e.addEventListener("MSPointerDown", this._onMSPointerDown, !1),
e.addEventListener("MSPointerMove", this._onMSPointerMove, !1),
e.addEventListener("MSPointerUp", this._onMSPointerUp, !1),
e.addEventListener("pointerdown", this._onMSPointerDown, !1),
e.addEventListener("pointermove", this._onMSPointerMove, !1),
e.addEventListener("pointerup", this._onMSPointerUp, !1),
e.style["-ms-content-zooming"] = "none",
e.style["-ms-touch-action"] = "none",
this.game.device.cocoonJS || (window.addEventListener("MSPointerUp", this._onMSPointerUpGlobal, !0),
e.addEventListener("MSPointerOver", this._onMSPointerOver, !0),
e.addEventListener("MSPointerOut", this._onMSPointerOut, !0),
window.addEventListener("pointerup", this._onMSPointerUpGlobal, !0),
e.addEventListener("pointerover", this._onMSPointerOver, !0),
e.addEventListener("pointerout", this._onMSPointerOut, !0)),
this.active = !0
},
onPointerDown: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.pointerDownCallback && this.pointerDownCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && (e.identifier = e.pointerId,
"mouse" === e.pointerType || 4 === e.pointerType ? this.input.mousePointer.start(e) : this.input.startPointer(e))
},
onPointerMove: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.pointerMoveCallback && this.pointerMoveCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && (e.identifier = e.pointerId,
"mouse" === e.pointerType || 4 === e.pointerType ? this.input.mousePointer.move(e) : this.input.updatePointer(e))
},
onPointerUp: function(e) {
this.event = e,
this.capture && e.preventDefault(),
this.pointerUpCallback && this.pointerUpCallback.call(this.callbackContext, e),
this.input.enabled && this.enabled && (e.identifier = e.pointerId,
"mouse" === e.pointerType || 4 === e.pointerType ? this.input.mousePointer.stop(e) : this.input.stopPointer(e))
},
onPointerUpGlobal: function(e) {
if ("mouse" !== e.pointerType && 4 !== e.pointerType || this.input.mousePointer.withinGame) {
var t = this.input.getPointerFromIdentifier(e.identifier);
t && t.withinGame && this.onPointerUp(e)
} else
this.onPointerUp(e)
},
onPointerOut: function(e) {
if (this.event = e,
this.capture && e.preventDefault(),
"mouse" === e.pointerType || 4 === e.pointerType)
this.input.mousePointer.withinGame = !1;
else {
var t = this.input.getPointerFromIdentifier(e.identifier);
t && (t.withinGame = !1)
}
this.input.mouse.mouseOutCallback && this.input.mouse.mouseOutCallback.call(this.input.mouse.callbackContext, e),
this.input.enabled && this.enabled && this.input.mouse.stopOnGameOut && (e.identifier = 0,
t ? t.stop(e) : this.input.mousePointer.stop(e))
},
onPointerOver: function(e) {
if (this.event = e,
this.capture && e.preventDefault(),
"mouse" === e.pointerType || 4 === e.pointerType)
this.input.mousePointer.withinGame = !0;
else {
var t = this.input.getPointerFromIdentifier(e.identifier);
t && (t.withinGame = !0)
}
this.input.mouse.mouseOverCallback && this.input.mouse.mouseOverCallback.call(this.input.mouse.callbackContext, e)
},
stop: function() {
var e = this.game.canvas;
e.removeEventListener("MSPointerDown", this._onMSPointerDown, !1),
e.removeEventListener("MSPointerMove", this._onMSPointerMove, !1),
e.removeEventListener("MSPointerUp", this._onMSPointerUp, !1),
e.removeEventListener("pointerdown", this._onMSPointerDown, !1),
e.removeEventListener("pointermove", this._onMSPointerMove, !1),
e.removeEventListener("pointerup", this._onMSPointerUp, !1),
window.removeEventListener("MSPointerUp", this._onMSPointerUpGlobal, !0),
e.removeEventListener("MSPointerOver", this._onMSPointerOver, !0),
e.removeEventListener("MSPointerOut", this._onMSPointerOut, !0),
window.removeEventListener("pointerup", this._onMSPointerUpGlobal, !0),
e.removeEventListener("pointerover", this._onMSPointerOver, !0),
e.removeEventListener("pointerout", this._onMSPointerOut, !0),
this.active = !1
}
},
W.MSPointer.prototype.constructor = W.MSPointer,
W.DeviceButton = function(e, t) {
this.parent = e,
this.game = e.game,
this.event = null,
this.isDown = !1,
this.isUp = !0,
this.timeDown = 0,
this.timeUp = 0,
this.repeats = 0,
this.altKey = !1,
this.shiftKey = !1,
this.ctrlKey = !1,
this.value = 0,
this.buttonCode = t,
this.onDown = new W.Signal,
this.onUp = new W.Signal,
this.onFloat = new W.Signal
}
,
W.DeviceButton.prototype = {
start: function(e, t) {
this.isDown || (this.isDown = !0,
this.isUp = !1,
this.timeDown = this.game.time.time,
this.repeats = 0,
this.event = e,
this.value = t,
e && (this.altKey = e.altKey,
this.shiftKey = e.shiftKey,
this.ctrlKey = e.ctrlKey),
this.onDown.dispatch(this, t))
},
stop: function(e, t) {
this.isUp || (this.isDown = !1,
this.isUp = !0,
this.timeUp = this.game.time.time,
this.event = e,
this.value = t,
e && (this.altKey = e.altKey,
this.shiftKey = e.shiftKey,
this.ctrlKey = e.ctrlKey),
this.onUp.dispatch(this, t))
},
padFloat: function(e) {
this.value = e,
this.onFloat.dispatch(this, e)
},
justPressed: function(e) {
return e = e || 250,
this.isDown && this.timeDown + e > this.game.time.time
},
justReleased: function(e) {
return e = e || 250,
this.isUp && this.timeUp + e > this.game.time.time
},
reset: function() {
this.isDown = !1,
this.isUp = !0,
this.timeDown = this.game.time.time,
this.repeats = 0,
this.altKey = !1,
this.shiftKey = !1,
this.ctrlKey = !1
},
destroy: function() {
this.onDown.dispose(),
this.onUp.dispose(),
this.onFloat.dispose(),
this.parent = null,
this.game = null
}
},
W.DeviceButton.prototype.constructor = W.DeviceButton,
Object.defineProperty(W.DeviceButton.prototype, "duration", {
get: function() {
return this.isUp ? -1 : this.game.time.time - this.timeDown
}
}),
W.Pointer = function(e, t, i) {
this.game = e,
this.id = t,
this.type = W.POINTER,
this.exists = !0,
this.identifier = 0,
this.pointerId = null,
this.pointerMode = i || W.PointerMode.CURSOR | W.PointerMode.CONTACT,
this.target = null,
this.button = null,
this.leftButton = new W.DeviceButton(this,W.Pointer.LEFT_BUTTON),
this.middleButton = new W.DeviceButton(this,W.Pointer.MIDDLE_BUTTON),
this.rightButton = new W.DeviceButton(this,W.Pointer.RIGHT_BUTTON),
this.backButton = new W.DeviceButton(this,W.Pointer.BACK_BUTTON),
this.forwardButton = new W.DeviceButton(this,W.Pointer.FORWARD_BUTTON),
this.eraserButton = new W.DeviceButton(this,W.Pointer.ERASER_BUTTON),
this._holdSent = !1,
this._history = [],
this._nextDrop = 0,
this._stateReset = !1,
this.withinGame = !1,
this.clientX = -1,
this.clientY = -1,
this.pageX = -1,
this.pageY = -1,
this.screenX = -1,
this.screenY = -1,
this.rawMovementX = 0,
this.rawMovementY = 0,
this.movementX = 0,
this.movementY = 0,
this.x = -1,
this.y = -1,
this.isMouse = 0 === t,
this.isDown = !1,
this.isUp = !0,
this.timeDown = 0,
this.timeUp = 0,
this.previousTapTime = 0,
this.totalTouches = 0,
this.msSinceLastClick = Number.MAX_VALUE,
this.targetObject = null,
this.interactiveCandidates = [],
this.active = !1,
this.dirty = !1,
this.position = new W.Point,
this.positionDown = new W.Point,
this.positionUp = new W.Point,
this.circle = new W.Circle(0,0,44),
this._clickTrampolines = null,
this._trampolineTargetObject = null
}
,
W.Pointer.NO_BUTTON = 0,
W.Pointer.LEFT_BUTTON = 1,
W.Pointer.RIGHT_BUTTON = 2,
W.Pointer.MIDDLE_BUTTON = 4,
W.Pointer.BACK_BUTTON = 8,
W.Pointer.FORWARD_BUTTON = 16,
W.Pointer.ERASER_BUTTON = 32,
W.Pointer.prototype = {
resetButtons: function() {
this.isDown = !1,
this.isUp = !0,
this.isMouse && (this.leftButton.reset(),
this.middleButton.reset(),
this.rightButton.reset(),
this.backButton.reset(),
this.forwardButton.reset(),
this.eraserButton.reset())
},
processButtonsDown: function(e, t) {
W.Pointer.LEFT_BUTTON & e && this.leftButton.start(t),
W.Pointer.RIGHT_BUTTON & e && this.rightButton.start(t),
W.Pointer.MIDDLE_BUTTON & e && this.middleButton.start(t),
W.Pointer.BACK_BUTTON & e && this.backButton.start(t),
W.Pointer.FORWARD_BUTTON & e && this.forwardButton.start(t),
W.Pointer.ERASER_BUTTON & e && this.eraserButton.start(t)
},
processButtonsUp: function(e, t) {
e === W.Mouse.LEFT_BUTTON && this.leftButton.stop(t),
e === W.Mouse.RIGHT_BUTTON && this.rightButton.stop(t),
e === W.Mouse.MIDDLE_BUTTON && this.middleButton.stop(t),
e === W.Mouse.BACK_BUTTON && this.backButton.stop(t),
e === W.Mouse.FORWARD_BUTTON && this.forwardButton.stop(t),
5 === e && this.eraserButton.stop(t)
},
updateButtons: function(e) {
this.button = e.button;
var t = "down" === e.type.toLowerCase().substr(-4);
void 0 !== e.buttons ? t ? this.processButtonsDown(e.buttons, e) : this.processButtonsUp(e.button, e) : t ? this.leftButton.start(e) : (this.leftButton.stop(e),
this.rightButton.stop(e)),
1 === e.buttons && e.ctrlKey && this.leftButton.isDown && (this.leftButton.stop(e),
this.rightButton.start(e)),
this.isUp = !0,
this.isDown = !1,
(this.leftButton.isDown || this.rightButton.isDown || this.middleButton.isDown || this.backButton.isDown || this.forwardButton.isDown || this.eraserButton.isDown) && (this.isUp = !1,
this.isDown = !0)
},
start: function(e) {
var t = this.game.input;
return e.pointerId && (this.pointerId = e.pointerId),
this.identifier = e.identifier,
this.target = e.target,
this.isMouse ? this.updateButtons(e) : (this.isDown = !0,
this.isUp = !1),
this.active = !0,
this.withinGame = !0,
this.dirty = !1,
this._history = [],
this._clickTrampolines = null,
this._trampolineTargetObject = null,
this.msSinceLastClick = this.game.time.time - this.timeDown,
this.timeDown = this.game.time.time,
this._holdSent = !1,
this.move(e, !0),
this.positionDown.setTo(this.x, this.y),
(t.multiInputOverride === W.Input.MOUSE_OVERRIDES_TOUCH || t.multiInputOverride === W.Input.MOUSE_TOUCH_COMBINE || t.multiInputOverride === W.Input.TOUCH_OVERRIDES_MOUSE && 0 === t.totalActivePointers) && (t.x = this.x,
t.y = this.y,
t.position.setTo(this.x, this.y),
t.onDown.dispatch(this, e),
t.resetSpeed(this.x, this.y)),
this._stateReset = !1,
this.totalTouches++,
null !== this.targetObject && this.targetObject._touchedHandler(this),
this
},
update: function() {
var e = this.game.input;
this.active && (this.dirty && (0 < e.interactiveItems.total && this.processInteractiveObjects(!1),
this.dirty = !1),
!1 === this._holdSent && this.duration >= e.holdRate && ((e.multiInputOverride === W.Input.MOUSE_OVERRIDES_TOUCH || e.multiInputOverride === W.Input.MOUSE_TOUCH_COMBINE || e.multiInputOverride === W.Input.TOUCH_OVERRIDES_MOUSE && 0 === e.totalActivePointers) && e.onHold.dispatch(this),
this._holdSent = !0),
e.recordPointerHistory && this.game.time.time >= this._nextDrop && (this._nextDrop = this.game.time.time + e.recordRate,
this._history.push({
x: this.position.x,
y: this.position.y
}),
this._history.length > e.recordLimit && this._history.shift()))
},
move: function(e, t) {
var i = this.game.input;
if (!i.pollLocked) {
void 0 === t && (t = !1),
void 0 !== e.button && (this.button = e.button),
t && this.isMouse && this.updateButtons(e),
this.clientX = e.clientX,
this.clientY = e.clientY,
this.pageX = e.pageX,
this.pageY = e.pageY,
this.screenX = e.screenX,
this.screenY = e.screenY,
this.isMouse && i.mouse.locked && !t && (this.rawMovementX = e.movementX || e.mozMovementX || e.webkitMovementX || 0,
this.rawMovementY = e.movementY || e.mozMovementY || e.webkitMovementY || 0,
this.movementX += this.rawMovementX,
this.movementY += this.rawMovementY),
this.x = (this.pageX - this.game.scale.offset.x) * i.scale.x,
this.y = (this.pageY - this.game.scale.offset.y) * i.scale.y,
this.position.setTo(this.x, this.y),
this.circle.x = this.x,
this.circle.y = this.y,
(i.multiInputOverride === W.Input.MOUSE_OVERRIDES_TOUCH || i.multiInputOverride === W.Input.MOUSE_TOUCH_COMBINE || i.multiInputOverride === W.Input.TOUCH_OVERRIDES_MOUSE && 0 === i.totalActivePointers) && (i.activePointer = this,
i.x = this.x,
i.y = this.y,
i.position.setTo(i.x, i.y),
i.circle.x = i.x,
i.circle.y = i.y),
this.withinGame = this.game.scale.bounds.contains(this.pageX, this.pageY);
for (var r = i.moveCallbacks.length; r--; )
i.moveCallbacks[r].callback.call(i.moveCallbacks[r].context, this, this.x, this.y, t);
return null !== this.targetObject && !0 === this.targetObject.isDragged ? !1 === this.targetObject.update(this) && (this.targetObject = null) : 0 < i.interactiveItems.total && this.processInteractiveObjects(t),
this
}
},
processInteractiveObjects: function(e) {
var t = 0
, i = -1
, r = null
, o = this.game.input.interactiveItems.first;
for (this.interactiveCandidates = []; o; )
o.checked = !1,
o.validForInput(i, t, !1) && (o.checked = !0,
(e && o.checkPointerDown(this, !0) || !e && o.checkPointerOver(this, !0)) && (t = o.sprite.renderOrderID,
i = o.priorityID,
r = o,
this.interactiveCandidates.push(o))),
o = this.game.input.interactiveItems.next;
for (o = this.game.input.interactiveItems.first; o; )
!o.checked && o.validForInput(i, t, !0) && (e && o.checkPointerDown(this, !1) || !e && o.checkPointerOver(this, !1)) && (t = o.sprite.renderOrderID,
i = o.priorityID,
r = o,
this.interactiveCandidates.push(o)),
o = this.game.input.interactiveItems.next;
return this.game.input.customCandidateHandler && (r = this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext, this, this.interactiveCandidates, r)),
this.swapTarget(r, !1),
null !== this.targetObject
},
swapTarget: function(e, t) {
void 0 === t && (t = !1),
null === e ? this.targetObject && (this.targetObject._pointerOutHandler(this, t),
this.targetObject = null) : null === this.targetObject ? (this.targetObject = e)._pointerOverHandler(this, t) : this.targetObject === e ? !1 === e.update(this) && (this.targetObject = null) : (this.targetObject._pointerOutHandler(this, t),
this.targetObject = e,
this.targetObject._pointerOverHandler(this, t))
},
leave: function(e) {
this.withinGame = !1,
this.move(e, !1)
},
stop: function(e) {
var t = this.game.input;
if (!this._stateReset || !this.withinGame)
return this.timeUp = this.game.time.time,
(t.multiInputOverride === W.Input.MOUSE_OVERRIDES_TOUCH || t.multiInputOverride === W.Input.MOUSE_TOUCH_COMBINE || t.multiInputOverride === W.Input.TOUCH_OVERRIDES_MOUSE && 0 === t.totalActivePointers) && (t.onUp.dispatch(this, e),
0 <= this.duration && this.duration <= t.tapRate && (this.timeUp - this.previousTapTime < t.doubleTapRate ? t.onTap.dispatch(this, !0) : t.onTap.dispatch(this, !1),
this.previousTapTime = this.timeUp)),
this.isMouse ? this.updateButtons(e) : (this.isDown = !1,
this.isUp = !0),
0 < this.id && (this.active = !1),
this.withinGame = this.game.scale.bounds.contains(e.pageX, e.pageY),
this.pointerId = null,
this.identifier = null,
this.positionUp.setTo(this.x, this.y),
!1 === this.isMouse && t.currentPointers--,
t.interactiveItems.callAll("_releasedHandler", this),
this._clickTrampolines && (this._trampolineTargetObject = this.targetObject),
this.targetObject = null,
this;
e.preventDefault()
},
justPressed: function(e) {
return e = e || this.game.input.justPressedRate,
!0 === this.isDown && this.timeDown + e > this.game.time.time
},
justReleased: function(e) {
return e = e || this.game.input.justReleasedRate,
this.isUp && this.timeUp + e > this.game.time.time
},
addClickTrampoline: function(e, t, i, r) {
if (this.isDown) {
for (var o = this._clickTrampolines = this._clickTrampolines || [], s = 0; s < o.length; s++)
if (o[s].name === e) {
o.splice(s, 1);
break
}
o.push({
name: e,
targetObject: this.targetObject,
callback: t,
callbackContext: i,
callbackArgs: r
})
}
},
processClickTrampolines: function() {
var e = this._clickTrampolines;
if (e) {
for (var t = 0; t < e.length; t++) {
var i = e[t];
i.targetObject === this._trampolineTargetObject && i.callback.apply(i.callbackContext, i.callbackArgs)
}
this._clickTrampolines = null,
this._trampolineTargetObject = null
}
},
reset: function() {
!1 === this.isMouse && (this.active = !1),
this.pointerId = null,
this.identifier = null,
this.dirty = !1,
this.totalTouches = 0,
this._holdSent = !1,
this._history.length = 0,
this._stateReset = !0,
this.resetButtons(),
this.targetObject && this.targetObject._releasedHandler(this),
this.targetObject = null
},
resetMovement: function() {
this.movementX = 0,
this.movementY = 0
}
},
W.Pointer.prototype.constructor = W.Pointer,
Object.defineProperty(W.Pointer.prototype, "duration", {
get: function() {
return this.isUp ? -1 : this.game.time.time - this.timeDown
}
}),
Object.defineProperty(W.Pointer.prototype, "worldX", {
get: function() {
return this.game.world.camera.x + this.x
}
}),
Object.defineProperty(W.Pointer.prototype, "worldY", {
get: function() {
return this.game.world.camera.y + this.y
}
}),
W.PointerMode = {
CURSOR: 1,
CONTACT: 2
},
W.Touch = function(e) {
this.game = e,
this.enabled = !0,
this.touchLockCallbacks = [],
this.callbackContext = this.game,
this.touchStartCallback = null,
this.touchMoveCallback = null,
this.touchEndCallback = null,
this.touchEnterCallback = null,
this.touchLeaveCallback = null,
this.touchCancelCallback = null,
this.preventDefault = !0,
this.event = null,
this._onTouchStart = null,
this._onTouchMove = null,
this._onTouchEnd = null,
this._onTouchEnter = null,
this._onTouchLeave = null,
this._onTouchCancel = null,
this._onTouchMove = null
}
,
W.Touch.prototype = {
start: function() {
if (null === this._onTouchStart) {
var t = this;
this.game.device.touch && (this._onTouchStart = function(e) {
return t.onTouchStart(e)
}
,
this._onTouchMove = function(e) {
return t.onTouchMove(e)
}
,
this._onTouchEnd = function(e) {
return t.onTouchEnd(e)
}
,
this._onTouchEnter = function(e) {
return t.onTouchEnter(e)
}
,
this._onTouchLeave = function(e) {
return t.onTouchLeave(e)
}
,
this._onTouchCancel = function(e) {
return t.onTouchCancel(e)
}
,
this.game.canvas.addEventListener("touchstart", this._onTouchStart, !1),
this.game.canvas.addEventListener("touchmove", this._onTouchMove, !1),
this.game.canvas.addEventListener("touchend", this._onTouchEnd, !1),
this.game.canvas.addEventListener("touchcancel", this._onTouchCancel, !1),
this.game.device.cocoonJS || (this.game.canvas.addEventListener("touchenter", this._onTouchEnter, !1),
this.game.canvas.addEventListener("touchleave", this._onTouchLeave, !1)))
}
},
consumeDocumentTouches: function() {
this._documentTouchMove = function(e) {
e.preventDefault()
}
,
document.addEventListener("touchmove", this._documentTouchMove, !1)
},
addTouchLockCallback: function(e, t, i) {
void 0 === i && (i = !1),
this.touchLockCallbacks.push({
callback: e,
context: t,
onEnd: i
})
},
removeTouchLockCallback: function(e, t) {
for (var i = this.touchLockCallbacks.length; i--; )
if (this.touchLockCallbacks[i].callback === e && this.touchLockCallbacks[i].context === t)
return this.touchLockCallbacks.splice(i, 1),
!0;
return !1
},
onTouchStart: function(e) {
for (var t = this.touchLockCallbacks.length; t--; ) {
var i = this.touchLockCallbacks[t];
!i.onEnd && i.callback.call(i.context, this, e) && this.touchLockCallbacks.splice(t, 1)
}
if (this.event = e,
this.game.input.enabled && this.enabled) {
this.touchStartCallback && this.touchStartCallback.call(this.callbackContext, e),
this.preventDefault && e.preventDefault();
for (t = 0; t < e.changedTouches.length; t++)
this.game.input.startPointer(e.changedTouches[t])
}
},
onTouchCancel: function(e) {
if (this.event = e,
this.touchCancelCallback && this.touchCancelCallback.call(this.callbackContext, e),
this.game.input.enabled && this.enabled) {
this.preventDefault && e.preventDefault();
for (var t = 0; t < e.changedTouches.length; t++)
this.game.input.stopPointer(e.changedTouches[t])
}
},
onTouchEnter: function(e) {
this.event = e,
this.touchEnterCallback && this.touchEnterCallback.call(this.callbackContext, e),
this.game.input.enabled && this.enabled && this.preventDefault && e.preventDefault()
},
onTouchLeave: function(e) {
this.event = e,
this.touchLeaveCallback && this.touchLeaveCallback.call(this.callbackContext, e),
this.preventDefault && e.preventDefault()
},
onTouchMove: function(e) {
this.event = e,
this.touchMoveCallback && this.touchMoveCallback.call(this.callbackContext, e),
this.preventDefault && e.preventDefault();
for (var t = 0; t < e.changedTouches.length; t++)
this.game.input.updatePointer(e.changedTouches[t])
},
onTouchEnd: function(e) {
for (var t = this.touchLockCallbacks.length; t--; ) {
var i = this.touchLockCallbacks[t];
i.onEnd && i.callback.call(i.context, this, e) && this.touchLockCallbacks.splice(t, 1)
}
this.event = e,
this.touchEndCallback && this.touchEndCallback.call(this.callbackContext, e),
this.preventDefault && e.preventDefault();
for (t = 0; t < e.changedTouches.length; t++)
this.game.input.stopPointer(e.changedTouches[t])
},
stop: function() {
this.game.device.touch && (this.game.canvas.removeEventListener("touchstart", this._onTouchStart),
this.game.canvas.removeEventListener("touchmove", this._onTouchMove),
this.game.canvas.removeEventListener("touchend", this._onTouchEnd),
this.game.canvas.removeEventListener("touchenter", this._onTouchEnter),
this.game.canvas.removeEventListener("touchleave", this._onTouchLeave),
this.game.canvas.removeEventListener("touchcancel", this._onTouchCancel))
}
},
W.Touch.prototype.constructor = W.Touch,
W.InputHandler = function(e) {
this.sprite = e,
this.game = e.game,
this.enabled = !1,
this.checked = !1,
this.priorityID = 0,
this.useHandCursor = !1,
this._setHandCursor = !1,
this.isDragged = !1,
this.allowHorizontalDrag = !0,
this.allowVerticalDrag = !0,
this.bringToTop = !1,
this.snapOffset = null,
this.snapOnDrag = !1,
this.snapOnRelease = !1,
this.snapX = 0,
this.snapY = 0,
this.snapOffsetX = 0,
this.snapOffsetY = 0,
this.pixelPerfectOver = !1,
this.pixelPerfectClick = !1,
this.pixelPerfectAlpha = 255,
this.draggable = !1,
this.boundsRect = null,
this.boundsSprite = null,
this.scaleLayer = !1,
this.dragOffset = new W.Point,
this.dragFromCenter = !1,
this.dragStopBlocksInputUp = !1,
this.dragStartPoint = new W.Point,
this.dragDistanceThreshold = 0,
this.dragTimeThreshold = 0,
this.downPoint = new W.Point,
this.snapPoint = new W.Point,
this._dragPoint = new W.Point,
this._dragPhase = !1,
this._pendingDrag = !1,
this._dragTimePass = !1,
this._dragDistancePass = !1,
this._wasEnabled = !1,
this._tempPoint = new W.Point,
this._pointerData = [],
this._pointerData.push({
id: 0,
x: 0,
y: 0,
camX: 0,
camY: 0,
isDown: !1,
isUp: !1,
isOver: !1,
isOut: !1,
timeOver: 0,
timeOut: 0,
timeDown: 0,
timeUp: 0,
downDuration: 0,
isDragged: !1
})
}
,
W.InputHandler.prototype = {
start: function(e, t) {
if (e = e || 0,
void 0 === t && (t = !1),
!1 === this.enabled) {
this.game.input.interactiveItems.add(this),
this.useHandCursor = t,
this.priorityID = e;
for (var i = 0; i < 10; i++)
this._pointerData[i] = {
id: i,
x: 0,
y: 0,
isDown: !1,
isUp: !1,
isOver: !1,
isOut: !1,
timeOver: 0,
timeOut: 0,
timeDown: 0,
timeUp: 0,
downDuration: 0,
isDragged: !1
};
this.snapOffset = new W.Point,
this.enabled = !0,
this._wasEnabled = !0
}
return this.sprite.events.onAddedToGroup.add(this.addedToGroup, this),
this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup, this),
this.sprite
},
addedToGroup: function() {
this._dragPhase || this._wasEnabled && !this.enabled && this.start()
},
removedFromGroup: function() {
this._dragPhase || (this.enabled ? (this._wasEnabled = !0,
this.stop()) : this._wasEnabled = !1)
},
reset: function() {
this.enabled = !1;
for (var e = 0; e < 10; e++)
this._pointerData[e] = {
id: e,
x: 0,
y: 0,
isDown: !1,
isUp: !1,
isOver: !1,
isOut: !1,
timeOver: 0,
timeOut: 0,
timeDown: 0,
timeUp: 0,
downDuration: 0,
isDragged: !1
}
},
stop: function() {
!1 !== this.enabled && (this.enabled = !1,
this.game.input.interactiveItems.remove(this))
},
destroy: function() {
this.sprite && (this._setHandCursor && (this.game.canvas.style.cursor = "default",
this._setHandCursor = !1),
this.enabled = !1,
this.game.input.interactiveItems.remove(this),
this._pointerData.length = 0,
this.boundsRect = null,
this.boundsSprite = null,
this.sprite = null)
},
validForInput: function(e, t, i) {
return void 0 === i && (i = !0),
!(!this.enabled || 0 === this.sprite.scale.x || 0 === this.sprite.scale.y || this.priorityID < this.game.input.minPriorityID || this.sprite.parent && this.sprite.parent.ignoreChildInput) && (!(!i && (this.pixelPerfectClick || this.pixelPerfectOver)) && (this.priorityID > e || this.priorityID === e && this.sprite.renderOrderID > t))
},
isPixelPerfect: function() {
return this.pixelPerfectClick || this.pixelPerfectOver
},
pointerX: function(e) {
return e = e || 0,
this._pointerData[e].x
},
pointerY: function(e) {
return e = e || 0,
this._pointerData[e].y
},
pointerDown: function(e) {
return e = e || 0,
this._pointerData[e].isDown
},
pointerUp: function(e) {
return e = e || 0,
this._pointerData[e].isUp
},
pointerTimeDown: function(e) {
return e = e || 0,
this._pointerData[e].timeDown
},
pointerTimeUp: function(e) {
return e = e || 0,
this._pointerData[e].timeUp
},
pointerOver: function(e) {
if (!this.enabled)
return !1;
if (void 0 !== e)
return this._pointerData[e].isOver;
for (var t = 0; t < 10; t++)
if (this._pointerData[t].isOver)
return !0;
return !1
},
pointerOut: function(e) {
if (!this.enabled)
return !1;
if (void 0 !== e)
return this._pointerData[e].isOut;
for (var t = 0; t < 10; t++)
if (this._pointerData[t].isOut)
return !0
},
pointerTimeOver: function(e) {
return e = e || 0,
this._pointerData[e].timeOver
},
pointerTimeOut: function(e) {
return e = e || 0,
this._pointerData[e].timeOut
},
pointerDragged: function(e) {
return e = e || 0,
this._pointerData[e].isDragged
},
checkPointerDown: function(e, t) {
return !!(e.isDown && this.enabled && this.sprite && this.sprite.parent && this.sprite.visible && this.sprite.parent.visible && 0 !== this.sprite.worldScale.x && 0 !== this.sprite.worldScale.y) && (!!this.game.input.hitTest(this.sprite, e, this._tempPoint) && (void 0 === t && (t = !1),
!(!t && this.pixelPerfectClick) || this.checkPixel(this._tempPoint.x, this._tempPoint.y)))
},
checkPointerOver: function(e, t) {
return !!(this.enabled && this.sprite && this.sprite.parent && this.sprite.visible && this.sprite.parent.visible && 0 !== this.sprite.worldScale.x && 0 !== this.sprite.worldScale.y) && (!!this.game.input.hitTest(this.sprite, e, this._tempPoint) && (void 0 === t && (t = !1),
!(!t && this.pixelPerfectOver) || this.checkPixel(this._tempPoint.x, this._tempPoint.y)))
},
checkPixel: function(e, t, i) {
if (this.sprite.texture.baseTexture.source) {
if (null === e && null === t) {
this.game.input.getLocalPosition(this.sprite, i, this._tempPoint);
e = this._tempPoint.x,
t = this._tempPoint.y
}
if (0 !== this.sprite.anchor.x && (e -= -this.sprite.texture.frame.width * this.sprite.anchor.x),
0 !== this.sprite.anchor.y && (t -= -this.sprite.texture.frame.height * this.sprite.anchor.y),
e += this.sprite.texture.frame.x,
t += this.sprite.texture.frame.y,
this.sprite.texture.trim && (e -= this.sprite.texture.trim.x,
t -= this.sprite.texture.trim.y,
e < this.sprite.texture.crop.x || e > this.sprite.texture.crop.right || t < this.sprite.texture.crop.y || t > this.sprite.texture.crop.bottom))
return this._dx = e,
this._dy = t,
!1;
if (this._dx = e,
this._dy = t,
this.game.input.hitContext.clearRect(0, 0, 1, 1),
this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source, e, t, 1, 1, 0, 0, 1, 1),
this.game.input.hitContext.getImageData(0, 0, 1, 1).data[3] >= this.pixelPerfectAlpha)
return !0
}
return !1
},
update: function(e) {
if (null !== this.sprite && void 0 !== this.sprite.parent)
return this.enabled && this.sprite.visible && this.sprite.parent.visible ? this._pendingDrag ? (this._dragDistancePass || (this._dragDistancePass = W.Math.distance(e.x, e.y, this.downPoint.x, this.downPoint.y) >= this.dragDistanceThreshold),
this._dragDistancePass && this._dragTimePass && this.startDrag(e),
!0) : this.draggable && this._draggedPointerID === e.id ? this.updateDrag(e, !1) : this._pointerData[e.id].isOver ? this.checkPointerOver(e) ? (this._pointerData[e.id].x = e.x - this.sprite.x,
this._pointerData[e.id].y = e.y - this.sprite.y,
!0) : (this._pointerOutHandler(e),
!1) : void 0 : (this._pointerOutHandler(e),
!1)
},
_pointerOverHandler: function(e, t) {
if (null !== this.sprite) {
var i = this._pointerData[e.id];
if (!1 === i.isOver || e.dirty) {
var r = !1 === i.isOver;
i.isOver = !0,
i.isOut = !1,
i.timeOver = this.game.time.time,
i.x = e.x - this.sprite.x,
i.y = e.y - this.sprite.y,
this.useHandCursor && !1 === i.isDragged && (this.game.canvas.style.cursor = "pointer",
this._setHandCursor = !0),
!t && r && this.sprite && this.sprite.events && this.sprite.events.onInputOver$dispatch(this.sprite, e),
this.sprite.parent && this.sprite.parent.type === W.GROUP && this.sprite.parent.onChildInputOver.dispatch(this.sprite, e)
}
}
},
_pointerOutHandler: function(e, t) {
if (null !== this.sprite) {
var i = this._pointerData[e.id];
i.isOver = !1,
i.isOut = !0,
i.timeOut = this.game.time.time,
this.useHandCursor && !1 === i.isDragged && (this.game.canvas.style.cursor = "default",
this._setHandCursor = !1),
!t && this.sprite && this.sprite.events && (this.sprite.events.onInputOut$dispatch(this.sprite, e),
this.sprite && this.sprite.parent && this.sprite.parent.type === W.GROUP && this.sprite.parent.onChildInputOut.dispatch(this.sprite, e))
}
},
_touchedHandler: function(e) {
if (null !== this.sprite) {
var t = this._pointerData[e.id];
if (!t.isDown && t.isOver) {
if (this.pixelPerfectClick && !this.checkPixel(null, null, e))
return;
if (t.isDown = !0,
t.isUp = !1,
t.timeDown = this.game.time.time,
this.downPoint.set(e.x, e.y),
e.dirty = !0,
this.sprite && this.sprite.events && (this.sprite.events.onInputDown$dispatch(this.sprite, e),
this.sprite && this.sprite.parent && this.sprite.parent.type === W.GROUP && this.sprite.parent.onChildInputDown.dispatch(this.sprite, e),
null === this.sprite))
return;
this.draggable && !1 === this.isDragged && (0 === this.dragTimeThreshold && 0 === this.dragDistanceThreshold ? this.startDrag(e) : (this._pendingDrag = !0,
this._dragDistancePass = 0 === this.dragDistanceThreshold,
0 < this.dragTimeThreshold ? (this._dragTimePass = !1,
this.game.time.events.add(this.dragTimeThreshold, this.dragTimeElapsed, this, e)) : this._dragTimePass = !0)),
this.bringToTop && this.sprite.bringToTop()
}
}
},
dragTimeElapsed: function(e) {
this._dragTimePass = !0,
this._pendingDrag && this.sprite && this._dragDistancePass && this.startDrag(e)
},
_releasedHandler: function(e) {
if (null !== this.sprite) {
var t = this._pointerData[e.id];
if (t.isDown && e.isUp) {
t.isDown = !1,
t.isUp = !0,
t.timeUp = this.game.time.time,
t.downDuration = t.timeUp - t.timeDown;
var i = this.checkPointerOver(e);
this.sprite && this.sprite.events && (this.dragStopBlocksInputUp && (!this.dragStopBlocksInputUp || this.draggable && this.isDragged && this._draggedPointerID === e.id) || this.sprite.events.onInputUp$dispatch(this.sprite, e, i),
this.sprite && this.sprite.parent && this.sprite.parent.type === W.GROUP && this.sprite.parent.onChildInputUp.dispatch(this.sprite, e, i),
i && (i = this.checkPointerOver(e))),
!(t.isOver = i) && this.useHandCursor && (this.game.canvas.style.cursor = "default",
this._setHandCursor = !1),
e.dirty = !0,
this._pendingDrag = !1,
this.draggable && this.isDragged && this._draggedPointerID === e.id && this.stopDrag(e)
}
}
},
updateDrag: function(e, t) {
if (void 0 === t && (t = !1),
e.isUp)
return this.stopDrag(e),
!1;
var i = this.globalToLocalX(e.x) + this._dragPoint.x + this.dragOffset.x
, r = this.globalToLocalY(e.y) + this._dragPoint.y + this.dragOffset.y;
if (this.sprite.fixedToCamera)
this.allowHorizontalDrag && (this.sprite.cameraOffset.x = i),
this.allowVerticalDrag && (this.sprite.cameraOffset.y = r),
this.boundsRect && this.checkBoundsRect(),
this.boundsSprite && this.checkBoundsSprite(),
this.snapOnDrag && (this.sprite.cameraOffset.x = Math.round((this.sprite.cameraOffset.x - this.snapOffsetX % this.snapX) / this.snapX) * this.snapX + this.snapOffsetX % this.snapX,
this.sprite.cameraOffset.y = Math.round((this.sprite.cameraOffset.y - this.snapOffsetY % this.snapY) / this.snapY) * this.snapY + this.snapOffsetY % this.snapY,
this.snapPoint.set(this.sprite.cameraOffset.x, this.sprite.cameraOffset.y));
else {
var o = this.game.camera.x - this._pointerData[e.id].camX
, s = this.game.camera.y - this._pointerData[e.id].camY;
this.allowHorizontalDrag && (this.sprite.x = i + o),
this.allowVerticalDrag && (this.sprite.y = r + s),
this.boundsRect && this.checkBoundsRect(),
this.boundsSprite && this.checkBoundsSprite(),
this.snapOnDrag && (this.sprite.x = Math.round((this.sprite.x - this.snapOffsetX % this.snapX) / this.snapX) * this.snapX + this.snapOffsetX % this.snapX,
this.sprite.y = Math.round((this.sprite.y - this.snapOffsetY % this.snapY) / this.snapY) * this.snapY + this.snapOffsetY % this.snapY,
this.snapPoint.set(this.sprite.x, this.sprite.y))
}
return this.sprite.events.onDragUpdate.dispatch(this.sprite, e, i, r, this.snapPoint, t),
!0
},
justOver: function(e, t) {
return e = e || 0,
t = t || 500,
this._pointerData[e].isOver && this.overDuration(e) < t
},
justOut: function(e, t) {
return e = e || 0,
t = t || 500,
this._pointerData[e].isOut && this.game.time.time - this._pointerData[e].timeOut < t
},
justPressed: function(e, t) {
return e = e || 0,
t = t || 500,
this._pointerData[e].isDown && this.downDuration(e) < t
},
justReleased: function(e, t) {
return e = e || 0,
t = t || 500,
this._pointerData[e].isUp && this.game.time.time - this._pointerData[e].timeUp < t
},
overDuration: function(e) {
return e = e || 0,
this._pointerData[e].isOver ? this.game.time.time - this._pointerData[e].timeOver : -1
},
downDuration: function(e) {
return e = e || 0,
this._pointerData[e].isDown ? this.game.time.time - this._pointerData[e].timeDown : -1
},
enableDrag: function(e, t, i, r, o, s) {
void 0 === e && (e = !1),
void 0 === t && (t = !1),
void 0 === i && (i = !1),
void 0 === r && (r = 255),
void 0 === o && (o = null),
void 0 === s && (s = null),
this._dragPoint = new W.Point,
this.draggable = !0,
this.bringToTop = t,
this.dragOffset = new W.Point,
this.dragFromCenter = e,
this.pixelPerfectClick = i,
this.pixelPerfectAlpha = r,
o && (this.boundsRect = o),
s && (this.boundsSprite = s)
},
disableDrag: function() {
if (this._pointerData)
for (var e = 0; e < 10; e++)
this._pointerData[e].isDragged = !1;
this.draggable = !1,
this.isDragged = !1,
this._draggedPointerID = -1,
this._pendingDrag = !1
},
startDrag: function(e) {
var t = this.sprite.x
, i = this.sprite.y;
if (this.isDragged = !0,
this._draggedPointerID = e.id,
this._pointerData[e.id].camX = this.game.camera.x,
this._pointerData[e.id].camY = this.game.camera.y,
this._pointerData[e.id].isDragged = !0,
this.sprite.fixedToCamera) {
if (this.dragFromCenter) {
var r = this.sprite.getBounds();
this.sprite.cameraOffset.x = this.globalToLocalX(e.x) + (this.sprite.cameraOffset.x - r.centerX),
this.sprite.cameraOffset.y = this.globalToLocalY(e.y) + (this.sprite.cameraOffset.y - r.centerY)
}
this._dragPoint.setTo(this.sprite.cameraOffset.x - e.x, this.sprite.cameraOffset.y - e.y)
} else {
if (this.dragFromCenter) {
r = this.sprite.getBounds();
this.sprite.x = this.globalToLocalX(e.x) + (this.sprite.x - r.centerX),
this.sprite.y = this.globalToLocalY(e.y) + (this.sprite.y - r.centerY)
}
this._dragPoint.setTo(this.sprite.x - this.globalToLocalX(e.x), this.sprite.y - this.globalToLocalY(e.y))
}
this.updateDrag(e, !0),
this.bringToTop && (this._dragPhase = !0,
this.sprite.bringToTop()),
this.dragStartPoint.set(t, i),
this.sprite.events.onDragStart$dispatch(this.sprite, e, t, i),
this._pendingDrag = !1
},
globalToLocalX: function(e) {
return this.scaleLayer && (e -= this.game.scale.grid.boundsFluid.x,
e *= this.game.scale.grid.scaleFluidInversed.x),
e
},
globalToLocalY: function(e) {
return this.scaleLayer && (e -= this.game.scale.grid.boundsFluid.y,
e *= this.game.scale.grid.scaleFluidInversed.y),
e
},
stopDrag: function(e) {
this.isDragged = !1,
this._draggedPointerID = -1,
this._pointerData[e.id].isDragged = !1,
this._dragPhase = !1,
this._pendingDrag = !1,
this.snapOnRelease && (this.sprite.fixedToCamera ? (this.sprite.cameraOffset.x = Math.round((this.sprite.cameraOffset.x - this.snapOffsetX % this.snapX) / this.snapX) * this.snapX + this.snapOffsetX % this.snapX,
this.sprite.cameraOffset.y = Math.round((this.sprite.cameraOffset.y - this.snapOffsetY % this.snapY) / this.snapY) * this.snapY + this.snapOffsetY % this.snapY) : (this.sprite.x = Math.round((this.sprite.x - this.snapOffsetX % this.snapX) / this.snapX) * this.snapX + this.snapOffsetX % this.snapX,
this.sprite.y = Math.round((this.sprite.y - this.snapOffsetY % this.snapY) / this.snapY) * this.snapY + this.snapOffsetY % this.snapY)),
this.sprite.events.onDragStop$dispatch(this.sprite, e),
!1 === this.checkPointerOver(e) && this._pointerOutHandler(e)
},
setDragLock: function(e, t) {
void 0 === e && (e = !0),
void 0 === t && (t = !0),
this.allowHorizontalDrag = e,
this.allowVerticalDrag = t
},
enableSnap: function(e, t, i, r, o, s) {
void 0 === i && (i = !0),
void 0 === r && (r = !1),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
this.snapX = e,
this.snapY = t,
this.snapOffsetX = o,
this.snapOffsetY = s,
this.snapOnDrag = i,
this.snapOnRelease = r
},
disableSnap: function() {
this.snapOnDrag = !1,
this.snapOnRelease = !1
},
checkBoundsRect: function() {
this.sprite.fixedToCamera ? (this.sprite.cameraOffset.x < this.boundsRect.left ? this.sprite.cameraOffset.x = this.boundsRect.left : this.sprite.cameraOffset.x + this.sprite.width > this.boundsRect.right && (this.sprite.cameraOffset.x = this.boundsRect.right - this.sprite.width),
this.sprite.cameraOffset.y < this.boundsRect.top ? this.sprite.cameraOffset.y = this.boundsRect.top : this.sprite.cameraOffset.y + this.sprite.height > this.boundsRect.bottom && (this.sprite.cameraOffset.y = this.boundsRect.bottom - this.sprite.height)) : (this.sprite.left < this.boundsRect.left ? this.sprite.x = this.boundsRect.x + this.sprite.offsetX : this.sprite.right > this.boundsRect.right && (this.sprite.x = this.boundsRect.right - (this.sprite.width - this.sprite.offsetX)),
this.sprite.top < this.boundsRect.top ? this.sprite.y = this.boundsRect.top + this.sprite.offsetY : this.sprite.bottom > this.boundsRect.bottom && (this.sprite.y = this.boundsRect.bottom - (this.sprite.height - this.sprite.offsetY)))
},
checkBoundsSprite: function() {
this.sprite.fixedToCamera && this.boundsSprite.fixedToCamera ? (this.sprite.cameraOffset.x < this.boundsSprite.cameraOffset.x ? this.sprite.cameraOffset.x = this.boundsSprite.cameraOffset.x : this.sprite.cameraOffset.x + this.sprite.width > this.boundsSprite.cameraOffset.x + this.boundsSprite.width && (this.sprite.cameraOffset.x = this.boundsSprite.cameraOffset.x + this.boundsSprite.width - this.sprite.width),
this.sprite.cameraOffset.y < this.boundsSprite.cameraOffset.y ? this.sprite.cameraOffset.y = this.boundsSprite.cameraOffset.y : this.sprite.cameraOffset.y + this.sprite.height > this.boundsSprite.cameraOffset.y + this.boundsSprite.height && (this.sprite.cameraOffset.y = this.boundsSprite.cameraOffset.y + this.boundsSprite.height - this.sprite.height)) : (this.sprite.left < this.boundsSprite.left ? this.sprite.x = this.boundsSprite.left + this.sprite.offsetX : this.sprite.right > this.boundsSprite.right && (this.sprite.x = this.boundsSprite.right - (this.sprite.width - this.sprite.offsetX)),
this.sprite.top < this.boundsSprite.top ? this.sprite.y = this.boundsSprite.top + this.sprite.offsetY : this.sprite.bottom > this.boundsSprite.bottom && (this.sprite.y = this.boundsSprite.bottom - (this.sprite.height - this.sprite.offsetY)))
}
},
W.InputHandler.prototype.constructor = W.InputHandler,
W.Gamepad = function(e) {
this.game = e,
this._gamepadIndexMap = {},
this._rawPads = [],
this._active = !1,
this.enabled = !0,
this._gamepadSupportAvailable = !!navigator.webkitGetGamepads || !!navigator.webkitGamepads || -1 !== navigator.userAgent.indexOf("Firefox/") || !!navigator.getGamepads,
this._prevRawGamepadTypes = [],
this._prevTimestamps = [],
(this.callbackContext = this).onConnectCallback = null,
this.onDisconnectCallback = null,
this.onDownCallback = null,
this.onUpCallback = null,
this.onAxisCallback = null,
this.onFloatCallback = null,
this._ongamepadconnected = null,
this._gamepaddisconnected = null,
this._gamepads = [new W.SinglePad(e,this), new W.SinglePad(e,this), new W.SinglePad(e,this), new W.SinglePad(e,this)]
}
,
W.Gamepad.prototype = {
addCallbacks: function(e, t) {
void 0 !== t && (this.onConnectCallback = "function" == typeof t.onConnect ? t.onConnect : this.onConnectCallback,
this.onDisconnectCallback = "function" == typeof t.onDisconnect ? t.onDisconnect : this.onDisconnectCallback,
this.onDownCallback = "function" == typeof t.onDown ? t.onDown : this.onDownCallback,
this.onUpCallback = "function" == typeof t.onUp ? t.onUp : this.onUpCallback,
this.onAxisCallback = "function" == typeof t.onAxis ? t.onAxis : this.onAxisCallback,
this.onFloatCallback = "function" == typeof t.onFloat ? t.onFloat : this.onFloatCallback,
this.callbackContext = e)
},
start: function() {
if (!this._active) {
this._active = !0;
var t = this;
this._onGamepadConnected = function(e) {
return t.onGamepadConnected(e)
}
,
this._onGamepadDisconnected = function(e) {
return t.onGamepadDisconnected(e)
}
,
window.addEventListener("gamepadconnected", this._onGamepadConnected, !1),
window.addEventListener("gamepaddisconnected", this._onGamepadDisconnected, !1)
}
},
onGamepadConnected: function(e) {
var t = e.gamepad;
this._rawPads.push(t),
this._gamepads[t.index].connect(t)
},
onGamepadDisconnected: function(e) {
var t = e.gamepad;
for (var i in this._rawPads)
this._rawPads[i].index === t.index && this._rawPads.splice(i, 1);
this._gamepads[t.index].disconnect()
},
update: function() {
this._pollGamepads(),
this.pad1.pollStatus(),
this.pad2.pollStatus(),
this.pad3.pollStatus(),
this.pad4.pollStatus()
},
_pollGamepads: function() {
if (this._active) {
if (navigator.getGamepads)
var e = navigator.getGamepads();
else if (navigator.webkitGetGamepads)
e = navigator.webkitGetGamepads();
else if (navigator.webkitGamepads)
e = navigator.webkitGamepads();
if (e) {
for (var t = !(this._rawPads = []), i = 0; i < e.length && (typeof e[i] !== this._prevRawGamepadTypes[i] && (t = !0,
this._prevRawGamepadTypes[i] = typeof e[i]),
e[i] && this._rawPads.push(e[i]),
3 !== i); i++)
;
for (var r = 0; r < this._gamepads.length; r++)
this._gamepads[r]._rawPad = this._rawPads[r];
if (t) {
for (var o, s = {
rawIndices: {},
padIndices: {}
}, a = 0; a < this._gamepads.length; a++)
if ((o = this._gamepads[a]).connected)
for (var n = 0; n < this._rawPads.length; n++)
this._rawPads[n].index === o.index && (s.rawIndices[o.index] = !0,
s.padIndices[a] = !0);
for (var h = 0; h < this._gamepads.length; h++)
if (o = this._gamepads[h],
!s.padIndices[h]) {
this._rawPads.length < 1 && o.disconnect();
for (var c = 0; c < this._rawPads.length && !s.padIndices[h]; c++) {
var l = this._rawPads[c];
if (l) {
if (s.rawIndices[l.index]) {
o.disconnect();
continue
}
o.connect(l),
s.rawIndices[l.index] = !0,
s.padIndices[h] = !0
} else
o.disconnect()
}
}
}
}
}
},
setDeadZones: function(e) {
for (var t = 0; t < this._gamepads.length; t++)
this._gamepads[t].deadZone = e
},
stop: function() {
this._active = !1,
window.removeEventListener("gamepadconnected", this._onGamepadConnected),
window.removeEventListener("gamepaddisconnected", this._onGamepadDisconnected)
},
reset: function() {
this.update();
for (var e = 0; e < this._gamepads.length; e++)
this._gamepads[e].reset()
},
justPressed: function(e, t) {
for (var i = 0; i < this._gamepads.length; i++)
if (!0 === this._gamepads[i].justPressed(e, t))
return !0;
return !1
},
justReleased: function(e, t) {
for (var i = 0; i < this._gamepads.length; i++)
if (!0 === this._gamepads[i].justReleased(e, t))
return !0;
return !1
},
isDown: function(e) {
for (var t = 0; t < this._gamepads.length; t++)
if (!0 === this._gamepads[t].isDown(e))
return !0;
return !1
},
destroy: function() {
this.stop();
for (var e = 0; e < this._gamepads.length; e++)
this._gamepads[e].destroy()
}
},
W.Gamepad.prototype.constructor = W.Gamepad,
Object.defineProperty(W.Gamepad.prototype, "active", {
get: function() {
return this._active
}
}),
Object.defineProperty(W.Gamepad.prototype, "supported", {
get: function() {
return this._gamepadSupportAvailable
}
}),
Object.defineProperty(W.Gamepad.prototype, "padsConnected", {
get: function() {
return this._rawPads.length
}
}),
Object.defineProperty(W.Gamepad.prototype, "pad1", {
get: function() {
return this._gamepads[0]
}
}),
Object.defineProperty(W.Gamepad.prototype, "pad2", {
get: function() {
return this._gamepads[1]
}
}),
Object.defineProperty(W.Gamepad.prototype, "pad3", {
get: function() {
return this._gamepads[2]
}
}),
Object.defineProperty(W.Gamepad.prototype, "pad4", {
get: function() {
return this._gamepads[3]
}
}),
W.Gamepad.BUTTON_0 = 0,
W.Gamepad.BUTTON_1 = 1,
W.Gamepad.BUTTON_2 = 2,
W.Gamepad.BUTTON_3 = 3,
W.Gamepad.BUTTON_4 = 4,
W.Gamepad.BUTTON_5 = 5,
W.Gamepad.BUTTON_6 = 6,
W.Gamepad.BUTTON_7 = 7,
W.Gamepad.BUTTON_8 = 8,
W.Gamepad.BUTTON_9 = 9,
W.Gamepad.BUTTON_10 = 10,
W.Gamepad.BUTTON_11 = 11,
W.Gamepad.BUTTON_12 = 12,
W.Gamepad.BUTTON_13 = 13,
W.Gamepad.BUTTON_14 = 14,
W.Gamepad.BUTTON_15 = 15,
W.Gamepad.AXIS_0 = 0,
W.Gamepad.AXIS_1 = 1,
W.Gamepad.AXIS_2 = 2,
W.Gamepad.AXIS_3 = 3,
W.Gamepad.AXIS_4 = 4,
W.Gamepad.AXIS_5 = 5,
W.Gamepad.AXIS_6 = 6,
W.Gamepad.AXIS_7 = 7,
W.Gamepad.AXIS_8 = 8,
W.Gamepad.AXIS_9 = 9,
W.Gamepad.XBOX360_A = 0,
W.Gamepad.XBOX360_B = 1,
W.Gamepad.XBOX360_X = 2,
W.Gamepad.XBOX360_Y = 3,
W.Gamepad.XBOX360_LEFT_BUMPER = 4,
W.Gamepad.XBOX360_RIGHT_BUMPER = 5,
W.Gamepad.XBOX360_LEFT_TRIGGER = 6,
W.Gamepad.XBOX360_RIGHT_TRIGGER = 7,
W.Gamepad.XBOX360_BACK = 8,
W.Gamepad.XBOX360_START = 9,
W.Gamepad.XBOX360_STICK_LEFT_BUTTON = 10,
W.Gamepad.XBOX360_STICK_RIGHT_BUTTON = 11,
W.Gamepad.XBOX360_DPAD_LEFT = 14,
W.Gamepad.XBOX360_DPAD_RIGHT = 15,
W.Gamepad.XBOX360_DPAD_UP = 12,
W.Gamepad.XBOX360_DPAD_DOWN = 13,
W.Gamepad.XBOX360_STICK_LEFT_X = 0,
W.Gamepad.XBOX360_STICK_LEFT_Y = 1,
W.Gamepad.XBOX360_STICK_RIGHT_X = 2,
W.Gamepad.XBOX360_STICK_RIGHT_Y = 3,
W.Gamepad.PS3XC_X = 0,
W.Gamepad.PS3XC_CIRCLE = 1,
W.Gamepad.PS3XC_SQUARE = 2,
W.Gamepad.PS3XC_TRIANGLE = 3,
W.Gamepad.PS3XC_L1 = 4,
W.Gamepad.PS3XC_R1 = 5,
W.Gamepad.PS3XC_L2 = 6,
W.Gamepad.PS3XC_R2 = 7,
W.Gamepad.PS3XC_SELECT = 8,
W.Gamepad.PS3XC_START = 9,
W.Gamepad.PS3XC_STICK_LEFT_BUTTON = 10,
W.Gamepad.PS3XC_STICK_RIGHT_BUTTON = 11,
W.Gamepad.PS3XC_DPAD_UP = 12,
W.Gamepad.PS3XC_DPAD_DOWN = 13,
W.Gamepad.PS3XC_DPAD_LEFT = 14,
W.Gamepad.PS3XC_DPAD_RIGHT = 15,
W.Gamepad.PS3XC_STICK_LEFT_X = 0,
W.Gamepad.PS3XC_STICK_LEFT_Y = 1,
W.Gamepad.PS3XC_STICK_RIGHT_X = 2,
W.Gamepad.PS3XC_STICK_RIGHT_Y = 3,
W.SinglePad = function(e, t) {
this.game = e,
this.index = null,
this.connected = !1,
(this.callbackContext = this).onConnectCallback = null,
this.onDisconnectCallback = null,
this.onDownCallback = null,
this.onUpCallback = null,
this.onAxisCallback = null,
this.onFloatCallback = null,
this.deadZone = .26,
this._padParent = t,
this._rawPad = null,
this._prevTimestamp = null,
this._buttons = [],
this._buttonsLen = 0,
this._axes = [],
this._axesLen = 0
}
,
W.SinglePad.prototype = {
addCallbacks: function(e, t) {
void 0 !== t && (this.onConnectCallback = "function" == typeof t.onConnect ? t.onConnect : this.onConnectCallback,
this.onDisconnectCallback = "function" == typeof t.onDisconnect ? t.onDisconnect : this.onDisconnectCallback,
this.onDownCallback = "function" == typeof t.onDown ? t.onDown : this.onDownCallback,
this.onUpCallback = "function" == typeof t.onUp ? t.onUp : this.onUpCallback,
this.onAxisCallback = "function" == typeof t.onAxis ? t.onAxis : this.onAxisCallback,
this.onFloatCallback = "function" == typeof t.onFloat ? t.onFloat : this.onFloatCallback,
this.callbackContext = e)
},
getButton: function(e) {
return this._buttons[e] ? this._buttons[e] : null
},
pollStatus: function() {
if (this.connected && this.game.input.enabled && this.game.input.gamepad.enabled && (!this._rawPad.timestamp || this._rawPad.timestamp !== this._prevTimestamp)) {
for (var e = 0; e < this._buttonsLen; e++) {
var t = isNaN(this._rawPad.buttons[e]) ? this._rawPad.buttons[e].value : this._rawPad.buttons[e];
t !== this._buttons[e].value && (1 === t ? this.processButtonDown(e, t) : 0 === t ? this.processButtonUp(e, t) : this.processButtonFloat(e, t))
}
for (var i = 0; i < this._axesLen; i++) {
var r = this._rawPad.axes[i];
0 < r && r > this.deadZone || r < 0 && r < -this.deadZone ? this.processAxisChange(i, r) : this.processAxisChange(i, 0)
}
this._prevTimestamp = this._rawPad.timestamp
}
},
connect: function(e) {
var t = !this.connected;
this.connected = !0,
this.index = e.index,
this._rawPad = e,
this._buttons = [],
this._buttonsLen = e.buttons.length,
this._axes = [],
this._axesLen = e.axes.length;
for (var i = 0; i < this._axesLen; i++)
this._axes[i] = e.axes[i];
for (var r in e.buttons)
r = parseInt(r, 10),
this._buttons[r] = new W.DeviceButton(this,r);
t && this._padParent.onConnectCallback && this._padParent.onConnectCallback.call(this._padParent.callbackContext, this.index),
t && this.onConnectCallback && this.onConnectCallback.call(this.callbackContext)
},
disconnect: function() {
var e = this.connected
, t = this.index;
this.connected = !1,
this.index = null,
this._rawPad = void 0;
for (var i = 0; i < this._buttonsLen; i++)
this._buttons[i].destroy();
this._buttons = [],
this._buttonsLen = 0,
this._axes = [],
this._axesLen = 0,
e && this._padParent.onDisconnectCallback && this._padParent.onDisconnectCallback.call(this._padParent.callbackContext, t),
e && this.onDisconnectCallback && this.onDisconnectCallback.call(this.callbackContext)
},
destroy: function() {
this._rawPad = void 0;
for (var e = 0; e < this._buttonsLen; e++)
this._buttons[e].destroy();
this._buttons = [],
this._buttonsLen = 0,
this._axes = [],
this._axesLen = 0,
this.onConnectCallback = null,
this.onDisconnectCallback = null,
this.onDownCallback = null,
this.onUpCallback = null,
this.onAxisCallback = null,
this.onFloatCallback = null
},
processAxisChange: function(e, t) {
this._axes[e] !== t && (this._axes[e] = t,
this._padParent.onAxisCallback && this._padParent.onAxisCallback.call(this._padParent.callbackContext, this, e, t),
this.onAxisCallback && this.onAxisCallback.call(this.callbackContext, this, e, t))
},
processButtonDown: function(e, t) {
this._buttons[e] && this._buttons[e].start(null, t),
this._padParent.onDownCallback && this._padParent.onDownCallback.call(this._padParent.callbackContext, e, t, this.index),
this.onDownCallback && this.onDownCallback.call(this.callbackContext, e, t)
},
processButtonUp: function(e, t) {
this._padParent.onUpCallback && this._padParent.onUpCallback.call(this._padParent.callbackContext, e, t, this.index),
this.onUpCallback && this.onUpCallback.call(this.callbackContext, e, t),
this._buttons[e] && this._buttons[e].stop(null, t)
},
processButtonFloat: function(e, t) {
this._padParent.onFloatCallback && this._padParent.onFloatCallback.call(this._padParent.callbackContext, e, t, this.index),
this.onFloatCallback && this.onFloatCallback.call(this.callbackContext, e, t),
this._buttons[e] && this._buttons[e].padFloat(t)
},
axis: function(e) {
return !!this._axes[e] && this._axes[e]
},
isDown: function(e) {
return !!this._buttons[e] && this._buttons[e].isDown
},
isUp: function(e) {
return !!this._buttons[e] && this._buttons[e].isUp
},
justReleased: function(e, t) {
if (this._buttons[e])
return this._buttons[e].justReleased(t)
},
justPressed: function(e, t) {
if (this._buttons[e])
return this._buttons[e].justPressed(t)
},
buttonValue: function(e) {
return this._buttons[e] ? this._buttons[e].value : null
},
reset: function() {
for (var e = 0; e < this._axes.length; e++)
this._axes[e] = 0
}
},
W.SinglePad.prototype.constructor = W.SinglePad,
W.Key = function(e, t) {
this.game = e,
this._enabled = !0,
this.event = null,
this.isDown = !1,
this.isUp = !0,
this.altKey = !1,
this.ctrlKey = !1,
this.shiftKey = !1,
this.timeDown = 0,
this.duration = 0,
this.timeUp = -2500,
this.repeats = 0,
this.keyCode = t,
this.onDown = new W.Signal,
this.onHoldCallback = null,
this.onHoldContext = null,
this.onUp = new W.Signal,
this._justDown = !1,
this._justUp = !1
}
,
W.Key.prototype = {
update: function() {
this._enabled && this.isDown && (this.duration = this.game.time.time - this.timeDown,
this.repeats++,
this.onHoldCallback && this.onHoldCallback.call(this.onHoldContext, this))
},
processKeyDown: function(e) {
this._enabled && (this.event = e,
this.isDown || (this.altKey = e.altKey,
this.ctrlKey = e.ctrlKey,
this.shiftKey = e.shiftKey,
this.isDown = !0,
this.isUp = !1,
this.timeDown = this.game.time.time,
this.duration = 0,
this.repeats = 0,
this._justDown = !0,
this.onDown.dispatch(this)))
},
processKeyUp: function(e) {
this._enabled && (this.event = e,
this.isUp || (this.isDown = !1,
this.isUp = !0,
this.timeUp = this.game.time.time,
this.duration = this.game.time.time - this.timeDown,
this._justUp = !0,
this.onUp.dispatch(this)))
},
reset: function(e) {
void 0 === e && (e = !0),
this.isDown = !1,
this.isUp = !0,
this.timeUp = this.game.time.time,
this.duration = 0,
this._enabled = !0,
this._justDown = !1,
this._justUp = !1,
e && (this.onDown.removeAll(),
this.onUp.removeAll(),
this.onHoldCallback = null,
this.onHoldContext = null)
},
downDuration: function(e) {
return void 0 === e && (e = 50),
this.isDown && this.duration < e
},
upDuration: function(e) {
return void 0 === e && (e = 50),
!this.isDown && this.game.time.time - this.timeUp < e
}
},
Object.defineProperty(W.Key.prototype, "justDown", {
get: function() {
var e = this._justDown;
return this._justDown = !1,
e
}
}),
Object.defineProperty(W.Key.prototype, "justUp", {
get: function() {
var e = this._justUp;
return this._justUp = !1,
e
}
}),
Object.defineProperty(W.Key.prototype, "enabled", {
get: function() {
return this._enabled
},
set: function(e) {
(e = !!e) !== this._enabled && (e || this.reset(!1),
this._enabled = e)
}
}),
W.Key.prototype.constructor = W.Key,
W.Keyboard = function(e) {
this.game = e,
this.enabled = !0,
this.event = null,
this.pressEvent = null,
(this.callbackContext = this).onDownCallback = null,
this.onPressCallback = null,
this.onUpCallback = null,
this._keys = [],
this._capture = [],
this._onKeyDown = null,
this._onKeyPress = null,
this._onKeyUp = null,
this._i = 0,
this._k = 0
}
,
W.Keyboard.prototype = {
addCallbacks: function(e, t, i, r) {
this.callbackContext = e,
null != t && (this.onDownCallback = t),
null != i && (this.onUpCallback = i),
null != r && (this.onPressCallback = r)
},
addKey: function(e) {
return this._keys[e] || (this._keys[e] = new W.Key(this.game,e),
this.addKeyCapture(e)),
this._keys[e]
},
addKeys: function(e) {
var t = {};
for (var i in e)
t[i] = this.addKey(e[i]);
return t
},
removeKey: function(e) {
this._keys[e] && (this._keys[e] = null,
this.removeKeyCapture(e))
},
createCursorKeys: function() {
return this.addKeys({
up: W.KeyCode.UP,
down: W.KeyCode.DOWN,
left: W.KeyCode.LEFT,
right: W.KeyCode.RIGHT
})
},
start: function() {
if (!this.game.device.cocoonJS && null === this._onKeyDown) {
var t = this;
this._onKeyDown = function(e) {
return t.processKeyDown(e)
}
,
this._onKeyUp = function(e) {
return t.processKeyUp(e)
}
,
this._onKeyPress = function(e) {
return t.processKeyPress(e)
}
,
window.addEventListener("keydown", this._onKeyDown, !1),
window.addEventListener("keyup", this._onKeyUp, !1),
window.addEventListener("keypress", this._onKeyPress, !1)
}
},
stop: function() {
window.removeEventListener("keydown", this._onKeyDown),
window.removeEventListener("keyup", this._onKeyUp),
window.removeEventListener("keypress", this._onKeyPress),
this._onKeyDown = null,
this._onKeyUp = null,
this._onKeyPress = null
},
destroy: function() {
this.stop(),
this.clearCaptures(),
this._keys.length = 0,
this._i = 0
},
addKeyCapture: function(e) {
if ("object" == typeof e)
for (var t in e)
this._capture[e[t]] = !0;
else
this._capture[e] = !0
},
removeKeyCapture: function(e) {
delete this._capture[e]
},
clearCaptures: function() {
this._capture = {}
},
update: function() {
for (this._i = this._keys.length; this._i--; )
this._keys[this._i] && this._keys[this._i].update()
},
processKeyDown: function(e) {
if (this.event = e,
this.game.input.enabled && this.enabled) {
var t = e.keyCode;
this._capture[t] && e.preventDefault(),
this._keys[t] || (this._keys[t] = new W.Key(this.game,t)),
this._keys[t].processKeyDown(e),
this._k = t,
this.onDownCallback && this.onDownCallback.call(this.callbackContext, e)
}
},
processKeyPress: function(e) {
this.pressEvent = e,
this.game.input.enabled && this.enabled && this.onPressCallback && this.onPressCallback.call(this.callbackContext, String.fromCharCode(e.charCode), e)
},
processKeyUp: function(e) {
if (this.event = e,
this.game.input.enabled && this.enabled) {
var t = e.keyCode;
this._capture[t] && e.preventDefault(),
this._keys[t] || (this._keys[t] = new W.Key(this.game,t)),
this._keys[t].processKeyUp(e),
this.onUpCallback && this.onUpCallback.call(this.callbackContext, e)
}
},
reset: function(e) {
void 0 === e && (e = !0),
this.event = null;
for (var t = this._keys.length; t--; )
this._keys[t] && this._keys[t].reset(e)
},
downDuration: function(e, t) {
return this._keys[e] ? this._keys[e].downDuration(t) : null
},
upDuration: function(e, t) {
return this._keys[e] ? this._keys[e].upDuration(t) : null
},
isDown: function(e) {
return this._keys[e] ? this._keys[e].isDown : null
}
},
Object.defineProperty(W.Keyboard.prototype, "lastChar", {
get: function() {
return 32 === this.event.charCode ? "" : String.fromCharCode(this.pressEvent.charCode)
}
}),
Object.defineProperty(W.Keyboard.prototype, "lastKey", {
get: function() {
return this._keys[this._k]
}
}),
W.Keyboard.prototype.constructor = W.Keyboard,
W.KeyCode = {
A: "A".charCodeAt(0),
B: "B".charCodeAt(0),
C: "C".charCodeAt(0),
D: "D".charCodeAt(0),
E: "E".charCodeAt(0),
F: "F".charCodeAt(0),
G: "G".charCodeAt(0),
H: "H".charCodeAt(0),
I: "I".charCodeAt(0),
J: "J".charCodeAt(0),
K: "K".charCodeAt(0),
L: "L".charCodeAt(0),
M: "M".charCodeAt(0),
N: "N".charCodeAt(0),
O: "O".charCodeAt(0),
P: "P".charCodeAt(0),
Q: "Q".charCodeAt(0),
R: "R".charCodeAt(0),
S: "S".charCodeAt(0),
T: "T".charCodeAt(0),
U: "U".charCodeAt(0),
V: "V".charCodeAt(0),
W: "W".charCodeAt(0),
X: "X".charCodeAt(0),
Y: "Y".charCodeAt(0),
Z: "Z".charCodeAt(0),
ZERO: "0".charCodeAt(0),
ONE: "1".charCodeAt(0),
TWO: "2".charCodeAt(0),
THREE: "3".charCodeAt(0),
FOUR: "4".charCodeAt(0),
FIVE: "5".charCodeAt(0),
SIX: "6".charCodeAt(0),
SEVEN: "7".charCodeAt(0),
EIGHT: "8".charCodeAt(0),
NINE: "9".charCodeAt(0),
NUMPAD_0: 96,
NUMPAD_1: 97,
NUMPAD_2: 98,
NUMPAD_3: 99,
NUMPAD_4: 100,
NUMPAD_5: 101,
NUMPAD_6: 102,
NUMPAD_7: 103,
NUMPAD_8: 104,
NUMPAD_9: 105,
NUMPAD_MULTIPLY: 106,
NUMPAD_ADD: 107,
NUMPAD_ENTER: 108,
NUMPAD_SUBTRACT: 109,
NUMPAD_DECIMAL: 110,
NUMPAD_DIVIDE: 111,
F1: 112,
F2: 113,
F3: 114,
F4: 115,
F5: 116,
F6: 117,
F7: 118,
F8: 119,
F9: 120,
F10: 121,
F11: 122,
F12: 123,
F13: 124,
F14: 125,
F15: 126,
COLON: 186,
EQUALS: 187,
COMMA: 188,
UNDERSCORE: 189,
PERIOD: 190,
QUESTION_MARK: 191,
TILDE: 192,
OPEN_BRACKET: 219,
BACKWARD_SLASH: 220,
CLOSED_BRACKET: 221,
QUOTES: 222,
BACKSPACE: 8,
TAB: 9,
CLEAR: 12,
ENTER: 13,
SHIFT: 16,
CONTROL: 17,
ALT: 18,
CAPS_LOCK: 20,
ESC: 27,
SPACEBAR: 32,
PAGE_UP: 33,
PAGE_DOWN: 34,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
PLUS: 43,
MINUS: 44,
INSERT: 45,
DELETE: 46,
HELP: 47,
NUM_LOCK: 144
},
W.KeyCode)
W.KeyCode.hasOwnProperty(i) && !i.match(/[a-z]/) && (W.Keyboard[i] = W.KeyCode[i]);
for (var o in W.Component = function() {}
,
W.Component.Angle = function() {}
,
W.Component.Angle.prototype = {
angle: {
get: function() {
return W.Math.wrapAngle(W.Math.radToDeg(this.rotation))
},
set: function(e) {
this.rotation = W.Math.degToRad(W.Math.wrapAngle(e))
}
}
},
W.Component.Animation = function() {}
,
W.Component.Animation.prototype = {
play: function(e, t, i, r) {
if (this.animations)
return this.animations.play(e, t, i, r)
}
},
W.Component.AutoCull = function() {}
,
W.Component.AutoCull.prototype = {
autoCull: !1,
inCamera: {
get: function() {
return this.autoCull || this.checkWorldBounds || (this._bounds.copyFrom(this.getBounds()),
this._bounds.x += this.game.camera.view.x,
this._bounds.y += this.game.camera.view.y),
this.game.world.camera.view.intersects(this._bounds)
}
}
},
W.Component.Bounds = function() {}
,
W.Component.Bounds.prototype = {
offsetX: {
get: function() {
return this.anchor.x * this.width
}
},
offsetY: {
get: function() {
return this.anchor.y * this.height
}
},
centerX: {
get: function() {
return this.x - this.offsetX + .5 * this.width
},
set: function(e) {
this.x = e + this.offsetX - .5 * this.width
}
},
centerY: {
get: function() {
return this.y - this.offsetY + .5 * this.height
},
set: function(e) {
this.y = e + this.offsetY - .5 * this.height
}
},
left: {
get: function() {
return this.x - this.offsetX
},
set: function(e) {
this.x = e + this.offsetX
}
},
right: {
get: function() {
return this.x + this.width - this.offsetX
},
set: function(e) {
this.x = e - this.width + this.offsetX
}
},
top: {
get: function() {
return this.y - this.offsetY
},
set: function(e) {
this.y = e + this.offsetY
}
},
bottom: {
get: function() {
return this.y + this.height - this.offsetY
},
set: function(e) {
this.y = e - this.height + this.offsetY
}
},
alignIn: function(e, t, i, r) {
switch (void 0 === i && (i = 0),
void 0 === r && (r = 0),
t) {
default:
case W.TOP_LEFT:
this.left = e.left - i,
this.top = e.top - r;
break;
case W.TOP_CENTER:
this.centerX = e.centerX + i,
this.top = e.top - r;
break;
case W.TOP_RIGHT:
this.right = e.right + i,
this.top = e.top - r;
break;
case W.LEFT_CENTER:
this.left = e.left - i,
this.centerY = e.centerY + r;
break;
case W.CENTER:
this.centerX = e.centerX + i,
this.centerY = e.centerY + r;
break;
case W.RIGHT_CENTER:
this.right = e.right + i,
this.centerY = e.centerY + r;
break;
case W.BOTTOM_LEFT:
this.left = e.left - i,
this.bottom = e.bottom + r;
break;
case W.BOTTOM_CENTER:
this.centerX = e.centerX + i,
this.bottom = e.bottom + r;
break;
case W.BOTTOM_RIGHT:
this.right = e.right + i,
this.bottom = e.bottom + r
}
return this
},
alignTo: function(e, t, i, r) {
switch (void 0 === i && (i = 0),
void 0 === r && (r = 0),
t) {
default:
case W.TOP_LEFT:
this.left = e.left - i,
this.bottom = e.top - r;
break;
case W.TOP_CENTER:
this.centerX = e.centerX + i,
this.bottom = e.top - r;
break;
case W.TOP_RIGHT:
this.right = e.right + i,
this.bottom = e.top - r;
break;
case W.LEFT_TOP:
this.right = e.left - i,
this.top = e.top - r;
break;
case W.LEFT_CENTER:
this.right = e.left - i,
this.centerY = e.centerY + r;
break;
case W.LEFT_BOTTOM:
this.right = e.left - i,
this.bottom = e.bottom + r;
break;
case W.RIGHT_TOP:
this.left = e.right + i,
this.top = e.top - r;
break;
case W.RIGHT_CENTER:
this.left = e.right + i,
this.centerY = e.centerY + r;
break;
case W.RIGHT_BOTTOM:
this.left = e.right + i,
this.bottom = e.bottom + r;
break;
case W.BOTTOM_LEFT:
this.left = e.left - i,
this.top = e.bottom + r;
break;
case W.BOTTOM_CENTER:
this.centerX = e.centerX + i,
this.top = e.bottom + r;
break;
case W.BOTTOM_RIGHT:
this.right = e.right + i,
this.top = e.bottom + r
}
return this
}
},
W.Group.prototype.alignIn = W.Component.Bounds.prototype.alignIn,
W.Group.prototype.alignTo = W.Component.Bounds.prototype.alignTo,
W.Component.BringToTop = function() {}
,
W.Component.BringToTop.prototype.bringToTop = function() {
return this.parent && this.parent.bringToTop(this),
this
}
,
W.Component.BringToTop.prototype.sendToBack = function() {
return this.parent && this.parent.sendToBack(this),
this
}
,
W.Component.BringToTop.prototype.moveUp = function() {
return this.parent && this.parent.moveUp(this),
this
}
,
W.Component.BringToTop.prototype.moveDown = function() {
return this.parent && this.parent.moveDown(this),
this
}
,
W.Component.Core = function() {}
,
W.Component.Core.install = function(e) {
W.Utils.mixinPrototype(this, W.Component.Core.prototype),
this.components = {};
for (var t = 0; t < e.length; t++) {
var i = e[t]
, r = !1;
"Destroy" === i && (r = !0),
W.Utils.mixinPrototype(this, W.Component[i].prototype, r),
this.components[i] = !0
}
}
,
W.Component.Core.init = function(e, t, i, r, o) {
this.game = e,
this.key = r,
this.data = {},
this.position.set(t, i),
this.world = new W.Point(t,i),
this.previousPosition = new W.Point(t,i),
this.events = new W.Events(this),
this._bounds = new W.Rectangle,
this.components.PhysicsBody && (this.body = this.body),
this.components.Animation && (this.animations = new W.AnimationManager(this)),
this.components.LoadTexture && null !== r && this.loadTexture(r, o),
this.components.FixedToCamera && (this.cameraOffset = new W.Point(t,i))
}
,
W.Component.Core.preUpdate = function() {
if (!this.pendingDestroy) {
if (this.previousPosition.set(this.world.x, this.world.y),
this.previousRotation = this.rotation,
!this.exists || !this.parent.exists)
return !(this.renderOrderID = -1);
this.world.setTo(this.game.camera.x + this.worldTransform.tx, this.game.camera.y + this.worldTransform.ty),
this.visible && (this.renderOrderID = this.game.stage.currentRenderOrderID++),
this.animations && this.animations.update(),
this.body && this.body.preUpdate();
for (var e = 0; e < this.children.length; e++)
this.children[e].preUpdate();
return !0
}
this.destroy()
}
,
W.Component.Core.prototype = {
game: null,
name: "",
data: {},
components: {},
z: 0,
events: void 0,
animations: void 0,
key: "",
world: null,
debug: !1,
previousPosition: null,
previousRotation: 0,
renderOrderID: 0,
fresh: !0,
pendingDestroy: !1,
_bounds: null,
_exists: !0,
exists: {
get: function() {
return this._exists
},
set: function(e) {
e ? (this._exists = !0,
this.body && this.body.type === W.Physics.P2JS && this.body.addToWorld(),
this.visible = !0) : (this._exists = !1,
this.body && this.body.type === W.Physics.P2JS && this.body.removeFromWorld(),
this.visible = !1)
}
},
update: function() {},
postUpdate: function() {
this.customRender && this.key.render(),
this.components.PhysicsBody && W.Component.PhysicsBody.postUpdate.call(this),
this.components.FixedToCamera && W.Component.FixedToCamera.postUpdate.call(this);
for (var e = 0; e < this.children.length; e++)
this.children[e].postUpdate()
}
},
W.Component.Crop = function() {}
,
W.Component.Crop.prototype = {
cropRect: null,
_crop: null,
crop: function(e, t) {
void 0 === t && (t = !1),
e ? (t && null !== this.cropRect ? this.cropRect.setTo(e.x, e.y, e.width, e.height) : t && null === this.cropRect ? this.cropRect = new W.Rectangle(e.x,e.y,e.width,e.height) : this.cropRect = e,
this.updateCrop()) : (this._crop = null,
this.cropRect = null,
this.resetFrame())
},
updateCrop: function() {
if (this.cropRect) {
var e = this.texture.crop.x
, t = this.texture.crop.y
, i = this.texture.crop.width
, r = this.texture.crop.height;
this._crop = W.Rectangle.clone(this.cropRect, this._crop),
this._crop.x += this._frame.x,
this._crop.y += this._frame.y;
var o = Math.max(this._frame.x, this._crop.x)
, s = Math.max(this._frame.y, this._crop.y)
, a = Math.min(this._frame.right, this._crop.right) - o
, n = Math.min(this._frame.bottom, this._crop.bottom) - s;
this.texture.crop.x = o,
this.texture.crop.y = s,
this.texture.crop.width = a,
this.texture.crop.height = n,
this.texture.frame.width = Math.min(a, this.cropRect.width),
this.texture.frame.height = Math.min(n, this.cropRect.height),
this.texture.width = this.texture.frame.width,
this.texture.height = this.texture.frame.height,
this.texture._updateUvs(),
16777215 === this.tint || e === o && t === s && i === a && r === n || (this.texture.requiresReTint = !0)
}
}
},
W.Component.Delta = function() {}
,
W.Component.Delta.prototype = {
deltaX: {
get: function() {
return this.world.x - this.previousPosition.x
}
},
deltaY: {
get: function() {
return this.world.y - this.previousPosition.y
}
},
deltaZ: {
get: function() {
return this.rotation - this.previousRotation
}
}
},
W.Component.Destroy = function() {}
,
W.Component.Destroy.prototype = {
destroyPhase: !1,
destroy: function(e, t) {
if (null !== this.game && !this.destroyPhase) {
void 0 === e && (e = !0),
void 0 === t && (t = !1),
this.destroyPhase = !0,
this.events && this.events.onDestroy$dispatch(this),
this.parent && (this.parent instanceof W.Group ? this.parent.remove(this) : this.parent.removeChild(this)),
this.input && this.input.destroy(),
this.animations && this.animations.destroy(),
this.body && this.body.destroy(),
this.events && this.events.destroy(),
this.game.tweens.removeFrom(this);
var i = this.children.length;
if (e)
for (; i--; )
this.children[i].destroy(e);
else
for (; i--; )
this.removeChild(this.children[i]);
this._crop && (this._crop = null,
this.cropRect = null),
this._frame && (this._frame = null),
W.Video && this.key instanceof W.Video && this.key.onChangeSource.remove(this.resizeFrame, this),
W.BitmapText && this._glyphs && (this._glyphs = []),
this.alive = !1,
this.exists = !1,
this.visible = !1,
this.filters = null,
this.mask = null,
this.game = null,
this.data = {},
this.renderable = !1,
this.transformCallback && (this.transformCallback = null,
this.transformCallbackContext = null),
this.hitArea = null,
this.parent = null,
this.stage = null,
this.worldTransform = null,
this.filterArea = null,
this._bounds = null,
this._currentBounds = null,
this._mask = null,
this._destroyCachedSprite(),
t && this.texture.destroy(!0),
this.destroyPhase = !1,
this.pendingDestroy = !1
}
}
},
W.Events = function(e) {
this.parent = e
}
,
W.Events.prototype = {
destroy: function() {
this._parent = null,
this._onDestroy && this._onDestroy.dispose(),
this._onAddedToGroup && this._onAddedToGroup.dispose(),
this._onRemovedFromGroup && this._onRemovedFromGroup.dispose(),
this._onRemovedFromWorld && this._onRemovedFromWorld.dispose(),
this._onKilled && this._onKilled.dispose(),
this._onRevived && this._onRevived.dispose(),
this._onEnterBounds && this._onEnterBounds.dispose(),
this._onOutOfBounds && this._onOutOfBounds.dispose(),
this._onInputOver && this._onInputOver.dispose(),
this._onInputOut && this._onInputOut.dispose(),
this._onInputDown && this._onInputDown.dispose(),
this._onInputUp && this._onInputUp.dispose(),
this._onDragStart && this._onDragStart.dispose(),
this._onDragUpdate && this._onDragUpdate.dispose(),
this._onDragStop && this._onDragStop.dispose(),
this._onAnimationStart && this._onAnimationStart.dispose(),
this._onAnimationComplete && this._onAnimationComplete.dispose(),
this._onAnimationLoop && this._onAnimationLoop.dispose()
},
onAddedToGroup: null,
onRemovedFromGroup: null,
onRemovedFromWorld: null,
onDestroy: null,
onKilled: null,
onRevived: null,
onOutOfBounds: null,
onEnterBounds: null,
onInputOver: null,
onInputOut: null,
onInputDown: null,
onInputUp: null,
onDragStart: null,
onDragUpdate: null,
onDragStop: null,
onAnimationStart: null,
onAnimationComplete: null,
onAnimationLoop: null
},
W.Events.prototype.constructor = W.Events,
W.Events.prototype)
W.Events.prototype.hasOwnProperty(o) && 0 === o.indexOf("on") && null === W.Events.prototype[o] && function(e, t) {
"use strict";
Object.defineProperty(W.Events.prototype, e, {
get: function() {
return this[t] || (this[t] = new W.Signal)
}
}),
W.Events.prototype[e + "$dispatch"] = function() {
return this[t] ? this[t].dispatch.apply(this[t], arguments) : null
}
}(o, "_" + o);
W.Component.FixedToCamera = function() {}
,
W.Component.FixedToCamera.postUpdate = function() {
this.fixedToCamera && (this.position.x = (this.game.camera.view.x + this.cameraOffset.x) / this.game.camera.scale.x,
this.position.y = (this.game.camera.view.y + this.cameraOffset.y) / this.game.camera.scale.y)
}
,
W.Component.FixedToCamera.prototype = {
_fixedToCamera: !1,
fixedToCamera: {
get: function() {
return this._fixedToCamera
},
set: function(e) {
e ? (this._fixedToCamera = !0,
this.cameraOffset.set(this.x, this.y)) : this._fixedToCamera = !1
}
},
cameraOffset: new W.Point
},
W.Component.Health = function() {}
,
W.Component.Health.prototype = {
health: 1,
maxHealth: 100,
damage: function(e) {
return this.alive && (this.health -= e,
this.health <= 0 && this.kill()),
this
},
setHealth: function(e) {
return this.health = e,
this.health > this.maxHealth && (this.health = this.maxHealth),
this
},
heal: function(e) {
return this.alive && (this.health += e,
this.health > this.maxHealth && (this.health = this.maxHealth)),
this
}
},
W.Component.InCamera = function() {}
,
W.Component.InCamera.prototype = {
inCamera: {
get: function() {
return this.game.world.camera.view.intersects(this._bounds)
}
}
},
W.Component.InputEnabled = function() {}
,
W.Component.InputEnabled.prototype = {
input: null,
inputEnabled: {
get: function() {
return this.input && this.input.enabled
},
set: function(e) {
e ? null === this.input ? (this.input = new W.InputHandler(this),
this.input.start()) : this.input && !this.input.enabled && this.input.start() : this.input && this.input.enabled && this.input.stop()
}
}
},
W.Component.InWorld = function() {}
,
W.Component.InWorld.preUpdate = function() {
if (this.autoCull || this.checkWorldBounds) {
if (this._bounds.copyFrom(this.getBounds()),
this._bounds.x += this.game.camera.view.x,
this._bounds.y += this.game.camera.view.y,
this.autoCull)
if (this.game.world.camera.view.intersects(this._bounds))
this.renderable = !0,
this.game.world.camera.totalInView++;
else if (this.renderable = !1,
this.outOfCameraBoundsKill)
return this.kill(),
!1;
if (this.checkWorldBounds)
if (this._outOfBoundsFired && this.game.world.bounds.intersects(this._bounds))
this._outOfBoundsFired = !1,
this.events.onEnterBounds$dispatch(this);
else if (!this._outOfBoundsFired && !this.game.world.bounds.intersects(this._bounds) && (this._outOfBoundsFired = !0,
this.events.onOutOfBounds$dispatch(this),
this.outOfBoundsKill))
return this.kill(),
!1
}
return !0
}
,
W.Component.InWorld.prototype = {
checkWorldBounds: !1,
outOfBoundsKill: !1,
outOfCameraBoundsKill: !1,
_outOfBoundsFired: !1,
inWorld: {
get: function() {
return this.game.world.bounds.intersects(this.getBounds())
}
}
},
W.Component.LifeSpan = function() {}
,
W.Component.LifeSpan.preUpdate = function() {
return !(0 < this.lifespan && (this.lifespan -= this.game.time.physicsElapsedMS,
this.lifespan <= 0)) || (this.kill(),
!1)
}
,
W.Component.LifeSpan.prototype = {
alive: !0,
lifespan: 0,
revive: function(e) {
return void 0 === e && (e = 100),
this.alive = !0,
this.exists = !0,
this.visible = !0,
"function" == typeof this.setHealth && this.setHealth(e),
this.events && this.events.onRevived$dispatch(this),
this
},
kill: function() {
return this.alive = !1,
this.exists = !1,
this.visible = !1,
this.events && this.events.onKilled$dispatch(this),
this
}
},
W.Component.LoadTexture = function() {}
,
W.Component.LoadTexture.prototype = {
customRender: !1,
_frame: null,
loadTexture: function(e, t, i) {
t = e === W.PENDING_ATLAS ? (e = t,
0) : t || 0,
(i || void 0 === i) && this.animations && this.animations.stop(),
this.key = e,
this.customRender = !1;
var r = this.game.cache
, o = !0
, s = !this.texture.baseTexture.scaleMode;
if (W.RenderTexture && e instanceof W.RenderTexture)
this.key = e.key,
this.setTexture(e);
else if (W.BitmapData && e instanceof W.BitmapData)
this.customRender = !0,
this.setTexture(e.texture),
o = r.hasFrameData(e.key, W.Cache.BITMAPDATA) ? !this.animations.loadFrameData(r.getFrameData(e.key, W.Cache.BITMAPDATA), t) : !this.animations.loadFrameData(e.frameData, 0);
else if (W.Video && e instanceof W.Video) {
this.customRender = !0;
var a = e.texture.valid;
this.setTexture(e.texture),
this.setFrame(e.texture.frame.clone()),
e.onChangeSource.add(this.resizeFrame, this),
this.texture.valid = a
} else if (W.Tilemap && e instanceof W.TilemapLayer)
this.setTexture(PIXI.Texture.fromCanvas(e.canvas));
else if (e instanceof PIXI.Texture)
this.setTexture(e);
else {
var n = r.getImage(e, !0);
this.key = n.key,
this.setTexture(new PIXI.Texture(n.base)),
this.texture.baseTexture.skipRender = "__default" === e,
o = !this.animations.loadFrameData(n.frameData, t)
}
o && (this._frame = W.Rectangle.clone(this.texture.frame)),
s || (this.texture.baseTexture.scaleMode = 1)
},
setFrame: function(e) {
this._frame = e,
this.texture.frame.x = e.x,
this.texture.frame.y = e.y,
this.texture.frame.width = e.width,
this.texture.frame.height = e.height,
this.texture.crop.x = e.x,
this.texture.crop.y = e.y,
this.texture.crop.width = e.width,
this.texture.crop.height = e.height,
e.trimmed ? (this.texture.trim ? (this.texture.trim.x = e.spriteSourceSizeX,
this.texture.trim.y = e.spriteSourceSizeY,
this.texture.trim.width = e.sourceSizeW,
this.texture.trim.height = e.sourceSizeH) : this.texture.trim = {
x: e.spriteSourceSizeX,
y: e.spriteSourceSizeY,
width: e.sourceSizeW,
height: e.sourceSizeH
},
this.texture.width = e.sourceSizeW,
this.texture.height = e.sourceSizeH,
this.texture.frame.width = e.sourceSizeW,
this.texture.frame.height = e.sourceSizeH) : !e.trimmed && this.texture.trim && (this.texture.trim = null),
this.cropRect && this.updateCrop(),
this.texture.requiresReTint = !0,
this.texture._updateUvs(),
this.tilingTexture && (this.refreshTexture = !0)
},
resizeFrame: function(e, t, i) {
this.texture.frame.resize(t, i),
this.texture.setFrame(this.texture.frame)
},
resetFrame: function() {
this._frame && this.setFrame(this._frame)
},
frame: {
get: function() {
return this.animations.frame
},
set: function(e) {
this.animations.frame = e
}
},
frameName: {
get: function() {
return this.animations.frameName
},
set: function(e) {
this.animations.frameName = e
}
}
},
W.Component.Overlap = function() {}
,
W.Component.Overlap.prototype = {
overlap: function(e) {
return W.Rectangle.intersects(this.getBounds(), e.getBounds())
}
},
W.Component.PhysicsBody = function() {}
,
W.Component.PhysicsBody.preUpdate = function() {
return this.fresh && this.exists ? (this.world.setTo(this.parent.position.x + this.position.x, this.parent.position.y + this.position.y),
this.worldTransform.tx = this.world.x,
this.worldTransform.ty = this.world.y,
this.previousPosition.set(this.world.x, this.world.y),
this.previousRotation = this.rotation,
this.body && this.body.preUpdate(),
this.fresh = !1) : (this.previousPosition.set(this.world.x, this.world.y),
this.previousRotation = this.rotation,
!(!this._exists || !this.parent.exists) || !(this.renderOrderID = -1))
}
,
W.Component.PhysicsBody.postUpdate = function() {
this.exists && this.body && this.body.postUpdate()
}
,
W.Component.PhysicsBody.prototype = {
body: null,
x: {
get: function() {
return this.position.x
},
set: function(e) {
this.position.x = e,
this.body && !this.body.dirty && (this.body._reset = !0)
}
},
y: {
get: function() {
return this.position.y
},
set: function(e) {
this.position.y = e,
this.body && !this.body.dirty && (this.body._reset = !0)
}
}
},
W.Component.Reset = function() {}
,
W.Component.Reset.prototype.reset = function(e, t, i) {
return void 0 === i && (i = 1),
this.world.set(e, t),
this.position.set(e, t),
this.fresh = !0,
this.exists = !0,
this.visible = !0,
this.renderable = !0,
this.components.InWorld && (this._outOfBoundsFired = !1),
this.components.LifeSpan && (this.alive = !0,
this.health = i),
this.components.PhysicsBody && this.body && this.body.reset(e, t, !1, !1),
this
}
,
W.Component.ScaleMinMax = function() {}
,
W.Component.ScaleMinMax.prototype = {
transformCallback: null,
transformCallbackContext: this,
scaleMin: null,
scaleMax: null,
checkTransform: function(e) {
this.scaleMin && (e.a < this.scaleMin.x && (e.a = this.scaleMin.x),
e.d < this.scaleMin.y && (e.d = this.scaleMin.y)),
this.scaleMax && (e.a > this.scaleMax.x && (e.a = this.scaleMax.x),
e.d > this.scaleMax.y && (e.d = this.scaleMax.y))
},
setScaleMinMax: function(e, t, i, r) {
void 0 === t ? t = i = r = e : void 0 === i && (i = r = t,
t = e),
null === e ? this.scaleMin = null : this.scaleMin ? this.scaleMin.set(e, t) : this.scaleMin = new W.Point(e,t),
null === i ? this.scaleMax = null : this.scaleMax ? this.scaleMax.set(i, r) : this.scaleMax = new W.Point(i,r),
null === this.scaleMin ? this.transformCallback = null : (this.transformCallback = this.checkTransform,
this.transformCallbackContext = this)
}
},
W.Component.Smoothed = function() {}
,
W.Component.Smoothed.prototype = {
smoothed: {
get: function() {
return !this.texture.baseTexture.scaleMode
},
set: function(e) {
e ? this.texture && (this.texture.baseTexture.scaleMode = 0) : this.texture && (this.texture.baseTexture.scaleMode = 1)
}
}
},
W.GameObjectFactory = function(e) {
this.game = e,
this.world = this.game.world
}
,
W.GameObjectFactory.prototype = {
existing: function(e) {
return this.world.add(e)
},
weapon: function(e, t, i, r) {
var o = this.game.plugins.add(W.Weapon);
return o.createBullets(e, t, i, r),
o
},
image: function(e, t, i, r, o) {
return void 0 === o && (o = this.world),
o.add(new W.Image(this.game,e,t,i,r))
},
sprite: function(e, t, i, r, o) {
return void 0 === o && (o = this.world),
o.create(e, t, i, r)
},
creature: function(e, t, i, r, o) {
void 0 === o && (o = this.world);
var s = new W.Creature(this.game,e,t,i,r);
return o.add(s),
s
},
tween: function(e) {
return this.game.tweens.create(e)
},
group: function(e, t, i, r, o) {
return new W.Group(this.game,e,t,i,r,o)
},
physicsGroup: function(e, t, i, r) {
return new W.Group(this.game,t,i,r,!0,e)
},
spriteBatch: function(e, t, i) {
return void 0 === e && (e = null),
void 0 === t && (t = "group"),
void 0 === i && (i = !1),
new W.SpriteBatch(this.game,e,t,i)
},
audio: function(e, t, i, r) {
return this.game.sound.add(e, t, i, r)
},
sound: function(e, t, i, r) {
return this.game.sound.add(e, t, i, r)
},
audioSprite: function(e) {
return this.game.sound.addSprite(e)
},
tileSprite: function(e, t, i, r, o, s, a) {
return void 0 === a && (a = this.world),
a.add(new W.TileSprite(this.game,e,t,i,r,o,s))
},
rope: function(e, t, i, r, o, s) {
return void 0 === s && (s = this.world),
s.add(new W.Rope(this.game,e,t,i,r,o))
},
text: function(e, t, i, r, o) {
return void 0 === o && (o = this.world),
o.add(new W.Text(this.game,e,t,i,r))
},
button: function(e, t, i, r, o, s, a, n, h, c) {
return void 0 === c && (c = this.world),
c.add(new W.Button(this.game,e,t,i,r,o,s,a,n,h))
},
graphics: function(e, t, i) {
return void 0 === i && (i = this.world),
i.add(new W.Graphics(this.game,e,t))
},
emitter: function(e, t, i) {
return this.game.particles.add(new W.Particles.Arcade.Emitter(this.game,e,t,i))
},
retroFont: function(e, t, i, r, o, s, a, n, h) {
return new W.RetroFont(this.game,e,t,i,r,o,s,a,n,h)
},
bitmapText: function(e, t, i, r, o, s) {
return void 0 === s && (s = this.world),
s.add(new W.BitmapText(this.game,e,t,i,r,o))
},
tilemap: function(e, t, i, r, o) {
return new W.Tilemap(this.game,e,t,i,r,o)
},
renderTexture: function(e, t, i, r) {
void 0 !== i && "" !== i || (i = this.game.rnd.uuid()),
void 0 === r && (r = !1);
var o = new W.RenderTexture(this.game,e,t,i);
return r && this.game.cache.addRenderTexture(i, o),
o
},
video: function(e, t) {
return new W.Video(this.game,e,t)
},
bitmapData: function(e, t, i, r) {
void 0 === r && (r = !1),
void 0 !== i && "" !== i || (i = this.game.rnd.uuid());
var o = new W.BitmapData(this.game,i,e,t);
return r && this.game.cache.addBitmapData(i, o),
o
},
filter: function(e) {
var t = Array.prototype.slice.call(arguments, 1);
return (e = new W.Filter[e](this.game)).init.apply(e, t),
e
},
plugin: function(e) {
return this.game.plugins.add(e)
}
},
W.GameObjectFactory.prototype.constructor = W.GameObjectFactory,
W.GameObjectCreator = function(e) {
this.game = e,
this.world = this.game.world
}
,
W.GameObjectCreator.prototype = {
image: function(e, t, i, r) {
return new W.Image(this.game,e,t,i,r)
},
sprite: function(e, t, i, r) {
return new W.Sprite(this.game,e,t,i,r)
},
tween: function(e) {
return new W.Tween(e,this.game,this.game.tweens)
},
group: function(e, t, i, r, o) {
return new W.Group(this.game,e,t,i,r,o)
},
spriteBatch: function(e, t, i) {
return void 0 === t && (t = "group"),
void 0 === i && (i = !1),
new W.SpriteBatch(this.game,e,t,i)
},
audio: function(e, t, i, r) {
return this.game.sound.add(e, t, i, r)
},
audioSprite: function(e) {
return this.game.sound.addSprite(e)
},
sound: function(e, t, i, r) {
return this.game.sound.add(e, t, i, r)
},
tileSprite: function(e, t, i, r, o, s) {
return new W.TileSprite(this.game,e,t,i,r,o,s)
},
rope: function(e, t, i, r, o) {
return new W.Rope(this.game,e,t,i,r,o)
},
text: function(e, t, i, r) {
return new W.Text(this.game,e,t,i,r)
},
button: function(e, t, i, r, o, s, a, n, h) {
return new W.Button(this.game,e,t,i,r,o,s,a,n,h)
},
graphics: function(e, t) {
return new W.Graphics(this.game,e,t)
},
emitter: function(e, t, i) {
return new W.Particles.Arcade.Emitter(this.game,e,t,i)
},
retroFont: function(e, t, i, r, o, s, a, n, h) {
return new W.RetroFont(this.game,e,t,i,r,o,s,a,n,h)
},
bitmapText: function(e, t, i, r, o, s) {
return new W.BitmapText(this.game,e,t,i,r,o,s)
},
tilemap: function(e, t, i, r, o) {
return new W.Tilemap(this.game,e,t,i,r,o)
},
renderTexture: function(e, t, i, r) {
void 0 !== i && "" !== i || (i = this.game.rnd.uuid()),
void 0 === r && (r = !1);
var o = new W.RenderTexture(this.game,e,t,i);
return r && this.game.cache.addRenderTexture(i, o),
o
},
bitmapData: function(e, t, i, r) {
void 0 === r && (r = !1),
void 0 !== i && "" !== i || (i = this.game.rnd.uuid());
var o = new W.BitmapData(this.game,i,e,t);
return r && this.game.cache.addBitmapData(i, o),
o
},
filter: function(e) {
var t = Array.prototype.slice.call(arguments, 1);
return (e = new W.Filter[e](this.game)).init.apply(e, t),
e
}
},
W.GameObjectCreator.prototype.constructor = W.GameObjectCreator,
W.Sprite = function(e, t, i, r, o) {
t = t || 0,
i = i || 0,
r = r || null,
o = o || null,
this.type = W.SPRITE,
this.physicsType = W.SPRITE,
PIXI.Sprite.call(this, W.Cache.DEFAULT),
W.Component.Core.init.call(this, e, t, i, r, o)
}
,
W.Sprite.prototype = Object.create(PIXI.Sprite.prototype),
W.Sprite.prototype.constructor = W.Sprite,
W.Component.Core.install.call(W.Sprite.prototype, ["Angle", "Animation", "AutoCull", "Bounds", "BringToTop", "Crop", "Delta", "Destroy", "FixedToCamera", "Health", "InCamera", "InputEnabled", "InWorld", "LifeSpan", "LoadTexture", "Overlap", "PhysicsBody", "Reset", "ScaleMinMax", "Smoothed"]),
W.Sprite.prototype.preUpdatePhysics = W.Component.PhysicsBody.preUpdate,
W.Sprite.prototype.preUpdateLifeSpan = W.Component.LifeSpan.preUpdate,
W.Sprite.prototype.preUpdateInWorld = W.Component.InWorld.preUpdate,
W.Sprite.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.Sprite.prototype.preUpdate = function() {
return !!(this.preUpdatePhysics() && this.preUpdateLifeSpan() && this.preUpdateInWorld()) && this.preUpdateCore()
}
,
W.Image = function(e, t, i, r, o) {
t = t || 0,
i = i || 0,
r = r || null,
o = o || null,
this.type = W.IMAGE,
PIXI.Sprite.call(this, W.Cache.DEFAULT),
W.Component.Core.init.call(this, e, t, i, r, o)
}
,
W.Image.prototype = Object.create(PIXI.Sprite.prototype),
W.Image.prototype.constructor = W.Image,
W.Component.Core.install.call(W.Image.prototype, ["Angle", "Animation", "AutoCull", "Bounds", "BringToTop", "Crop", "Destroy", "FixedToCamera", "InputEnabled", "LifeSpan", "LoadTexture", "Overlap", "Reset", "ScaleMinMax", "Smoothed"]),
W.Image.prototype.preUpdateInWorld = W.Component.InWorld.preUpdate,
W.Image.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.Image.prototype.preUpdate = function() {
return !!this.preUpdateInWorld() && this.preUpdateCore()
}
,
W.Button = function(e, t, i, r, o, s, a, n, h, c) {
t = t || 0,
i = i || 0,
r = r || null,
o = o || null,
s = s || this,
W.Image.call(this, e, t, i, r, n),
this.type = W.BUTTON,
this.physicsType = W.SPRITE,
this._onOverFrame = null,
this._onOutFrame = null,
this._onDownFrame = null,
this._onUpFrame = null,
this.onOverSound = null,
this.onOutSound = null,
this.onDownSound = null,
this.onUpSound = null,
this.onOverSoundMarker = "",
this.onOutSoundMarker = "",
this.onDownSoundMarker = "",
this.onUpSoundMarker = "",
this.onInputOver = new W.Signal,
this.onInputOut = new W.Signal,
this.onInputDown = new W.Signal,
this.onInputUp = new W.Signal,
this.onOverMouseOnly = !0,
this.justReleasedPreventsOver = W.PointerMode.TOUCH,
this.freezeFrames = !1,
this.forceOut = !1,
this.inputEnabled = !0,
this.input.start(0, !0),
this.input.useHandCursor = !0,
this.setFrames(a, n, h, c),
null !== o && this.onInputUp.add(o, s),
this.events.onInputOver.add(this.onInputOverHandler, this),
this.events.onInputOut.add(this.onInputOutHandler, this),
this.events.onInputDown.add(this.onInputDownHandler, this),
this.events.onInputUp.add(this.onInputUpHandler, this),
this.events.onRemovedFromWorld.add(this.removedFromWorld, this)
}
,
W.Button.prototype = Object.create(W.Image.prototype),
W.Button.prototype.constructor = W.Button;
var h = "Over"
, c = "Out"
, l = "Down"
, m = "Up";
W.Button.prototype.clearFrames = function() {
this.setFrames(null, null, null, null)
}
,
W.Button.prototype.removedFromWorld = function() {
this.inputEnabled = !1
}
,
W.Button.prototype.setStateFrame = function(e, t, i) {
var r = "_on" + e + "Frame";
null !== t ? (this[r] = t,
i && this.changeStateFrame(e)) : this[r] = null
}
,
W.Button.prototype.changeStateFrame = function(e) {
if (this.freezeFrames)
return !1;
var t = this["_on" + e + "Frame"];
return "string" == typeof t ? (this.frameName = t,
!0) : "number" == typeof t && (this.frame = t,
!0)
}
,
W.Button.prototype.setFrames = function(e, t, i, r) {
this.setStateFrame(h, e, this.input.pointerOver()),
this.setStateFrame(c, t, !this.input.pointerOver()),
this.setStateFrame(l, i, this.input.pointerDown()),
this.setStateFrame(m, r, this.input.pointerUp())
}
,
W.Button.prototype.setStateSound = function(e, t, i) {
var r = "on" + e + "Sound"
, o = "on" + e + "SoundMarker";
t instanceof W.Sound || t instanceof W.AudioSprite ? (this[r] = t,
this[o] = "string" == typeof i ? i : "") : (this[r] = null,
this[o] = "")
}
,
W.Button.prototype.playStateSound = function(e) {
var t = this["on" + e + "Sound"];
if (t) {
var i = this["on" + e + "SoundMarker"];
return t.play(i),
!0
}
return !1
}
,
W.Button.prototype.setSounds = function(e, t, i, r, o, s, a, n) {
this.setStateSound(h, e, t),
this.setStateSound(c, o, s),
this.setStateSound(l, i, r),
this.setStateSound(m, a, n)
}
,
W.Button.prototype.setOverSound = function(e, t) {
this.setStateSound(h, e, t)
}
,
W.Button.prototype.setOutSound = function(e, t) {
this.setStateSound(c, e, t)
}
,
W.Button.prototype.setDownSound = function(e, t) {
this.setStateSound(l, e, t)
}
,
W.Button.prototype.setUpSound = function(e, t) {
this.setStateSound(m, e, t)
}
,
W.Button.prototype.onInputOverHandler = function(e, t) {
t.justReleased() && (this.justReleasedPreventsOver & t.pointerMode) === t.pointerMode || (this.changeStateFrame(h),
this.onOverMouseOnly && !t.isMouse || (this.playStateSound(h),
this.onInputOver && this.onInputOver.dispatch(this, t)))
}
,
W.Button.prototype.onInputOutHandler = function(e, t) {
this.changeStateFrame(c),
this.playStateSound(c),
this.onInputOut && this.onInputOut.dispatch(this, t)
}
,
W.Button.prototype.onInputDownHandler = function(e, t) {
this.changeStateFrame(l),
this.playStateSound(l),
this.onInputDown && this.onInputDown.dispatch(this, t)
}
,
W.Button.prototype.onInputUpHandler = function(e, t, i) {
(this.playStateSound(m),
this.onInputUp && this.onInputUp.dispatch(this, t, i),
this.freezeFrames) || (!0 === this.forceOut || (this.forceOut & t.pointerMode) === t.pointerMode ? this.changeStateFrame(c) : this.changeStateFrame(m) || (i ? this.changeStateFrame(h) : this.changeStateFrame(c)))
}
,
W.SpriteBatch = function(e, t, i, r) {
null == t && (t = e.world),
PIXI.SpriteBatch.call(this),
W.Group.call(this, e, t, i, r),
this.type = W.SPRITEBATCH
}
,
W.SpriteBatch.prototype = W.Utils.extend(!0, W.SpriteBatch.prototype, PIXI.SpriteBatch.prototype, W.Group.prototype),
W.SpriteBatch.prototype.constructor = W.SpriteBatch,
W.BitmapData = function(e, t, i, r, o) {
void 0 !== i && 0 !== i || (i = 256),
void 0 !== r && 0 !== r || (r = 256),
void 0 === o && (o = !1),
this.game = e,
this.key = t,
this.width = i,
this.height = r,
this.canvas = W.Canvas.create(this, i, r, null, o),
this.context = this.canvas.getContext("2d", {
alpha: !0
}),
this.ctx = this.context,
this.smoothProperty = e.renderType === W.CANVAS ? e.renderer.renderSession.smoothProperty : W.Canvas.getSmoothingPrefix(this.context),
this.imageData = this.context.getImageData(0, 0, i, r),
this.data = null,
this.imageData && (this.data = this.imageData.data),
this.pixels = null,
this.data && (this.imageData.data.buffer ? (this.buffer = this.imageData.data.buffer,
this.pixels = new Uint32Array(this.buffer)) : window.ArrayBuffer ? (this.buffer = new ArrayBuffer(this.imageData.data.length),
this.pixels = new Uint32Array(this.buffer)) : this.pixels = this.imageData.data),
this.baseTexture = new PIXI.BaseTexture(this.canvas),
this.texture = new PIXI.Texture(this.baseTexture),
this.frameData = new W.FrameData,
this.textureFrame = this.frameData.addFrame(new W.Frame(0,0,0,i,r,"bitmapData")),
this.texture.frame = this.textureFrame,
this.type = W.BITMAPDATA,
this.disableTextureUpload = !1,
this.dirty = !1,
this.cls = this.clear,
this._image = null,
this._pos = new W.Point,
this._size = new W.Point,
this._scale = new W.Point,
this._rotate = 0,
this._alpha = {
prev: 1,
current: 1
},
this._anchor = new W.Point,
this._tempR = 0,
this._tempG = 0,
this._tempB = 0,
this._circle = new W.Circle,
this._swapCanvas = void 0
}
,
W.BitmapData.prototype = {
move: function(e, t, i) {
return 0 !== e && this.moveH(e, i),
0 !== t && this.moveV(t, i),
this
},
moveH: function(e, t) {
void 0 === t && (t = !0),
void 0 === this._swapCanvas && (this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height));
var i = this._swapCanvas.getContext("2d")
, r = this.height
, o = this.canvas;
if (i.clearRect(0, 0, this.width, this.height),
e < 0) {
e = Math.abs(e);
var s = this.width - e;
t && i.drawImage(o, 0, 0, e, r, s, 0, e, r),
i.drawImage(o, e, 0, s, r, 0, 0, s, r)
} else {
s = this.width - e;
t && i.drawImage(o, s, 0, e, r, 0, 0, e, r),
i.drawImage(o, 0, 0, s, r, e, 0, s, r)
}
return this.clear(),
this.copy(this._swapCanvas)
},
moveV: function(e, t) {
void 0 === t && (t = !0),
void 0 === this._swapCanvas && (this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height));
var i = this._swapCanvas.getContext("2d")
, r = this.width
, o = this.canvas;
if (i.clearRect(0, 0, this.width, this.height),
e < 0) {
e = Math.abs(e);
var s = this.height - e;
t && i.drawImage(o, 0, 0, r, e, 0, s, r, e),
i.drawImage(o, 0, e, r, s, 0, 0, r, s)
} else {
s = this.height - e;
t && i.drawImage(o, 0, s, r, e, 0, 0, r, e),
i.drawImage(o, 0, 0, r, s, 0, e, r, s)
}
return this.clear(),
this.copy(this._swapCanvas)
},
add: function(e) {
if (Array.isArray(e))
for (var t = 0; t < e.length; t++)
e[t].loadTexture && e[t].loadTexture(this);
else
e.loadTexture(this);
return this
},
load: function(e) {
if ("string" == typeof e && (e = this.game.cache.getImage(e)),
e)
return this.resize(e.width, e.height),
this.cls(),
this.draw(e),
this.update(),
this
},
clear: function(e, t, i, r) {
return void 0 === e && (e = 0),
void 0 === t && (t = 0),
void 0 === i && (i = this.width),
void 0 === r && (r = this.height),
this.context.clearRect(e, t, i, r),
this.dirty = !0,
this
},
fill: function(e, t, i, r) {
return void 0 === r && (r = 1),
this.context.fillStyle = "rgba(" + e + "," + t + "," + i + "," + r + ")",
this.context.fillRect(0, 0, this.width, this.height),
this.dirty = !0,
this
},
generateTexture: function(e) {
var t = new Image;
t.src = this.canvas.toDataURL("image/png");
var i = this.game.cache.addImage(e, "", t);
return new PIXI.Texture(i.base)
},
resize: function(e, t) {
return e === this.width && t === this.height || (this.width = e,
this.height = t,
this.canvas.width = e,
this.canvas.height = t,
void 0 !== this._swapCanvas && (this._swapCanvas.width = e,
this._swapCanvas.height = t),
this.baseTexture.width = e,
this.baseTexture.height = t,
this.textureFrame.width = e,
this.textureFrame.height = t,
this.texture.width = e,
this.texture.height = t,
this.texture.crop.width = e,
this.texture.crop.height = t,
this.update(),
this.dirty = !0),
this
},
update: function(e, t, i, r) {
return void 0 === e && (e = 0),
void 0 === t && (t = 0),
void 0 === i && (i = Math.max(1, this.width)),
void 0 === r && (r = Math.max(1, this.height)),
this.imageData = this.context.getImageData(e, t, i, r),
this.data = this.imageData.data,
this.imageData.data.buffer ? (this.buffer = this.imageData.data.buffer,
this.pixels = new Uint32Array(this.buffer)) : window.ArrayBuffer ? (this.buffer = new ArrayBuffer(this.imageData.data.length),
this.pixels = new Uint32Array(this.buffer)) : this.pixels = this.imageData.data,
this
},
processPixelRGB: function(e, t, i, r, o, s) {
void 0 === i && (i = 0),
void 0 === r && (r = 0),
void 0 === o && (o = this.width),
void 0 === s && (s = this.height);
for (var a = i + o, n = r + s, h = W.Color.createColor(), c = {
r: 0,
g: 0,
b: 0,
a: 0
}, l = !1, m = r; m < n; m++)
for (var u = i; u < a; u++)
W.Color.unpackPixel(this.getPixel32(u, m), h),
!1 !== (c = e.call(t, h, u, m)) && null != c && (this.setPixel32(u, m, c.r, c.g, c.b, c.a, !1),
l = !0);
return l && (this.context.putImageData(this.imageData, 0, 0),
this.dirty = !0),
this
},
processPixel: function(e, t, i, r, o, s) {
void 0 === i && (i = 0),
void 0 === r && (r = 0),
void 0 === o && (o = this.width),
void 0 === s && (s = this.height);
for (var a = i + o, n = r + s, h = 0, c = 0, l = !1, m = r; m < n; m++)
for (var u = i; u < a; u++)
h = this.getPixel32(u, m),
(c = e.call(t, h, u, m)) !== h && (this.pixels[m * this.width + u] = c,
l = !0);
return l && (this.context.putImageData(this.imageData, 0, 0),
this.dirty = !0),
this
},
replaceRGB: function(e, t, i, r, o, s, a, n, h) {
var c = 0
, l = 0
, m = this.width
, u = this.height
, d = W.Color.packPixel(e, t, i, r);
void 0 !== h && h instanceof W.Rectangle && (c = h.x,
l = h.y,
m = h.width,
u = h.height);
for (var p = 0; p < u; p++)
for (var f = 0; f < m; f++)
this.getPixel32(c + f, l + p) === d && this.setPixel32(c + f, l + p, o, s, a, n, !1);
return this.context.putImageData(this.imageData, 0, 0),
this.dirty = !0,
this
},
setHSL: function(e, t, i, r) {
var o = e || 0 === e
, s = t || 0 === t
, a = i || 0 === i;
if (o || s || a) {
void 0 === r && (r = new W.Rectangle(0,0,this.width,this.height));
for (var n = W.Color.createColor(), h = r.y; h < r.bottom; h++)
for (var c = r.x; c < r.right; c++)
W.Color.unpackPixel(this.getPixel32(c, h), n, !0),
o && (n.h = e),
s && (n.s = t),
a && (n.l = i),
W.Color.HSLtoRGB(n.h, n.s, n.l, n),
this.setPixel32(c, h, n.r, n.g, n.b, n.a, !1);
return this.context.putImageData(this.imageData, 0, 0),
this.dirty = !0,
this
}
},
shiftHSL: function(e, t, i, r) {
if (null == e && (e = !1),
null == t && (t = !1),
null == i && (i = !1),
e || t || i) {
void 0 === r && (r = new W.Rectangle(0,0,this.width,this.height));
for (var o = W.Color.createColor(), s = r.y; s < r.bottom; s++)
for (var a = r.x; a < r.right; a++)
W.Color.unpackPixel(this.getPixel32(a, s), o, !0),
e && (o.h = this.game.math.wrap(o.h + e, 0, 1)),
t && (o.s = this.game.math.clamp(o.s + t, 0, 1)),
i && (o.l = this.game.math.clamp(o.l + i, 0, 1)),
W.Color.HSLtoRGB(o.h, o.s, o.l, o),
this.setPixel32(a, s, o.r, o.g, o.b, o.a, !1);
return this.context.putImageData(this.imageData, 0, 0),
this.dirty = !0,
this
}
},
setPixel32: function(e, t, i, r, o, s, a) {
return void 0 === a && (a = !0),
0 <= e && e <= this.width && 0 <= t && t <= this.height && (W.Device.LITTLE_ENDIAN ? this.pixels[t * this.width + e] = s << 24 | o << 16 | r << 8 | i : this.pixels[t * this.width + e] = i << 24 | r << 16 | o << 8 | s,
a && (this.context.putImageData(this.imageData, 0, 0),
this.dirty = !0)),
this
},
setPixel: function(e, t, i, r, o, s) {
return this.setPixel32(e, t, i, r, o, 255, s)
},
getPixel: function(e, t, i) {
i || (i = W.Color.createColor());
var r = ~~(e + t * this.width);
return r *= 4,
i.r = this.data[r],
i.g = this.data[++r],
i.b = this.data[++r],
i.a = this.data[++r],
i
},
getPixel32: function(e, t) {
if (0 <= e && e <= this.width && 0 <= t && t <= this.height)
return this.pixels[t * this.width + e]
},
getPixelRGB: function(e, t, i, r, o) {
return W.Color.unpackPixel(this.getPixel32(e, t), i, r, o)
},
getPixels: function(e) {
return this.context.getImageData(e.x, e.y, e.width, e.height)
},
getFirstPixel: function(e) {
void 0 === e && (e = 0);
var t = W.Color.createColor()
, i = 0
, r = 0
, o = 1
, s = !1;
for (1 === e ? (o = -1,
r = this.height) : 3 === e && (o = -1,
i = this.width); W.Color.unpackPixel(this.getPixel32(i, r), t),
0 === e || 1 === e ? ++i === this.width && (i = 0,
((r += o) >= this.height || r <= 0) && (s = !0)) : 2 !== e && 3 !== e || ++r === this.height && (r = 0,
((i += o) >= this.width || i <= 0) && (s = !0)),
0 === t.a && !s; )
;
return t.x = i,
t.y = r,
t
},
getBounds: function(e) {
return void 0 === e && (e = new W.Rectangle),
e.x = this.getFirstPixel(2).x,
e.x === this.width ? e.setTo(0, 0, 0, 0) : (e.y = this.getFirstPixel(0).y,
e.width = this.getFirstPixel(3).x - e.x + 1,
e.height = this.getFirstPixel(1).y - e.y + 1,
e)
},
addToWorld: function(e, t, i, r, o, s) {
o = o || 1,
s = s || 1;
var a = this.game.add.image(e, t, this);
return a.anchor.set(i, r),
a.scale.set(o, s),
a
},
copy: function(e, t, i, r, o, s, a, n, h, c, l, m, u, d, p, f, y) {
if (null == e && (e = this),
(e instanceof W.RenderTexture || e instanceof PIXI.RenderTexture) && (e = e.getCanvas()),
(this._image = e)instanceof W.Sprite || e instanceof W.Image || e instanceof W.Text || e instanceof PIXI.Sprite)
this._pos.set(e.texture.crop.x, e.texture.crop.y),
this._size.set(e.texture.crop.width, e.texture.crop.height),
this._scale.set(e.scale.x, e.scale.y),
this._anchor.set(e.anchor.x, e.anchor.y),
this._rotate = e.rotation,
this._alpha.current = e.alpha,
e.texture instanceof W.RenderTexture || e.texture instanceof PIXI.RenderTexture ? this._image = e.texture.getCanvas() : this._image = e.texture.baseTexture.source,
null == s && (s = e.x),
null == a && (a = e.y),
e.texture.trim && (s += e.texture.trim.x - e.anchor.x * e.texture.trim.width,
a += e.texture.trim.y - e.anchor.y * e.texture.trim.height),
16777215 !== e.tint && (e.cachedTint !== e.tint && (e.cachedTint = e.tint,
e.tintedTexture = PIXI.CanvasTinter.getTintedTexture(e, e.tint)),
this._image = e.tintedTexture,
this._pos.set(0));
else {
if (this._pos.set(0),
this._scale.set(1),
this._anchor.set(0),
this._rotate = 0,
this._alpha.current = 1,
e instanceof W.BitmapData)
this._image = e.canvas;
else if ("string" == typeof e) {
if (null === (e = this.game.cache.getImage(e)))
return;
this._image = e
}
this._size.set(this._image.width, this._image.height)
}
if (null == t && (t = 0),
null == i && (i = 0),
r && (this._size.x = r),
o && (this._size.y = o),
null == s && (s = t),
null == a && (a = i),
null == n && (n = this._size.x),
null == h && (h = this._size.y),
"number" == typeof c && (this._rotate = c),
"number" == typeof l && (this._anchor.x = l),
"number" == typeof m && (this._anchor.y = m),
"number" == typeof u && (this._scale.x = u),
"number" == typeof d && (this._scale.y = d),
"number" == typeof p && (this._alpha.current = p),
void 0 === f && (f = null),
void 0 === y && (y = !1),
!(this._alpha.current <= 0 || 0 === this._scale.x || 0 === this._scale.y || 0 === this._size.x || 0 === this._size.y)) {
var S = this.context;
return this._alpha.prev = S.globalAlpha,
S.save(),
S.globalAlpha = this._alpha.current,
f && (this.op = f),
y && (s |= 0,
a |= 0),
S.translate(s, a),
S.scale(this._scale.x, this._scale.y),
S.rotate(this._rotate),
S.drawImage(this._image, this._pos.x + t, this._pos.y + i, this._size.x, this._size.y, -n * this._anchor.x, -h * this._anchor.y, n, h),
S.restore(),
S.globalAlpha = this._alpha.prev,
this.dirty = !0,
this
}
},
copyTransform: function(e, t, i) {
if (void 0 === t && (t = null),
void 0 === i && (i = !1),
!e.hasOwnProperty("worldTransform") || !e.worldVisible || 0 === e.worldAlpha)
return this;
var r = e.worldTransform;
if (this._pos.set(e.texture.crop.x, e.texture.crop.y),
this._size.set(e.texture.crop.width, e.texture.crop.height),
0 === r.a || 0 === r.d || 0 === this._size.x || 0 === this._size.y)
return this;
e.texture instanceof W.RenderTexture || e.texture instanceof PIXI.RenderTexture ? this._image = e.texture.getCanvas() : this._image = e.texture.baseTexture.source;
var o = r.tx
, s = r.ty;
e.texture.trim && (o += e.texture.trim.x - e.anchor.x * e.texture.trim.width,
s += e.texture.trim.y - e.anchor.y * e.texture.trim.height),
16777215 !== e.tint && (e.cachedTint !== e.tint && (e.cachedTint = e.tint,
e.tintedTexture = PIXI.CanvasTinter.getTintedTexture(e, e.tint)),
this._image = e.tintedTexture,
this._pos.set(0)),
i && (o |= 0,
s |= 0);
var a = this.context;
return this._alpha.prev = a.globalAlpha,
a.save(),
a.globalAlpha = this._alpha.current,
t && (this.op = t),
a[this.smoothProperty] = e.texture.baseTexture.scaleMode === PIXI.scaleModes.LINEAR,
a.setTransform(r.a, r.b, r.c, r.d, o, s),
a.drawImage(this._image, this._pos.x, this._pos.y, this._size.x, this._size.y, -this._size.x * e.anchor.x, -this._size.y * e.anchor.y, this._size.x, this._size.y),
a.restore(),
a.globalAlpha = this._alpha.prev,
this.dirty = !0,
this
},
copyRect: function(e, t, i, r, o, s, a) {
return this.copy(e, t.x, t.y, t.width, t.height, i, r, t.width, t.height, 0, 0, 0, 1, 1, o, s, a)
},
draw: function(e, t, i, r, o, s, a) {
return this.copy(e, null, null, null, null, t, i, r, o, null, null, null, null, null, null, s, a)
},
drawGroup: function(e, t, i) {
return 0 < e.total && e.forEachExists(this.drawGroupProxy, this, t, i),
this
},
drawGroupProxy: function(e, t, i) {
if (e.hasOwnProperty("texture") && this.copyTransform(e, t, i),
e.type === W.GROUP && e.exists)
this.drawGroup(e, t, i);
else if (e.hasOwnProperty("children") && 0 < e.children.length)
for (var r = 0; r < e.children.length; r++)
e.children[r].exists && this.copyTransform(e.children[r], t, i)
},
drawFull: function(e, t, i) {
if (!1 === e.worldVisible || 0 === e.worldAlpha || e.hasOwnProperty("exists") && !1 === e.exists)
return this;
if (e.type !== W.GROUP && e.type !== W.EMITTER && e.type !== W.BITMAPTEXT)
if (e.type === W.GRAPHICS) {
var r = e.getBounds();
this.ctx.save(),
this.ctx.translate(r.x, r.y),
PIXI.CanvasGraphics.renderGraphics(e, this.ctx),
this.ctx.restore()
} else
this.copy(e, null, null, null, null, e.worldPosition.x, e.worldPosition.y, null, null, e.worldRotation, null, null, e.worldScale.x, e.worldScale.y, e.worldAlpha, t, i);
if (e.children)
for (var o = 0; o < e.children.length; o++)
this.drawFull(e.children[o], t, i);
return this
},
shadow: function(e, t, i, r) {
var o = this.context;
return null == e ? o.shadowColor = "rgba(0,0,0,0)" : (o.shadowColor = e,
o.shadowBlur = t || 5,
o.shadowOffsetX = i || 10,
o.shadowOffsetY = r || 10),
this
},
alphaMask: function(e, t, i, r) {
return null == r ? this.draw(t).blendSourceAtop() : this.draw(t, r.x, r.y, r.width, r.height).blendSourceAtop(),
null == i ? this.draw(e).blendReset() : this.draw(e, i.x, i.y, i.width, i.height).blendReset(),
this
},
extract: function(r, o, s, a, n, e, h, c, l) {
return void 0 === n && (n = 255),
void 0 === e && (e = !1),
void 0 === h && (h = o),
void 0 === c && (c = s),
void 0 === l && (l = a),
e && r.resize(this.width, this.height),
this.processPixelRGB(function(e, t, i) {
return e.r === o && e.g === s && e.b === a && r.setPixel32(t, i, h, c, l, n, !1),
!1
}, this),
r.context.putImageData(r.imageData, 0, 0),
r.dirty = !0,
r
},
rect: function(e, t, i, r, o) {
return void 0 !== o && (this.context.fillStyle = o),
this.context.fillRect(e, t, i, r),
this
},
text: function(e, t, i, r, o, s) {
void 0 === t && (t = 0),
void 0 === i && (i = 0),
void 0 === r && (r = "14px Courier"),
void 0 === o && (o = "rgb(255,255,255)"),
void 0 === s && (s = !0);
var a = this.context
, n = a.font;
return a.font = r,
s && (a.fillStyle = "rgb(0,0,0)",
a.fillText(e, t + 1, i + 1)),
a.fillStyle = o,
a.fillText(e, t, i),
a.font = n,
this
},
circle: function(e, t, i, r) {
var o = this.context;
return void 0 !== r && (o.fillStyle = r),
o.beginPath(),
o.arc(e, t, i, 0, 2 * Math.PI, !1),
o.closePath(),
o.fill(),
this
},
line: function(e, t, i, r, o, s) {
void 0 === o && (o = "#fff"),
void 0 === s && (s = 1);
var a = this.context;
return a.beginPath(),
a.moveTo(e, t),
a.lineTo(i, r),
a.lineWidth = s,
a.strokeStyle = o,
a.stroke(),
a.closePath(),
this
},
textureLine: function(e, t, i) {
if (void 0 === i && (i = "repeat-x"),
"string" != typeof t || (t = this.game.cache.getImage(t))) {
var r = e.length;
"no-repeat" === i && r > t.width && (r = t.width);
var o = this.context;
return o.fillStyle = o.createPattern(t, i),
this._circle = new W.Circle(e.start.x,e.start.y,t.height),
this._circle.circumferencePoint(e.angle - 1.5707963267948966, !1, this._pos),
o.save(),
o.translate(this._pos.x, this._pos.y),
o.rotate(e.angle),
o.fillRect(0, 0, r, t.height),
o.restore(),
this.dirty = !0,
this
}
},
render: function() {
return !this.disableTextureUpload && this.dirty && (this.baseTexture.dirty(),
this.dirty = !1),
this
},
destroy: function() {
this.frameData.destroy(),
this.texture.destroy(!0),
PIXI.CanvasPool.remove(this)
},
blendReset: function() {
return this.op = "source-over",
this
},
blendSourceOver: function() {
return this.op = "source-over",
this
},
blendSourceIn: function() {
return this.op = "source-in",
this
},
blendSourceOut: function() {
return this.op = "source-out",
this
},
blendSourceAtop: function() {
return this.op = "source-atop",
this
},
blendDestinationOver: function() {
return this.op = "destination-over",
this
},
blendDestinationIn: function() {
return this.op = "destination-in",
this
},
blendDestinationOut: function() {
return this.op = "destination-out",
this
},
blendDestinationAtop: function() {
return this.op = "destination-atop",
this
},
blendXor: function() {
return this.op = "xor",
this
},
blendAdd: function() {
return this.op = "lighter",
this
},
blendMultiply: function() {
return this.op = "multiply",
this
},
blendScreen: function() {
return this.op = "screen",
this
},
blendOverlay: function() {
return this.op = "overlay",
this
},
blendDarken: function() {
return this.op = "darken",
this
},
blendLighten: function() {
return this.op = "lighten",
this
},
blendColorDodge: function() {
return this.op = "color-dodge",
this
},
blendColorBurn: function() {
return this.op = "color-burn",
this
},
blendHardLight: function() {
return this.op = "hard-light",
this
},
blendSoftLight: function() {
return this.op = "soft-light",
this
},
blendDifference: function() {
return this.op = "difference",
this
},
blendExclusion: function() {
return this.op = "exclusion",
this
},
blendHue: function() {
return this.op = "hue",
this
},
blendSaturation: function() {
return this.op = "saturation",
this
},
blendColor: function() {
return this.op = "color",
this
},
blendLuminosity: function() {
return this.op = "luminosity",
this
}
},
Object.defineProperty(W.BitmapData.prototype, "smoothed", {
get: function() {
W.Canvas.getSmoothingEnabled(this.context)
},
set: function(e) {
W.Canvas.setSmoothingEnabled(this.context, e)
}
}),
Object.defineProperty(W.BitmapData.prototype, "op", {
get: function() {
return this.context.globalCompositeOperation
},
set: function(e) {
this.context.globalCompositeOperation = e
}
}),
W.BitmapData.getTransform = function(e, t, i, r, o, s) {
return "number" != typeof e && (e = 0),
"number" != typeof t && (t = 0),
"number" != typeof i && (i = 1),
"number" != typeof r && (r = 1),
"number" != typeof o && (o = 0),
"number" != typeof s && (s = 0),
{
sx: i,
sy: r,
scaleX: i,
scaleY: r,
skewX: o,
skewY: s,
translateX: e,
translateY: t,
tx: e,
ty: t
}
}
,
W.BitmapData.prototype.constructor = W.BitmapData,
PIXI.Graphics = function() {
PIXI.DisplayObjectContainer.call(this),
this.renderable = !0,
this.fillAlpha = 1,
this.lineWidth = 0,
this.lineColor = 0,
this.graphicsData = [],
this.tint = 16777215,
this.blendMode = PIXI.blendModes.NORMAL,
this.currentPath = null,
this._webGL = [],
this.isMask = !1,
this.boundsPadding = 0,
this._localBounds = new PIXI.Rectangle(0,0,1,1),
this.dirty = !0,
this._boundsDirty = !1,
this.webGLDirty = !1,
this.cachedSpriteDirty = !1
}
,
PIXI.Graphics.prototype = Object.create(PIXI.DisplayObjectContainer.prototype),
PIXI.Graphics.prototype.constructor = PIXI.Graphics,
PIXI.Graphics.prototype.lineStyle = function(e, t, i) {
return this.lineWidth = e || 0,
this.lineColor = t || 0,
this.lineAlpha = void 0 === i ? 1 : i,
this.currentPath && (this.currentPath.shape.points.length ? this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))) : (this.currentPath.lineWidth = this.lineWidth,
this.currentPath.lineColor = this.lineColor,
this.currentPath.lineAlpha = this.lineAlpha)),
this
}
,
PIXI.Graphics.prototype.moveTo = function(e, t) {
return this.drawShape(new PIXI.Polygon([e, t])),
this
}
,
PIXI.Graphics.prototype.lineTo = function(e, t) {
return this.currentPath || this.moveTo(0, 0),
this.currentPath.shape.points.push(e, t),
this.dirty = !0,
this._boundsDirty = !0,
this
}
,
PIXI.Graphics.prototype.quadraticCurveTo = function(e, t, i, r) {
this.currentPath ? 0 === this.currentPath.shape.points.length && (this.currentPath.shape.points = [0, 0]) : this.moveTo(0, 0);
var o, s, a = this.currentPath.shape.points;
0 === a.length && this.moveTo(0, 0);
for (var n = a[a.length - 2], h = a[a.length - 1], c = 0, l = 1; l <= 20; ++l)
o = n + (e - n) * (c = l / 20),
s = h + (t - h) * c,
a.push(o + (e + (i - e) * c - o) * c, s + (t + (r - t) * c - s) * c);
return this.dirty = !0,
this._boundsDirty = !0,
this
}
,
PIXI.Graphics.prototype.bezierCurveTo = function(e, t, i, r, o, s) {
this.currentPath ? 0 === this.currentPath.shape.points.length && (this.currentPath.shape.points = [0, 0]) : this.moveTo(0, 0);
for (var a, n, h, c, l, m = this.currentPath.shape.points, u = m[m.length - 2], d = m[m.length - 1], p = 0, f = 1; f <= 20; ++f)
h = (n = (a = 1 - (p = f / 20)) * a) * a,
l = (c = p * p) * p,
m.push(h * u + 3 * n * p * e + 3 * a * c * i + l * o, h * d + 3 * n * p * t + 3 * a * c * r + l * s);
return this.dirty = !0,
this._boundsDirty = !0,
this
}
,
PIXI.Graphics.prototype.arcTo = function(e, t, i, r, o) {
this.currentPath ? 0 === this.currentPath.shape.points.length && this.currentPath.shape.points.push(e, t) : this.moveTo(e, t);
var s = this.currentPath.shape.points
, a = s[s.length - 2]
, n = s[s.length - 1] - t
, h = a - e
, c = r - t
, l = i - e
, m = Math.abs(n * l - h * c);
if (m < 1e-8 || 0 === o)
s[s.length - 2] === e && s[s.length - 1] === t || s.push(e, t);
else {
var u = n * n + h * h
, d = c * c + l * l
, p = n * c + h * l
, f = o * Math.sqrt(u) / m
, y = o * Math.sqrt(d) / m
, S = f * p / u
, w = y * p / d
, g = f * l + y * h
, x = f * c + y * n
, b = h * (y + S)
, v = n * (y + S)
, z = l * (f + w)
, C = c * (f + w)
, T = Math.atan2(v - x, b - g)
, P = Math.atan2(C - x, z - g);
this.arc(g + e, x + t, o, T, P, l * n < h * c)
}
return this.dirty = !0,
this._boundsDirty = !0,
this
}
,
PIXI.Graphics.prototype.arc = function(e, t, i, r, o, s, a) {
if (r === o)
return this;
void 0 === s && (s = !1),
void 0 === a && (a = 40),
!s && o <= r ? o += 2 * Math.PI : s && r <= o && (r += 2 * Math.PI);
var n = s ? -1 * (r - o) : o - r
, h = Math.ceil(Math.abs(n) / (2 * Math.PI)) * a;
if (0 === n)
return this;
var c = e + Math.cos(r) * i
, l = t + Math.sin(r) * i;
s && this.filling ? this.moveTo(e, t) : this.moveTo(c, l);
for (var m = this.currentPath.shape.points, u = n / (2 * h), d = 2 * u, p = Math.cos(u), f = Math.sin(u), y = h - 1, S = y % 1 / y, w = 0; w <= y; w++) {
var g = u + r + d * (w + S * w)
, x = Math.cos(g)
, b = -Math.sin(g);
m.push((p * x + f * b) * i + e, (p * -b + f * x) * i + t)
}
return this.dirty = !0,
this._boundsDirty = !0,
this
}
,
PIXI.Graphics.prototype.beginFill = function(e, t) {
return this.filling = !0,
this.fillColor = e || 0,
this.fillAlpha = void 0 === t ? 1 : t,
this.currentPath && this.currentPath.shape.points.length <= 2 && (this.currentPath.fill = this.filling,
this.currentPath.fillColor = this.fillColor,
this.currentPath.fillAlpha = this.fillAlpha),
this
}
,
PIXI.Graphics.prototype.endFill = function() {
return this.filling = !1,
this.fillColor = null,
this.fillAlpha = 1,
this
}
,
PIXI.Graphics.prototype.drawRect = function(e, t, i, r) {
return this.drawShape(new PIXI.Rectangle(e,t,i,r)),
this
}
,
PIXI.Graphics.prototype.drawRoundedRect = function(e, t, i, r, o) {
return this.drawShape(new PIXI.RoundedRectangle(e,t,i,r,o)),
this
}
,
PIXI.Graphics.prototype.drawCircle = function(e, t, i) {
return this.drawShape(new PIXI.Circle(e,t,i)),
this
}
,
PIXI.Graphics.prototype.drawEllipse = function(e, t, i, r) {
return this.drawShape(new PIXI.Ellipse(e,t,i,r)),
this
}
,
PIXI.Graphics.prototype.drawPolygon = function(e) {
(e instanceof W.Polygon || e instanceof PIXI.Polygon) && (e = e.points);
var t = e;
if (!Array.isArray(t)) {
t = new Array(arguments.length);
for (var i = 0; i < t.length; ++i)
t[i] = arguments[i]
}
return this.drawShape(new W.Polygon(t)),
this
}
,
PIXI.Graphics.prototype.clear = function() {
return this.lineWidth = 0,
this.filling = !1,
this.dirty = !0,
this._boundsDirty = !0,
this.clearDirty = !0,
this.graphicsData = [],
this.updateLocalBounds(),
this
}
,
PIXI.Graphics.prototype.generateTexture = function(e, t, i) {
void 0 === e && (e = 1),
void 0 === t && (t = PIXI.scaleModes.DEFAULT),
void 0 === i && (i = 0);
var r = this.getBounds();
r.width += i,
r.height += i;
var o = new PIXI.CanvasBuffer(r.width * e,r.height * e)
, s = PIXI.Texture.fromCanvas(o.canvas, t);
return s.baseTexture.resolution = e,
o.context.scale(e, e),
o.context.translate(-r.x, -r.y),
PIXI.CanvasGraphics.renderGraphics(this, o.context),
s
}
,
PIXI.Graphics.prototype._renderWebGL = function(e) {
if (!1 !== this.visible && 0 !== this.alpha && !0 !== this.isMask) {
if (this._cacheAsBitmap)
return (this.dirty || this.cachedSpriteDirty) && (this._generateCachedSprite(),
this.updateCachedSpriteTexture(),
this.cachedSpriteDirty = !1,
this.dirty = !1),
this._cachedSprite.worldAlpha = this.worldAlpha,
void PIXI.Sprite.prototype._renderWebGL.call(this._cachedSprite, e);
if (e.spriteBatch.stop(),
e.blendModeManager.setBlendMode(this.blendMode),
this._mask && e.maskManager.pushMask(this._mask, e),
this._filters && e.filterManager.pushFilter(this._filterBlock),
this.blendMode !== e.spriteBatch.currentBlendMode) {
e.spriteBatch.currentBlendMode = this.blendMode;
var t = PIXI.blendModesWebGL[e.spriteBatch.currentBlendMode];
e.spriteBatch.gl.blendFunc(t[0], t[1])
}
if (this.webGLDirty && (this.dirty = !0,
this.webGLDirty = !1),
PIXI.WebGLGraphics.renderGraphics(this, e),
this.children.length) {
e.spriteBatch.start();
for (var i = 0; i < this.children.length; i++)
this.children[i]._renderWebGL(e);
e.spriteBatch.stop()
}
this._filters && e.filterManager.popFilter(),
this._mask && e.maskManager.popMask(this.mask, e),
e.drawCount++,
e.spriteBatch.start()
}
}
,
PIXI.Graphics.prototype._renderCanvas = function(e) {
if (!1 !== this.visible && 0 !== this.alpha && !0 !== this.isMask) {
if (this._prevTint !== this.tint && (this.dirty = !0,
this._prevTint = this.tint),
this._cacheAsBitmap)
return (this.dirty || this.cachedSpriteDirty) && (this._generateCachedSprite(),
this.updateCachedSpriteTexture(),
this.cachedSpriteDirty = !1,
this.dirty = !1),
this._cachedSprite.alpha = this.alpha,
void PIXI.Sprite.prototype._renderCanvas.call(this._cachedSprite, e);
var t = e.context
, i = this.worldTransform;
this.blendMode !== e.currentBlendMode && (e.currentBlendMode = this.blendMode,
t.globalCompositeOperation = PIXI.blendModesCanvas[e.currentBlendMode]),
this._mask && e.maskManager.pushMask(this._mask, e);
var r = e.resolution
, o = i.tx * e.resolution + e.shakeX
, s = i.ty * e.resolution + e.shakeY;
t.setTransform(i.a * r, i.b * r, i.c * r, i.d * r, o, s),
PIXI.CanvasGraphics.renderGraphics(this, t);
for (var a = 0; a < this.children.length; a++)
this.children[a]._renderCanvas(e);
this._mask && e.maskManager.popMask(e)
}
}
,
PIXI.Graphics.prototype.getBounds = function(e) {
if (!this._currentBounds) {
if (!this.renderable)
return PIXI.EmptyRectangle;
this.dirty && (this.updateLocalBounds(),
this.webGLDirty = !0,
this.cachedSpriteDirty = !0,
this.dirty = !1);
var t = this._localBounds
, i = t.x
, r = t.width + t.x
, o = t.y
, s = t.height + t.y
, a = e || this.worldTransform
, n = a.a
, h = a.b
, c = a.c
, l = a.d
, m = a.tx
, u = a.ty
, d = n * r + c * s + m
, p = l * s + h * r + u
, f = n * i + c * s + m
, y = l * s + h * i + u
, S = n * i + c * o + m
, w = l * o + h * i + u
, g = n * r + c * o + m
, x = l * o + h * r + u
, b = d
, v = p
, z = d
, C = p;
z = g < (z = S < (z = f < z ? f : z) ? S : z) ? g : z,
C = x < (C = w < (C = y < C ? y : C) ? w : C) ? x : C,
b = (b = (b = b < f ? f : b) < S ? S : b) < g ? g : b,
v = (v = (v = v < y ? y : v) < w ? w : v) < x ? x : v,
this._bounds.x = z,
this._bounds.width = b - z,
this._bounds.y = C,
this._bounds.height = v - C,
this._currentBounds = this._bounds
}
return this._currentBounds
}
,
PIXI.Graphics.prototype.getLocalBounds = function() {
var e = this.worldTransform;
this.worldTransform = PIXI.identityMatrix;
for (var t = 0; t < this.children.length; t++)
this.children[t].updateTransform();
var i = this.getBounds();
for (this.worldTransform = e,
t = 0; t < this.children.length; t++)
this.children[t].updateTransform();
return i
}
,
PIXI.Graphics.prototype.containsPoint = function(e) {
this.worldTransform.applyInverse(e, tempPoint);
for (var t = this.graphicsData, i = 0; i < t.length; i++) {
var r = t[i];
if (r.fill && (r.shape && r.shape.contains(tempPoint.x, tempPoint.y)))
return !0
}
return !1
}
,
PIXI.Graphics.prototype.updateLocalBounds = function() {
var e = 1 / 0
, t = -1 / 0
, i = 1 / 0
, r = -1 / 0;
if (this.graphicsData.length)
for (var o, s, a, n, h, c, l = 0; l < this.graphicsData.length; l++) {
var m = this.graphicsData[l]
, u = m.type
, d = m.lineWidth;
if (o = m.shape,
u === PIXI.Graphics.RECT || u === PIXI.Graphics.RREC)
a = o.x - d / 2,
n = o.y - d / 2,
e = a < e ? a : e,
t = t < a + (h = o.width + d) ? a + h : t,
i = n < i ? n : i,
r = r < n + (c = o.height + d) ? n + c : r;
else if (u === PIXI.Graphics.CIRC)
a = o.x,
n = o.y,
e = a - (h = o.radius + d / 2) < e ? a - h : e,
t = t < a + h ? a + h : t,
i = n - (c = o.radius + d / 2) < i ? n - c : i,
r = r < n + c ? n + c : r;
else if (u === PIXI.Graphics.ELIP)
a = o.x,
n = o.y,
e = a - (h = o.width + d / 2) < e ? a - h : e,
t = t < a + h ? a + h : t,
i = n - (c = o.height + d / 2) < i ? n - c : i,
r = r < n + c ? n + c : r;
else {
s = o.points;
for (var p = 0; p < s.length; p++)
s[p]instanceof W.Point ? (a = s[p].x,
n = s[p].y) : (a = s[p],
n = s[p + 1],
p < s.length - 1 && p++),
e = a - d < e ? a - d : e,
t = t < a + d ? a + d : t,
i = n - d < i ? n - d : i,
r = r < n + d ? n + d : r
}
}
else
r = i = t = e = 0;
var f = this.boundsPadding;
this._localBounds.x = e - f,
this._localBounds.width = t - e + 2 * f,
this._localBounds.y = i - f,
this._localBounds.height = r - i + 2 * f
}
,
PIXI.Graphics.prototype._generateCachedSprite = function() {
var e = this.getLocalBounds();
if (this._cachedSprite)
this._cachedSprite.buffer.resize(e.width, e.height);
else {
var t = new PIXI.CanvasBuffer(e.width,e.height)
, i = PIXI.Texture.fromCanvas(t.canvas);
this._cachedSprite = new PIXI.Sprite(i),
this._cachedSprite.buffer = t,
this._cachedSprite.worldTransform = this.worldTransform
}
this._cachedSprite.anchor.x = -e.x / e.width,
this._cachedSprite.anchor.y = -e.y / e.height,
this._cachedSprite.buffer.context.translate(-e.x, -e.y),
this.worldAlpha = 1,
PIXI.CanvasGraphics.renderGraphics(this, this._cachedSprite.buffer.context),
this._cachedSprite.alpha = this.alpha
}
,
PIXI.Graphics.prototype.updateCachedSpriteTexture = function() {
var e = this._cachedSprite
, t = e.texture
, i = e.buffer.canvas;
t.baseTexture.width = i.width,
t.baseTexture.height = i.height,
t.crop.width = t.frame.width = i.width,
t.crop.height = t.frame.height = i.height,
e._width = i.width,
e._height = i.height,
t.baseTexture.dirty()
}
,
PIXI.Graphics.prototype.destroyCachedSprite = function() {
this._cachedSprite.texture.destroy(!0),
this._cachedSprite = null
}
,
PIXI.Graphics.prototype.drawShape = function(e) {
this.currentPath && this.currentPath.shape.points.length <= 2 && this.graphicsData.pop(),
this.currentPath = null,
e instanceof W.Polygon && (e = e.clone()).flatten();
var t = new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,e);
return this.graphicsData.push(t),
t.type === PIXI.Graphics.POLY && (t.shape.closed = this.filling,
this.currentPath = t),
this.dirty = !0,
this._boundsDirty = !0,
t
}
,
Object.defineProperty(PIXI.Graphics.prototype, "cacheAsBitmap", {
get: function() {
return this._cacheAsBitmap
},
set: function(e) {
this._cacheAsBitmap = e,
this._cacheAsBitmap ? this._generateCachedSprite() : this.destroyCachedSprite(),
this.dirty = !0,
this.webGLDirty = !0
}
}),
PIXI.GraphicsData = function(e, t, i, r, o, s, a) {
this.lineWidth = e,
this.lineColor = t,
this.lineAlpha = i,
this._lineTint = t,
this.fillColor = r,
this.fillAlpha = o,
this._fillTint = r,
this.fill = s,
this.shape = a,
this.type = a.type
}
,
PIXI.GraphicsData.prototype.constructor = PIXI.GraphicsData,
PIXI.GraphicsData.prototype.clone = function() {
return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)
}
,
PIXI.EarCut = {},
PIXI.EarCut.Triangulate = function(e, t, i) {
i = i || 2;
var r, o, s, a, n, h, c, l = t && t.length, m = l ? t[0] * i : e.length, u = PIXI.EarCut.linkedList(e, 0, m, i, !0), d = [];
if (!u)
return d;
if (l && (u = PIXI.EarCut.eliminateHoles(e, t, u, i)),
e.length > 80 * i) {
r = s = e[0],
o = a = e[1];
for (var p = i; p < m; p += i)
(n = e[p]) < r && (r = n),
(h = e[p + 1]) < o && (o = h),
s < n && (s = n),
a < h && (a = h);
c = Math.max(s - r, a - o)
}
return PIXI.EarCut.earcutLinked(u, d, i, r, o, c),
d
}
,
PIXI.EarCut.linkedList = function(e, t, i, r, o) {
var s, a, n, h = 0;
for (s = t,
a = i - r; s < i; s += r)
h += (e[a] - e[s]) * (e[s + 1] + e[a + 1]),
a = s;
if (o === 0 < h)
for (s = t; s < i; s += r)
n = PIXI.EarCut.insertNode(s, e[s], e[s + 1], n);
else
for (s = i - r; t <= s; s -= r)
n = PIXI.EarCut.insertNode(s, e[s], e[s + 1], n);
return n
}
,
PIXI.EarCut.filterPoints = function(e, t) {
if (!e)
return e;
t || (t = e);
var i, r = e;
do {
if (i = !1,
r.steiner || !PIXI.EarCut.equals(r, r.next) && 0 !== PIXI.EarCut.area(r.prev, r, r.next))
r = r.next;
else {
if (PIXI.EarCut.removeNode(r),
(r = t = r.prev) === r.next)
return null;
i = !0
}
} while (i || r !== t);
return t
}
,
PIXI.EarCut.earcutLinked = function(e, t, i, r, o, s, a) {
if (e) {
!a && s && PIXI.EarCut.indexCurve(e, r, o, s);
for (var n, h, c = e; e.prev !== e.next; )
if (n = e.prev,
h = e.next,
s ? PIXI.EarCut.isEarHashed(e, r, o, s) : PIXI.EarCut.isEar(e))
t.push(n.i / i),
t.push(e.i / i),
t.push(h.i / i),
PIXI.EarCut.removeNode(e),
e = h.next,
c = h.next;
else if ((e = h) === c) {
a ? 1 === a ? (e = PIXI.EarCut.cureLocalIntersections(e, t, i),
PIXI.EarCut.earcutLinked(e, t, i, r, o, s, 2)) : 2 === a && PIXI.EarCut.splitEarcut(e, t, i, r, o, s) : PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(e), t, i, r, o, s, 1);
break
}
}
}
,
PIXI.EarCut.isEar = function(e) {
var t = e.prev
, i = e
, r = e.next;
if (0 <= PIXI.EarCut.area(t, i, r))
return !1;
for (var o = e.next.next; o !== e.prev; ) {
if (PIXI.EarCut.pointInTriangle(t.x, t.y, i.x, i.y, r.x, r.y, o.x, o.y) && 0 <= PIXI.EarCut.area(o.prev, o, o.next))
return !1;
o = o.next
}
return !0
}
,
PIXI.EarCut.isEarHashed = function(e, t, i, r) {
var o = e.prev
, s = e
, a = e.next;
if (0 <= PIXI.EarCut.area(o, s, a))
return !1;
for (var n = o.x < s.x ? o.x < a.x ? o.x : a.x : s.x < a.x ? s.x : a.x, h = o.y < s.y ? o.y < a.y ? o.y : a.y : s.y < a.y ? s.y : a.y, c = o.x > s.x ? o.x > a.x ? o.x : a.x : s.x > a.x ? s.x : a.x, l = o.y > s.y ? o.y > a.y ? o.y : a.y : s.y > a.y ? s.y : a.y, m = PIXI.EarCut.zOrder(n, h, t, i, r), u = PIXI.EarCut.zOrder(c, l, t, i, r), d = e.nextZ; d && d.z <= u; ) {
if (d !== e.prev && d !== e.next && PIXI.EarCut.pointInTriangle(o.x, o.y, s.x, s.y, a.x, a.y, d.x, d.y) && 0 <= PIXI.EarCut.area(d.prev, d, d.next))
return !1;
d = d.nextZ
}
for (d = e.prevZ; d && d.z >= m; ) {
if (d !== e.prev && d !== e.next && PIXI.EarCut.pointInTriangle(o.x, o.y, s.x, s.y, a.x, a.y, d.x, d.y) && 0 <= PIXI.EarCut.area(d.prev, d, d.next))
return !1;
d = d.prevZ
}
return !0
}
,
PIXI.EarCut.cureLocalIntersections = function(e, t, i) {
var r = e;
do {
var o = r.prev
, s = r.next.next;
PIXI.EarCut.intersects(o, r, r.next, s) && PIXI.EarCut.locallyInside(o, s) && PIXI.EarCut.locallyInside(s, o) && (t.push(o.i / i),
t.push(r.i / i),
t.push(s.i / i),
PIXI.EarCut.removeNode(r),
PIXI.EarCut.removeNode(r.next),
r = e = s),
r = r.next
} while (r !== e);
return r
}
,
PIXI.EarCut.splitEarcut = function(e, t, i, r, o, s) {
var a = e;
do {
for (var n = a.next.next; n !== a.prev; ) {
if (a.i !== n.i && PIXI.EarCut.isValidDiagonal(a, n)) {
var h = PIXI.EarCut.splitPolygon(a, n);
return a = PIXI.EarCut.filterPoints(a, a.next),
h = PIXI.EarCut.filterPoints(h, h.next),
PIXI.EarCut.earcutLinked(a, t, i, r, o, s),
void PIXI.EarCut.earcutLinked(h, t, i, r, o, s)
}
n = n.next
}
a = a.next
} while (a !== e)
}
,
PIXI.EarCut.eliminateHoles = function(e, t, i, r) {
var o, s, a, n, h, c = [];
for (o = 0,
s = t.length; o < s; o++)
a = t[o] * r,
n = o < s - 1 ? t[o + 1] * r : e.length,
(h = PIXI.EarCut.linkedList(e, a, n, r, !1)) === h.next && (h.steiner = !0),
c.push(PIXI.EarCut.getLeftmost(h));
for (c.sort(compareX),
o = 0; o < c.length; o++)
PIXI.EarCut.eliminateHole(c[o], i),
i = PIXI.EarCut.filterPoints(i, i.next);
return i
}
,
PIXI.EarCut.compareX = function(e, t) {
return e.x - t.x
}
,
PIXI.EarCut.eliminateHole = function(e, t) {
if (t = PIXI.EarCut.findHoleBridge(e, t)) {
var i = PIXI.EarCut.splitPolygon(t, e);
PIXI.EarCut.filterPoints(i, i.next)
}
}
,
PIXI.EarCut.findHoleBridge = function(e, t) {
var i, r = t, o = e.x, s = e.y, a = -1 / 0;
do {
if (s <= r.y && s >= r.next.y) {
var n = r.x + (s - r.y) * (r.next.x - r.x) / (r.next.y - r.y);
n <= o && a < n && (a = n,
i = r.x < r.next.x ? r : r.next)
}
r = r.next
} while (r !== t);
if (!i)
return null;
if (e.x === i.x)
return i.prev;
var h, c = i, l = 1 / 0;
for (r = i.next; r !== c; )
o >= r.x && r.x >= i.x && PIXI.EarCut.pointInTriangle(s < i.y ? o : a, s, i.x, i.y, s < i.y ? a : o, s, r.x, r.y) && ((h = Math.abs(s - r.y) / (o - r.x)) < l || h === l && r.x > i.x) && PIXI.EarCut.locallyInside(r, e) && (i = r,
l = h),
r = r.next;
return i
}
,
PIXI.EarCut.indexCurve = function(e, t, i, r) {
for (var o = e; null === o.z && (o.z = PIXI.EarCut.zOrder(o.x, o.y, t, i, r)),
o.prevZ = o.prev,
o.nextZ = o.next,
(o = o.next) !== e; )
;
o.prevZ.nextZ = null,
o.prevZ = null,
PIXI.EarCut.sortLinked(o)
}
,
PIXI.EarCut.sortLinked = function(e) {
var t, i, r, o, s, a, n, h, c = 1;
do {
for (i = e,
s = e = null,
a = 0; i; ) {
for (a++,
r = i,
t = n = 0; t < c && (n++,
r = r.nextZ); t++)
;
for (h = c; 0 < n || 0 < h && r; )
0 === n ? (r = (o = r).nextZ,
h--) : 0 !== h && r ? i.z <= r.z ? (i = (o = i).nextZ,
n--) : (r = (o = r).nextZ,
h--) : (i = (o = i).nextZ,
n--),
s ? s.nextZ = o : e = o,
o.prevZ = s,
s = o;
i = r
}
s.nextZ = null,
c *= 2
} while (1 < a);
return e
}
,
PIXI.EarCut.zOrder = function(e, t, i, r, o) {
return (e = 1431655765 & ((e = 858993459 & ((e = 252645135 & ((e = 16711935 & ((e = 32767 * (e - i) / o) | e << 8)) | e << 4)) | e << 2)) | e << 1)) | (t = 1431655765 & ((t = 858993459 & ((t = 252645135 & ((t = 16711935 & ((t = 32767 * (t - r) / o) | t << 8)) | t << 4)) | t << 2)) | t << 1)) << 1
}
,
PIXI.EarCut.getLeftmost = function(e) {
for (var t = e, i = e; t.x < i.x && (i = t),
(t = t.next) !== e; )
;
return i
}
,
PIXI.EarCut.pointInTriangle = function(e, t, i, r, o, s, a, n) {
return 0 <= (o - a) * (t - n) - (e - a) * (s - n) && 0 <= (e - a) * (r - n) - (i - a) * (t - n) && 0 <= (i - a) * (s - n) - (o - a) * (r - n)
}
,
PIXI.EarCut.isValidDiagonal = function(e, t) {
return PIXI.EarCut.equals(e, t) || e.next.i !== t.i && e.prev.i !== t.i && !PIXI.EarCut.intersectsPolygon(e, t) && PIXI.EarCut.locallyInside(e, t) && PIXI.EarCut.locallyInside(t, e) && PIXI.EarCut.middleInside(e, t)
}
,
PIXI.EarCut.area = function(e, t, i) {
return (t.y - e.y) * (i.x - t.x) - (t.x - e.x) * (i.y - t.y)
}
,
PIXI.EarCut.equals = function(e, t) {
return e.x === t.x && e.y === t.y
}
,
PIXI.EarCut.intersects = function(e, t, i, r) {
return 0 < PIXI.EarCut.area(e, t, i) != 0 < PIXI.EarCut.area(e, t, r) && 0 < PIXI.EarCut.area(i, r, e) != 0 < PIXI.EarCut.area(i, r, t)
}
,
PIXI.EarCut.intersectsPolygon = function(e, t) {
var i = e;
do {
if (i.i !== e.i && i.next.i !== e.i && i.i !== t.i && i.next.i !== t.i && PIXI.EarCut.intersects(i, i.next, e, t))
return !0;
i = i.next
} while (i !== e);
return !1
}
,
PIXI.EarCut.locallyInside = function(e, t) {
return PIXI.EarCut.area(e.prev, e, e.next) < 0 ? 0 <= PIXI.EarCut.area(e, t, e.next) && 0 <= PIXI.EarCut.area(e, e.prev, t) : PIXI.EarCut.area(e, t, e.prev) < 0 || PIXI.EarCut.area(e, e.next, t) < 0
}
,
PIXI.EarCut.middleInside = function(e, t) {
for (var i = e, r = !1, o = (e.x + t.x) / 2, s = (e.y + t.y) / 2; i.y > s != i.next.y > s && o < (i.next.x - i.x) * (s - i.y) / (i.next.y - i.y) + i.x && (r = !r),
(i = i.next) !== e; )
;
return r
}
,
PIXI.EarCut.splitPolygon = function(e, t) {
var i = new PIXI.EarCut.Node(e.i,e.x,e.y)
, r = new PIXI.EarCut.Node(t.i,t.x,t.y)
, o = e.next
, s = t.prev;
return (e.next = t).prev = e,
(i.next = o).prev = i,
(r.next = i).prev = r,
(s.next = r).prev = s,
r
}
,
PIXI.EarCut.insertNode = function(e, t, i, r) {
var o = new PIXI.EarCut.Node(e,t,i);
return r ? (o.next = r.next,
(o.prev = r).next.prev = o,
r.next = o) : (o.prev = o).next = o,
o
}
,
PIXI.EarCut.removeNode = function(e) {
e.next.prev = e.prev,
e.prev.next = e.next,
e.prevZ && (e.prevZ.nextZ = e.nextZ),
e.nextZ && (e.nextZ.prevZ = e.prevZ)
}
,
PIXI.EarCut.Node = function(e, t, i) {
this.i = e,
this.x = t,
this.y = i,
this.prev = null,
this.next = null,
this.z = null,
this.prevZ = null,
this.nextZ = null,
this.steiner = !1
}
,
PIXI.WebGLGraphics = function() {}
,
PIXI.WebGLGraphics.stencilBufferLimit = 6,
PIXI.WebGLGraphics.renderGraphics = function(e, t) {
var i, r = t.gl, o = t.projection, s = t.offset, a = t.shaderManager.primitiveShader;
e.dirty && PIXI.WebGLGraphics.updateGraphics(e, r);
for (var n = e._webGL[r.id], h = 0; h < n.data.length; h++)
1 === n.data[h].mode ? (i = n.data[h],
t.stencilManager.pushStencil(e, i, t),
r.drawElements(r.TRIANGLE_FAN, 4, r.UNSIGNED_SHORT, 2 * (i.indices.length - 4)),
t.stencilManager.popStencil(e, i, t)) : (i = n.data[h],
t.shaderManager.setShader(a),
a = t.shaderManager.primitiveShader,
r.uniformMatrix3fv(a.translationMatrix, !1, e.worldTransform.toArray(!0)),
r.uniform1f(a.flipY, 1),
r.uniform2f(a.projectionVector, o.x, -o.y),
r.uniform2f(a.offsetVector, -s.x, -s.y),
r.uniform3fv(a.tintColor, PIXI.hex2rgb(e.tint)),
r.uniform1f(a.alpha, e.worldAlpha),
r.bindBuffer(r.ARRAY_BUFFER, i.buffer),
r.vertexAttribPointer(a.aVertexPosition, 2, r.FLOAT, !1, 24, 0),
r.vertexAttribPointer(a.colorAttribute, 4, r.FLOAT, !1, 24, 8),
r.bindBuffer(r.ELEMENT_ARRAY_BUFFER, i.indexBuffer),
r.drawElements(r.TRIANGLE_STRIP, i.indices.length, r.UNSIGNED_SHORT, 0))
}
,
PIXI.WebGLGraphics.updateGraphics = function(e, t) {
var i, r, o = e._webGL[t.id];
if (o || (o = e._webGL[t.id] = {
lastIndex: 0,
data: [],
gl: t
}),
e.dirty = !1,
e.clearDirty) {
for (e.clearDirty = !1,
i = 0; i < o.data.length; i++) {
var s = o.data[i];
s.reset(),
PIXI.WebGLGraphics.graphicsDataPool.push(s)
}
o.data = [],
o.lastIndex = 0
}
for (i = o.lastIndex; i < e.graphicsData.length; i++) {
var a = e.graphicsData[i];
if (a.type === PIXI.Graphics.POLY) {
if (a.points = a.shape.points.slice(),
a.shape.closed && (a.points[0] === a.points[a.points.length - 2] && a.points[1] === a.points[a.points.length - 1] || a.points.push(a.points[0], a.points[1])),
a.fill)
if (a.points.length >= PIXI.WebGLGraphics.stencilBufferLimit)
if (a.points.length < 2 * PIXI.WebGLGraphics.stencilBufferLimit)
r = PIXI.WebGLGraphics.switchMode(o, 0),
PIXI.WebGLGraphics.buildPoly(a, r) || (r = PIXI.WebGLGraphics.switchMode(o, 1),
PIXI.WebGLGraphics.buildComplexPoly(a, r));
else
r = PIXI.WebGLGraphics.switchMode(o, 1),
PIXI.WebGLGraphics.buildComplexPoly(a, r);
0 < a.lineWidth && (r = PIXI.WebGLGraphics.switchMode(o, 0),
PIXI.WebGLGraphics.buildLine(a, r))
} else
r = PIXI.WebGLGraphics.switchMode(o, 0),
a.type === PIXI.Graphics.RECT ? PIXI.WebGLGraphics.buildRectangle(a, r) : a.type === PIXI.Graphics.CIRC || a.type === PIXI.Graphics.ELIP ? PIXI.WebGLGraphics.buildCircle(a, r) : a.type === PIXI.Graphics.RREC && PIXI.WebGLGraphics.buildRoundedRectangle(a, r);
o.lastIndex++
}
for (i = 0; i < o.data.length; i++)
(r = o.data[i]).dirty && r.upload()
}
,
PIXI.WebGLGraphics.switchMode = function(e, t) {
var i;
return e.data.length && (i = e.data[e.data.length - 1]).mode === t && 1 !== t || ((i = PIXI.WebGLGraphics.graphicsDataPool.pop() || new PIXI.WebGLGraphicsData(e.gl)).mode = t,
e.data.push(i)),
i.dirty = !0,
i
}
,
PIXI.WebGLGraphics.buildRectangle = function(e, t) {
var i = e.shape
, r = i.x
, o = i.y
, s = i.width
, a = i.height;
if (e.fill) {
var n = PIXI.hex2rgb(e.fillColor)
, h = e.fillAlpha
, c = n[0] * h
, l = n[1] * h
, m = n[2] * h
, u = t.points
, d = t.indices
, p = u.length / 6;
u.push(r, o),
u.push(c, l, m, h),
u.push(r + s, o),
u.push(c, l, m, h),
u.push(r, o + a),
u.push(c, l, m, h),
u.push(r + s, o + a),
u.push(c, l, m, h),
d.push(p, p, p + 1, p + 2, p + 3, p + 3)
}
if (e.lineWidth) {
var f = e.points;
e.points = [r, o, r + s, o, r + s, o + a, r, o + a, r, o],
PIXI.WebGLGraphics.buildLine(e, t),
e.points = f
}
}
,
PIXI.WebGLGraphics.buildRoundedRectangle = function(e, t) {
var i = e.shape
, r = i.x
, o = i.y
, s = i.width
, a = i.height
, n = i.radius
, h = [];
if (h.push(r, o + n),
h = (h = (h = (h = h.concat(PIXI.WebGLGraphics.quadraticBezierCurve(r, o + a - n, r, o + a, r + n, o + a))).concat(PIXI.WebGLGraphics.quadraticBezierCurve(r + s - n, o + a, r + s, o + a, r + s, o + a - n))).concat(PIXI.WebGLGraphics.quadraticBezierCurve(r + s, o + n, r + s, o, r + s - n, o))).concat(PIXI.WebGLGraphics.quadraticBezierCurve(r + n, o, r, o, r, o + n)),
e.fill) {
var c = PIXI.hex2rgb(e.fillColor)
, l = e.fillAlpha
, m = c[0] * l
, u = c[1] * l
, d = c[2] * l
, p = t.points
, f = t.indices
, y = p.length / 6
, S = PIXI.EarCut.Triangulate(h, null, 2)
, w = 0;
for (w = 0; w < S.length; w += 3)
f.push(S[w] + y),
f.push(S[w] + y),
f.push(S[w + 1] + y),
f.push(S[w + 2] + y),
f.push(S[w + 2] + y);
for (w = 0; w < h.length; w++)
p.push(h[w], h[++w], m, u, d, l)
}
if (e.lineWidth) {
var g = e.points;
e.points = h,
PIXI.WebGLGraphics.buildLine(e, t),
e.points = g
}
}
,
PIXI.WebGLGraphics.quadraticBezierCurve = function(e, t, i, r, o, s) {
var a, n, h, c, l, m, u = [];
function d(e, t, i) {
return e + (t - e) * i
}
for (var p = 0, f = 0; f <= 20; f++)
a = d(e, i, p = f / 20),
n = d(t, r, p),
h = d(i, o, p),
c = d(r, s, p),
l = d(a, h, p),
m = d(n, c, p),
u.push(l, m);
return u
}
,
PIXI.WebGLGraphics.buildCircle = function(e, t) {
var i, r, o = e.shape, s = o.x, a = o.y;
r = e.type === PIXI.Graphics.CIRC ? (i = o.radius,
o.radius) : (i = o.width,
o.height);
var n = 2 * Math.PI / 40
, h = 0;
if (e.fill) {
var c = PIXI.hex2rgb(e.fillColor)
, l = e.fillAlpha
, m = c[0] * l
, u = c[1] * l
, d = c[2] * l
, p = t.points
, f = t.indices
, y = p.length / 6;
for (f.push(y),
h = 0; h < 41; h++)
p.push(s, a, m, u, d, l),
p.push(s + Math.sin(n * h) * i, a + Math.cos(n * h) * r, m, u, d, l),
f.push(y++, y++);
f.push(y - 1)
}
if (e.lineWidth) {
var S = e.points;
for (e.points = [],
h = 0; h < 41; h++)
e.points.push(s + Math.sin(n * h) * i, a + Math.cos(n * h) * r);
PIXI.WebGLGraphics.buildLine(e, t),
e.points = S
}
}
,
PIXI.WebGLGraphics.buildLine = function(e, t) {
var i = 0
, r = e.points;
if (0 !== r.length) {
if (e.lineWidth % 2)
for (i = 0; i < r.length; i++)
r[i] += .5;
var o = new PIXI.Point(r[0],r[1])
, s = new PIXI.Point(r[r.length - 2],r[r.length - 1]);
if (o.x === s.x && o.y === s.y) {
(r = r.slice()).pop(),
r.pop();
var a = (s = new PIXI.Point(r[r.length - 2],r[r.length - 1])).x + .5 * (o.x - s.x)
, n = s.y + .5 * (o.y - s.y);
r.unshift(a, n),
r.push(a, n)
}
var h, c, l, m, u, d, p, f, y, S, w, g, x, b, v, z, C, T, P, A, _, B, D = t.points, k = t.indices, E = r.length / 2, M = r.length, I = D.length / 6, L = e.lineWidth / 2, O = PIXI.hex2rgb(e.lineColor), R = e.lineAlpha, F = O[0] * R, G = O[1] * R, N = O[2] * R;
for (l = r[0],
m = r[1],
u = r[2],
y = -(m - (d = r[3])),
S = l - u,
y /= B = Math.sqrt(y * y + S * S),
S /= B,
y *= L,
S *= L,
D.push(l - y, m - S, F, G, N, R),
D.push(l + y, m + S, F, G, N, R),
i = 1; i < E - 1; i++)
l = r[2 * (i - 1)],
m = r[2 * (i - 1) + 1],
u = r[2 * i],
d = r[2 * i + 1],
p = r[2 * (i + 1)],
f = r[2 * (i + 1) + 1],
y = -(m - d),
S = l - u,
y /= B = Math.sqrt(y * y + S * S),
S /= B,
y *= L,
S *= L,
w = -(d - f),
g = u - p,
w /= B = Math.sqrt(w * w + g * g),
g /= B,
C = (-y + l) * (-S + d) - (-y + u) * (-S + m),
A = (-(w *= L) + p) * (-(g *= L) + d) - (-w + u) * (-g + f),
_ = (v = -S + m - (-S + d)) * (P = -w + u - (-w + p)) - (T = -g + f - (-g + d)) * (z = -y + u - (-y + l)),
Math.abs(_) < .1 ? (_ += 10.1,
D.push(u - y, d - S, F, G, N, R),
D.push(u + y, d + S, F, G, N, R)) : 19600 < ((h = (z * A - P * C) / _) - u) * (h - u) + ((c = (T * C - v * A) / _) - d) + (c - d) ? (x = y - w,
b = S - g,
x /= B = Math.sqrt(x * x + b * b),
b /= B,
x *= L,
b *= L,
D.push(u - x, d - b),
D.push(F, G, N, R),
D.push(u + x, d + b),
D.push(F, G, N, R),
D.push(u - x, d - b),
D.push(F, G, N, R),
M++) : (D.push(h, c),
D.push(F, G, N, R),
D.push(u - (h - u), d - (c - d)),
D.push(F, G, N, R));
for (l = r[2 * (E - 2)],
m = r[2 * (E - 2) + 1],
u = r[2 * (E - 1)],
y = -(m - (d = r[2 * (E - 1) + 1])),
S = l - u,
y /= B = Math.sqrt(y * y + S * S),
S /= B,
y *= L,
S *= L,
D.push(u - y, d - S),
D.push(F, G, N, R),
D.push(u + y, d + S),
D.push(F, G, N, R),
k.push(I),
i = 0; i < M; i++)
k.push(I++);
k.push(I - 1)
}
}
,
PIXI.WebGLGraphics.buildComplexPoly = function(e, t) {
var i = e.points.slice();
if (!(i.length < 6)) {
var r = t.indices;
t.points = i,
t.alpha = e.fillAlpha,
t.color = PIXI.hex2rgb(e.fillColor);
for (var o, s, a = 1 / 0, n = -1 / 0, h = 1 / 0, c = -1 / 0, l = 0; l < i.length; l += 2)
a = (o = i[l]) < a ? o : a,
n = n < o ? o : n,
h = (s = i[l + 1]) < h ? s : h,
c = c < s ? s : c;
i.push(a, h, n, h, n, c, a, c);
var m = i.length / 2;
for (l = 0; l < m; l++)
r.push(l)
}
}
,
PIXI.WebGLGraphics.buildPoly = function(e, t) {
var i = e.points;
if (!(i.length < 6)) {
var r = t.points
, o = t.indices
, s = i.length / 2
, a = PIXI.hex2rgb(e.fillColor)
, n = e.fillAlpha
, h = a[0] * n
, c = a[1] * n
, l = a[2] * n
, m = PIXI.EarCut.Triangulate(i, null, 2);
if (!m)
return !1;
var u = r.length / 6
, d = 0;
for (d = 0; d < m.length; d += 3)
o.push(m[d] + u),
o.push(m[d] + u),
o.push(m[d + 1] + u),
o.push(m[d + 2] + u),
o.push(m[d + 2] + u);
for (d = 0; d < s; d++)
r.push(i[2 * d], i[2 * d + 1], h, c, l, n);
return !0
}
}
,
PIXI.WebGLGraphics.graphicsDataPool = [],
PIXI.WebGLGraphicsData = function(e) {
this.gl = e,
this.color = [0, 0, 0],
this.points = [],
this.indices = [],
this.buffer = e.createBuffer(),
this.indexBuffer = e.createBuffer(),
this.mode = 1,
this.alpha = 1,
this.dirty = !0
}
,
PIXI.WebGLGraphicsData.prototype.reset = function() {
this.points = [],
this.indices = []
}
,
PIXI.WebGLGraphicsData.prototype.upload = function() {
var e = this.gl;
this.glPoints = new PIXI.Float32Array(this.points),
e.bindBuffer(e.ARRAY_BUFFER, this.buffer),
e.bufferData(e.ARRAY_BUFFER, this.glPoints, e.STATIC_DRAW),
this.glIndicies = new PIXI.Uint16Array(this.indices),
e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.indexBuffer),
e.bufferData(e.ELEMENT_ARRAY_BUFFER, this.glIndicies, e.STATIC_DRAW),
this.dirty = !1
}
,
PIXI.CanvasGraphics = function() {}
,
PIXI.CanvasGraphics.renderGraphics = function(e, t) {
var i = e.worldAlpha;
e.dirty && (this.updateGraphicsTint(e),
e.dirty = !1);
for (var r = 0; r < e.graphicsData.length; r++) {
var o = e.graphicsData[r]
, s = o.shape
, a = o._fillTint
, n = o._lineTint;
if (t.lineWidth = o.lineWidth,
o.type === PIXI.Graphics.POLY) {
t.beginPath();
var h = s.points;
t.moveTo(h[0], h[1]);
for (var c = 1; c < h.length / 2; c++)
t.lineTo(h[2 * c], h[2 * c + 1]);
s.closed && t.lineTo(h[0], h[1]),
h[0] === h[h.length - 2] && h[1] === h[h.length - 1] && t.closePath(),
o.fill && (t.globalAlpha = o.fillAlpha * i,
t.fillStyle = "#" + ("00000" + (0 | a).toString(16)).substr(-6),
t.fill()),
o.lineWidth && (t.globalAlpha = o.lineAlpha * i,
t.strokeStyle = "#" + ("00000" + (0 | n).toString(16)).substr(-6),
t.stroke())
} else if (o.type === PIXI.Graphics.RECT)
(o.fillColor || 0 === o.fillColor) && (t.globalAlpha = o.fillAlpha * i,
t.fillStyle = "#" + ("00000" + (0 | a).toString(16)).substr(-6),
t.fillRect(s.x, s.y, s.width, s.height)),
o.lineWidth && (t.globalAlpha = o.lineAlpha * i,
t.strokeStyle = "#" + ("00000" + (0 | n).toString(16)).substr(-6),
t.strokeRect(s.x, s.y, s.width, s.height));
else if (o.type === PIXI.Graphics.CIRC)
t.beginPath(),
t.arc(s.x, s.y, s.radius, 0, 2 * Math.PI),
t.closePath(),
o.fill && (t.globalAlpha = o.fillAlpha * i,
t.fillStyle = "#" + ("00000" + (0 | a).toString(16)).substr(-6),
t.fill()),
o.lineWidth && (t.globalAlpha = o.lineAlpha * i,
t.strokeStyle = "#" + ("00000" + (0 | n).toString(16)).substr(-6),
t.stroke());
else if (o.type === PIXI.Graphics.ELIP) {
var l = 2 * s.width
, m = 2 * s.height
, u = s.x - l / 2
, d = s.y - m / 2;
t.beginPath();
var p = l / 2 * .5522848
, f = m / 2 * .5522848
, y = u + l
, S = d + m
, w = u + l / 2
, g = d + m / 2;
t.moveTo(u, g),
t.bezierCurveTo(u, g - f, w - p, d, w, d),
t.bezierCurveTo(w + p, d, y, g - f, y, g),
t.bezierCurveTo(y, g + f, w + p, S, w, S),
t.bezierCurveTo(w - p, S, u, g + f, u, g),
t.closePath(),
o.fill && (t.globalAlpha = o.fillAlpha * i,
t.fillStyle = "#" + ("00000" + (0 | a).toString(16)).substr(-6),
t.fill()),
o.lineWidth && (t.globalAlpha = o.lineAlpha * i,
t.strokeStyle = "#" + ("00000" + (0 | n).toString(16)).substr(-6),
t.stroke())
} else if (o.type === PIXI.Graphics.RREC) {
var x = s.x
, b = s.y
, v = s.width
, z = s.height
, C = s.radius
, T = Math.min(v, z) / 2 | 0;
C = T < C ? T : C,
t.beginPath(),
t.moveTo(x, b + C),
t.lineTo(x, b + z - C),
t.quadraticCurveTo(x, b + z, x + C, b + z),
t.lineTo(x + v - C, b + z),
t.quadraticCurveTo(x + v, b + z, x + v, b + z - C),
t.lineTo(x + v, b + C),
t.quadraticCurveTo(x + v, b, x + v - C, b),
t.lineTo(x + C, b),
t.quadraticCurveTo(x, b, x, b + C),
t.closePath(),
(o.fillColor || 0 === o.fillColor) && (t.globalAlpha = o.fillAlpha * i,
t.fillStyle = "#" + ("00000" + (0 | a).toString(16)).substr(-6),
t.fill()),
o.lineWidth && (t.globalAlpha = o.lineAlpha * i,
t.strokeStyle = "#" + ("00000" + (0 | n).toString(16)).substr(-6),
t.stroke())
}
}
}
,
PIXI.CanvasGraphics.renderGraphicsMask = function(e, t) {
var i = e.graphicsData.length;
if (0 !== i) {
t.beginPath();
for (var r = 0; r < i; r++) {
var o = e.graphicsData[r]
, s = o.shape;
if (o.type === PIXI.Graphics.POLY) {
var a = s.points;
t.moveTo(a[0], a[1]);
for (var n = 1; n < a.length / 2; n++)
t.lineTo(a[2 * n], a[2 * n + 1]);
a[0] === a[a.length - 2] && a[1] === a[a.length - 1] && t.closePath()
} else if (o.type === PIXI.Graphics.RECT)
t.rect(s.x, s.y, s.width, s.height),
t.closePath();
else if (o.type === PIXI.Graphics.CIRC)
t.arc(s.x, s.y, s.radius, 0, 2 * Math.PI),
t.closePath();
else if (o.type === PIXI.Graphics.ELIP) {
var h = 2 * s.width
, c = 2 * s.height
, l = s.x - h / 2
, m = s.y - c / 2
, u = h / 2 * .5522848
, d = c / 2 * .5522848
, p = l + h
, f = m + c
, y = l + h / 2
, S = m + c / 2;
t.moveTo(l, S),
t.bezierCurveTo(l, S - d, y - u, m, y, m),
t.bezierCurveTo(y + u, m, p, S - d, p, S),
t.bezierCurveTo(p, S + d, y + u, f, y, f),
t.bezierCurveTo(y - u, f, l, S + d, l, S),
t.closePath()
} else if (o.type === PIXI.Graphics.RREC) {
var w = s.x
, g = s.y
, x = s.width
, b = s.height
, v = s.radius
, z = Math.min(x, b) / 2 | 0;
v = z < v ? z : v,
t.moveTo(w, g + v),
t.lineTo(w, g + b - v),
t.quadraticCurveTo(w, g + b, w + v, g + b),
t.lineTo(w + x - v, g + b),
t.quadraticCurveTo(w + x, g + b, w + x, g + b - v),
t.lineTo(w + x, g + v),
t.quadraticCurveTo(w + x, g, w + x - v, g),
t.lineTo(w + v, g),
t.quadraticCurveTo(w, g, w, g + v),
t.closePath()
}
}
}
}
,
PIXI.CanvasGraphics.updateGraphicsTint = function(e) {
if (16777215 !== e.tint)
for (var t = (e.tint >> 16 & 255) / 255, i = (e.tint >> 8 & 255) / 255, r = (255 & e.tint) / 255, o = 0; o < e.graphicsData.length; o++) {
var s = e.graphicsData[o]
, a = 0 | s.fillColor
, n = 0 | s.lineColor;
s._fillTint = ((a >> 16 & 255) / 255 * t * 255 << 16) + ((a >> 8 & 255) / 255 * i * 255 << 8) + (255 & a) / 255 * r * 255,
s._lineTint = ((n >> 16 & 255) / 255 * t * 255 << 16) + ((n >> 8 & 255) / 255 * i * 255 << 8) + (255 & n) / 255 * r * 255
}
}
,
W.Graphics = function(e, t, i) {
void 0 === t && (t = 0),
void 0 === i && (i = 0),
this.type = W.GRAPHICS,
this.physicsType = W.SPRITE,
this.anchor = new W.Point,
PIXI.Graphics.call(this),
W.Component.Core.init.call(this, e, t, i, "", null)
}
,
W.Graphics.prototype = Object.create(PIXI.Graphics.prototype),
W.Graphics.prototype.constructor = W.Graphics,
W.Component.Core.install.call(W.Graphics.prototype, ["Angle", "AutoCull", "Bounds", "Destroy", "FixedToCamera", "InputEnabled", "InWorld", "LifeSpan", "PhysicsBody", "Reset"]),
W.Graphics.prototype.preUpdatePhysics = W.Component.PhysicsBody.preUpdate,
W.Graphics.prototype.preUpdateLifeSpan = W.Component.LifeSpan.preUpdate,
W.Graphics.prototype.preUpdateInWorld = W.Component.InWorld.preUpdate,
W.Graphics.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.Graphics.prototype.preUpdate = function() {
return !!(this.preUpdatePhysics() && this.preUpdateLifeSpan() && this.preUpdateInWorld()) && this.preUpdateCore()
}
,
W.Graphics.prototype.postUpdate = function() {
W.Component.PhysicsBody.postUpdate.call(this),
W.Component.FixedToCamera.postUpdate.call(this),
this._boundsDirty && (this.updateLocalBounds(),
this._boundsDirty = !1);
for (var e = 0; e < this.children.length; e++)
this.children[e].postUpdate()
}
,
W.Graphics.prototype.destroy = function(e) {
this.clear(),
W.Component.Destroy.prototype.destroy.call(this, e)
}
,
W.Graphics.prototype.drawTriangle = function(e, t) {
void 0 === t && (t = !1);
var i = new W.Polygon(e);
if (t) {
var r = new W.Point(this.game.camera.x - e[0].x,this.game.camera.y - e[0].y)
, o = new W.Point(e[1].x - e[0].x,e[1].y - e[0].y)
, s = new W.Point(e[1].x - e[2].x,e[1].y - e[2].y).cross(o);
0 < r.dot(s) && this.drawPolygon(i)
} else
this.drawPolygon(i)
}
,
W.Graphics.prototype.drawTriangles = function(e, t, i) {
void 0 === i && (i = !1);
var r, o = new W.Point, s = new W.Point, a = new W.Point, n = [];
if (t)
if (e[0]instanceof W.Point)
for (r = 0; r < t.length / 3; r++)
n.push(e[t[3 * r]]),
n.push(e[t[3 * r + 1]]),
n.push(e[t[3 * r + 2]]),
3 === n.length && (this.drawTriangle(n, i),
n = []);
else
for (r = 0; r < t.length; r++)
o.x = e[2 * t[r]],
o.y = e[2 * t[r] + 1],
n.push(o.copyTo({})),
3 === n.length && (this.drawTriangle(n, i),
n = []);
else if (e[0]instanceof W.Point)
for (r = 0; r < e.length / 3; r++)
this.drawTriangle([e[3 * r], e[3 * r + 1], e[3 * r + 2]], i);
else
for (r = 0; r < e.length / 6; r++)
o.x = e[6 * r + 0],
o.y = e[6 * r + 1],
s.x = e[6 * r + 2],
s.y = e[6 * r + 3],
a.x = e[6 * r + 4],
a.y = e[6 * r + 5],
this.drawTriangle([o, s, a], i)
}
,
W.RenderTexture = function(e, t, i, r, o, s) {
void 0 === r && (r = ""),
void 0 === o && (o = W.scaleModes.DEFAULT),
void 0 === s && (s = 1),
this.game = e,
this.key = r,
this.type = W.RENDERTEXTURE,
this._tempMatrix = new PIXI.Matrix,
PIXI.RenderTexture.call(this, t, i, this.game.renderer, o, s),
this.render = W.RenderTexture.prototype.render
}
,
W.RenderTexture.prototype = Object.create(PIXI.RenderTexture.prototype),
W.RenderTexture.prototype.constructor = W.RenderTexture,
W.RenderTexture.prototype.renderXY = function(e, t, i, r) {
e.updateTransform(),
this._tempMatrix.copyFrom(e.worldTransform),
this._tempMatrix.tx = t,
this._tempMatrix.ty = i,
this.renderer.type === PIXI.WEBGL_RENDERER ? this.renderWebGL(e, this._tempMatrix, r) : this.renderCanvas(e, this._tempMatrix, r)
}
,
W.RenderTexture.prototype.renderRawXY = function(e, t, i, r) {
this._tempMatrix.identity().translate(t, i),
this.renderer.type === PIXI.WEBGL_RENDERER ? this.renderWebGL(e, this._tempMatrix, r) : this.renderCanvas(e, this._tempMatrix, r)
}
,
W.RenderTexture.prototype.render = function(e, t, i) {
null == t ? this._tempMatrix.copyFrom(e.worldTransform) : this._tempMatrix.copyFrom(t),
this.renderer.type === PIXI.WEBGL_RENDERER ? this.renderWebGL(e, this._tempMatrix, i) : this.renderCanvas(e, this._tempMatrix, i)
}
,
W.Text = function(e, t, i, r, o) {
t = t || 0,
i = i || 0,
r = null == r ? "" : r.toString(),
o = W.Utils.extend({}, o),
this.type = W.TEXT,
this.physicsType = W.SPRITE,
this.padding = new W.Point,
this.textBounds = null,
this.canvas = PIXI.CanvasPool.create(this),
this.context = this.canvas.getContext("2d"),
this.colors = [],
this.strokeColors = [],
this.fontStyles = [],
this.fontWeights = [],
this.autoRound = !1,
this.useAdvancedWrap = !1,
this._res = e.renderer.resolution,
this._text = r,
this._fontComponents = null,
this._lineSpacing = 0,
this._charCount = 0,
this._width = 0,
this._height = 0,
W.Sprite.call(this, e, t, i, PIXI.Texture.fromCanvas(this.canvas)),
this.setStyle(o),
"" !== r && this.updateText()
}
,
W.Text.prototype = Object.create(W.Sprite.prototype),
W.Text.prototype.constructor = W.Text,
W.Text.prototype.preUpdate = function() {
return !!(this.preUpdatePhysics() && this.preUpdateLifeSpan() && this.preUpdateInWorld()) && this.preUpdateCore()
}
,
W.Text.prototype.update = function() {}
,
W.Text.prototype.destroy = function(e) {
this.texture.destroy(!0),
W.Component.Destroy.prototype.destroy.call(this, e)
}
,
W.Text.prototype.setShadow = function(e, t, i, r, o, s) {
return void 0 === e && (e = 0),
void 0 === t && (t = 0),
void 0 === i && (i = "rgba(0, 0, 0, 1)"),
void 0 === r && (r = 0),
void 0 === o && (o = !0),
void 0 === s && (s = !0),
this.style.shadowOffsetX = e,
this.style.shadowOffsetY = t,
this.style.shadowColor = i,
this.style.shadowBlur = r,
this.style.shadowStroke = o,
this.style.shadowFill = s,
this.dirty = !0,
this
}
,
W.Text.prototype.setStyle = function(e, t) {
void 0 === t && (t = !1),
(e = e || {}).font = e.font || "bold 20pt Arial",
e.backgroundColor = e.backgroundColor || null,
e.fill = e.fill || "black",
e.align = e.align || "left",
e.boundsAlignH = e.boundsAlignH || "left",
e.boundsAlignV = e.boundsAlignV || "top",
e.stroke = e.stroke || "black",
e.strokeThickness = e.strokeThickness || 0,
e.wordWrap = e.wordWrap || !1,
e.wordWrapWidth = e.wordWrapWidth || 100,
e.maxLines = e.maxLines || 0,
e.shadowOffsetX = e.shadowOffsetX || 0,
e.shadowOffsetY = e.shadowOffsetY || 0,
e.shadowColor = e.shadowColor || "rgba(0,0,0,0)",
e.shadowBlur = e.shadowBlur || 0,
e.tabs = e.tabs || 0;
var i = this.fontToComponents(e.font);
return e.fontStyle && (i.fontStyle = e.fontStyle),
e.fontVariant && (i.fontVariant = e.fontVariant),
e.fontWeight && (i.fontWeight = e.fontWeight),
e.fontSize && ("number" == typeof e.fontSize && (e.fontSize = e.fontSize + "px"),
i.fontSize = e.fontSize),
this._fontComponents = i,
e.font = this.componentsToFont(this._fontComponents),
this.style = e,
this.dirty = !0,
t && this.updateText(),
this
}
,
W.Text.prototype.updateText = function() {
this.texture.baseTexture.resolution = this._res,
this.context.font = this.style.font;
var e = this.text;
this.style.wordWrap && (e = this.runWordWrap(this.text));
var t = e.split(/(?:\r\n|\r|\n)/)
, i = this.style.tabs
, r = []
, o = 0
, s = this.determineFontProperties(this.style.font)
, a = t.length;
0 < this.style.maxLines && this.style.maxLines < t.length && (a = this.style.maxLines);
for (var n = this._charCount = 0; n < a; n++) {
if (0 === i) {
var h = this.style.strokeThickness + this.padding.x;
0 < this.colors.length || 0 < this.strokeColors.length || 0 < this.fontWeights.length || 0 < this.fontStyles.length ? h += this.measureLine(t[n]) : h += this.context.measureText(t[n]).width,
this.style.wordWrap && (h -= this.context.measureText(" ").width)
} else {
var c = t[n].split(/(?:\t)/);
h = this.padding.x + this.style.strokeThickness;
if (Array.isArray(i))
for (var l = 0, m = 0; m < c.length; m++) {
var u = 0;
u = 0 < this.colors.length || 0 < this.strokeColors.length || 0 < this.fontWeights.length || 0 < this.fontStyles.length ? this.measureLine(c[m]) : Math.ceil(this.context.measureText(c[m]).width),
0 < m && (l += i[m - 1]),
h = l + u
}
else
for (m = 0; m < c.length; m++) {
0 < this.colors.length || 0 < this.strokeColors.length || 0 < this.fontWeights.length || 0 < this.fontStyles.length ? h += this.measureLine(c[m]) : h += Math.ceil(this.context.measureText(c[m]).width),
h += this.game.math.snapToCeil(h, i) - h
}
}
r[n] = Math.ceil(h),
o = Math.max(o, r[n])
}
this.canvas.width = o * this._res;
var d, p, f = s.fontSize + this.style.strokeThickness + this.padding.y, y = f * a, S = this._lineSpacing;
for (S < 0 && Math.abs(S) > f && (S = -f),
0 !== S && (y += 0 < S ? S * t.length : S * (t.length - 1)),
this.canvas.height = y * this._res,
this.context.scale(this._res, this._res),
navigator.isCocoonJS && this.context.clearRect(0, 0, this.canvas.width, this.canvas.height),
this.style.backgroundColor && (this.context.fillStyle = this.style.backgroundColor,
this.context.fillRect(0, 0, this.canvas.width, this.canvas.height)),
this.context.fillStyle = this.style.fill,
this.context.font = this.style.font,
this.context.strokeStyle = this.style.stroke,
this.context.textBaseline = "alphabetic",
this.context.lineWidth = this.style.strokeThickness,
this.context.lineCap = "round",
this.context.lineJoin = "round",
n = this._charCount = 0; n < a; n++)
d = this.style.strokeThickness / 2,
p = this.style.strokeThickness / 2 + n * f + s.ascent,
0 < n && (p += S * n),
"right" === this.style.align ? d += o - r[n] : "center" === this.style.align && (d += (o - r[n]) / 2),
this.autoRound && (d = Math.round(d),
p = Math.round(p)),
0 < this.colors.length || 0 < this.strokeColors.length || 0 < this.fontWeights.length || 0 < this.fontStyles.length ? this.updateLine(t[n], d, p) : (this.style.stroke && this.style.strokeThickness && (this.updateShadow(this.style.shadowStroke),
0 === i ? this.context.strokeText(t[n], d, p) : this.renderTabLine(t[n], d, p, !1)),
this.style.fill && (this.updateShadow(this.style.shadowFill),
0 === i ? this.context.fillText(t[n], d, p) : this.renderTabLine(t[n], d, p, !0)));
this.updateTexture(),
this.dirty = !1
}
,
W.Text.prototype.renderTabLine = function(e, t, i, r) {
var o = e.split(/(?:\t)/)
, s = this.style.tabs
, a = 0;
if (Array.isArray(s))
for (var n = 0, h = 0; h < o.length; h++)
0 < h && (n += s[h - 1]),
a = t + n,
r ? this.context.fillText(o[h], a, i) : this.context.strokeText(o[h], a, i);
else
for (h = 0; h < o.length; h++) {
var c = Math.ceil(this.context.measureText(o[h]).width);
a = this.game.math.snapToCeil(t, s),
r ? this.context.fillText(o[h], a, i) : this.context.strokeText(o[h], a, i),
t = a + c
}
}
,
W.Text.prototype.updateShadow = function(e) {
e ? (this.context.shadowOffsetX = this.style.shadowOffsetX,
this.context.shadowOffsetY = this.style.shadowOffsetY,
this.context.shadowColor = this.style.shadowColor,
this.context.shadowBlur = this.style.shadowBlur) : (this.context.shadowOffsetX = 0,
this.context.shadowOffsetY = 0,
this.context.shadowColor = 0,
this.context.shadowBlur = 0)
}
,
W.Text.prototype.measureLine = function(e) {
for (var t = 0, i = 0; i < e.length; i++) {
var r = e[i];
if (0 < this.fontWeights.length || 0 < this.fontStyles.length) {
var o = this.fontToComponents(this.context.font);
this.fontStyles[this._charCount] && (o.fontStyle = this.fontStyles[this._charCount]),
this.fontWeights[this._charCount] && (o.fontWeight = this.fontWeights[this._charCount]),
this.context.font = this.componentsToFont(o)
}
this.style.stroke && this.style.strokeThickness && (this.strokeColors[this._charCount] && (this.context.strokeStyle = this.strokeColors[this._charCount]),
this.updateShadow(this.style.shadowStroke)),
this.style.fill && (this.colors[this._charCount] && (this.context.fillStyle = this.colors[this._charCount]),
this.updateShadow(this.style.shadowFill)),
t += this.context.measureText(r).width,
this._charCount++
}
return Math.ceil(t)
}
,
W.Text.prototype.updateLine = function(e, t, i) {
for (var r = 0; r < e.length; r++) {
var o = e[r];
if (0 < this.fontWeights.length || 0 < this.fontStyles.length) {
var s = this.fontToComponents(this.context.font);
this.fontStyles[this._charCount] && (s.fontStyle = this.fontStyles[this._charCount]),
this.fontWeights[this._charCount] && (s.fontWeight = this.fontWeights[this._charCount]),
this.context.font = this.componentsToFont(s)
}
this.style.stroke && this.style.strokeThickness && (this.strokeColors[this._charCount] && (this.context.strokeStyle = this.strokeColors[this._charCount]),
this.updateShadow(this.style.shadowStroke),
this.context.strokeText(o, t, i)),
this.style.fill && (this.colors[this._charCount] && (this.context.fillStyle = this.colors[this._charCount]),
this.updateShadow(this.style.shadowFill),
this.context.fillText(o, t, i)),
t += this.context.measureText(o).width,
this._charCount++
}
}
,
W.Text.prototype.clearColors = function() {
return this.colors = [],
this.strokeColors = [],
this.dirty = !0,
this
}
,
W.Text.prototype.clearFontValues = function() {
return this.fontStyles = [],
this.fontWeights = [],
this.dirty = !0,
this
}
,
W.Text.prototype.addColor = function(e, t) {
return this.colors[t] = e,
this.dirty = !0,
this
}
,
W.Text.prototype.addStrokeColor = function(e, t) {
return this.strokeColors[t] = e,
this.dirty = !0,
this
}
,
W.Text.prototype.addFontStyle = function(e, t) {
return this.fontStyles[t] = e,
this.dirty = !0,
this
}
,
W.Text.prototype.addFontWeight = function(e, t) {
return this.fontWeights[t] = e,
this.dirty = !0,
this
}
,
W.Text.prototype.precalculateWordWrap = function(e) {
return this.texture.baseTexture.resolution = this._res,
this.context.font = this.style.font,
this.runWordWrap(e).split(/(?:\r\n|\r|\n)/)
}
,
W.Text.prototype.runWordWrap = function(e) {
return this.useAdvancedWrap ? this.advancedWordWrap(e) : this.basicWordWrap(e)
}
,
W.Text.prototype.advancedWordWrap = function(e) {
for (var t = this.context, i = this.style.wordWrapWidth, r = "", o = e.replace(/ +/gi, " ").split(/\r?\n/gi), s = o.length, a = 0; a < s; a++) {
var n = o[a]
, h = "";
if (n = n.replace(/^ *|\s*$/gi, ""),
t.measureText(n).width < i)
r += n + "\n";
else {
for (var c = i, l = n.split(" "), m = 0; m < l.length; m++) {
var u = l[m]
, d = u + " "
, p = t.measureText(d).width;
if (c < p) {
if (0 === m) {
for (var f = d; f.length && (f = f.slice(0, -1),
!((p = t.measureText(f).width) <= c)); )
;
if (!f.length)
throw new Error("This text's wordWrapWidth setting is less than a single character!");
var y = u.substr(f.length);
l[m] = y,
h += f
}
var S = l[m].length ? m : m + 1
, w = l.slice(S).join(" ").replace(/[ \n]*$/gi, "");
o[a + 1] = w + " " + (o[a + 1] || ""),
s = o.length;
break
}
h += d,
c -= p
}
r += h.replace(/[ \n]*$/gi, "") + "\n"
}
}
return r = r.replace(/[\s|\n]*$/gi, "")
}
,
W.Text.prototype.basicWordWrap = function(e) {
for (var t = "", i = e.split("\n"), r = 0; r < i.length; r++) {
for (var o = this.style.wordWrapWidth, s = i[r].split(" "), a = 0; a < s.length; a++) {
var n = this.context.measureText(s[a]).width
, h = n + this.context.measureText(" ").width;
o < h ? (0 < a && (t += "\n"),
t += s[a] + " ",
o = this.style.wordWrapWidth - n) : (o -= h,
t += s[a] + " ")
}
r < i.length - 1 && (t += "\n")
}
return t
}
,
W.Text.prototype.updateFont = function(e) {
var t = this.componentsToFont(e);
this.style.font !== t && (this.style.font = t,
this.dirty = !0,
this.parent && this.updateTransform())
}
,
W.Text.prototype.fontToComponents = function(e) {
var t = e.match(/^\s*(?:\b(normal|italic|oblique|inherit)?\b)\s*(?:\b(normal|small-caps|inherit)?\b)\s*(?:\b(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit)?\b)\s*(?:\b(xx-small|x-small|small|medium|large|x-large|xx-large|larger|smaller|0|\d*(?:[.]\d*)?(?:%|[a-z]{2,5}))?\b)\s*(.*)\s*$/);
if (t) {
var i = t[5].trim();
return /^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(i) || /['",]/.exec(i) || (i = "'" + i + "'"),
{
font: e,
fontStyle: t[1] || "normal",
fontVariant: t[2] || "normal",
fontWeight: t[3] || "normal",
fontSize: t[4] || "medium",
fontFamily: i
}
}
return {
font: e
}
}
,
W.Text.prototype.componentsToFont = function(e) {
var t, i = [];
return (t = e.fontStyle) && "normal" !== t && i.push(t),
(t = e.fontVariant) && "normal" !== t && i.push(t),
(t = e.fontWeight) && "normal" !== t && i.push(t),
(t = e.fontSize) && "medium" !== t && i.push(t),
(t = e.fontFamily) && i.push(t),
i.length || i.push(e.font),
i.join(" ")
}
,
W.Text.prototype.setText = function(e, t) {
return void 0 === t && (t = !1),
this.text = e.toString() || "",
t ? this.updateText() : this.dirty = !0,
this
}
,
W.Text.prototype.parseList = function(e) {
if (!Array.isArray(e))
return this;
for (var t = "", i = 0; i < e.length; i++)
Array.isArray(e[i]) ? (t += e[i].join("\t"),
i < e.length - 1 && (t += "\n")) : (t += e[i],
i < e.length - 1 && (t += "\t"));
return this.text = t,
this.dirty = !0,
this
}
,
W.Text.prototype.setTextBounds = function(e, t, i, r) {
return void 0 === e ? this.textBounds = null : (this.textBounds ? this.textBounds.setTo(e, t, i, r) : this.textBounds = new W.Rectangle(e,t,i,r),
this.style.wordWrapWidth > i && (this.style.wordWrapWidth = i)),
this.updateTexture(),
this
}
,
W.Text.prototype.updateTexture = function() {
var e = this.texture.baseTexture
, t = this.texture.crop
, i = this.texture.frame
, r = this.canvas.width
, o = this.canvas.height;
if (e.width = r,
e.height = o,
t.width = r,
t.height = o,
i.width = r,
i.height = o,
this.texture.width = r,
this.texture.height = o,
this._width = r,
this._height = o,
this.textBounds) {
var s = this.textBounds.x
, a = this.textBounds.y;
"right" === this.style.boundsAlignH ? s += this.textBounds.width - this.canvas.width / this.resolution : "center" === this.style.boundsAlignH && (s += this.textBounds.halfWidth - this.canvas.width / this.resolution / 2),
"bottom" === this.style.boundsAlignV ? a += this.textBounds.height - this.canvas.height / this.resolution : "middle" === this.style.boundsAlignV && (a += this.textBounds.halfHeight - this.canvas.height / this.resolution / 2),
this.pivot.x = -s,
this.pivot.y = -a
}
this.renderable = 0 !== r && 0 !== o,
this.texture.requiresReTint = !0,
this.texture.baseTexture.dirty()
}
,
W.Text.prototype._renderWebGL = function(e) {
this.dirty && (this.updateText(),
this.dirty = !1),
PIXI.Sprite.prototype._renderWebGL.call(this, e)
}
,
W.Text.prototype._renderCanvas = function(e) {
this.dirty && (this.updateText(),
this.dirty = !1),
PIXI.Sprite.prototype._renderCanvas.call(this, e)
}
,
W.Text.prototype.determineFontProperties = function(e) {
var t = W.Text.fontPropertiesCache[e];
if (!t) {
t = {};
var i = W.Text.fontPropertiesCanvas
, r = W.Text.fontPropertiesContext;
r.font = e;
var o = Math.ceil(r.measureText("|MÉq").width)
, s = Math.ceil(r.measureText("|MÉq").width)
, a = 2 * s;
if (s = 1.4 * s | 0,
i.width = o,
i.height = a,
r.fillStyle = "#f00",
r.fillRect(0, 0, o, a),
r.font = e,
r.textBaseline = "alphabetic",
r.fillStyle = "#000",
r.fillText("|MÉq", 0, s),
!r.getImageData(0, 0, o, a))
return t.ascent = s,
t.descent = s + 6,
t.fontSize = t.ascent + t.descent,
W.Text.fontPropertiesCache[e] = t;
var n, h, c = r.getImageData(0, 0, o, a).data, l = c.length, m = 4 * o, u = 0, d = !1;
for (n = 0; n < s; n++) {
for (h = 0; h < m; h += 4)
if (255 !== c[u + h]) {
d = !0;
break
}
if (d)
break;
u += m
}
for (t.ascent = s - n,
u = l - m,
d = !1,
n = a; s < n; n--) {
for (h = 0; h < m; h += 4)
if (255 !== c[u + h]) {
d = !0;
break
}
if (d)
break;
u -= m
}
t.descent = n - s,
t.descent += 6,
t.fontSize = t.ascent + t.descent,
W.Text.fontPropertiesCache[e] = t
}
return t
}
,
W.Text.prototype.getBounds = function(e) {
return this.dirty && (this.updateText(),
this.dirty = !1),
PIXI.Sprite.prototype.getBounds.call(this, e)
}
,
Object.defineProperty(W.Text.prototype, "text", {
get: function() {
return this._text
},
set: function(e) {
e !== this._text && (this._text = e.toString() || "",
this.dirty = !0,
this.parent && this.updateTransform())
}
}),
Object.defineProperty(W.Text.prototype, "cssFont", {
get: function() {
return this.componentsToFont(this._fontComponents)
},
set: function(e) {
e = e || "bold 20pt Arial",
this._fontComponents = this.fontToComponents(e),
this.updateFont(this._fontComponents)
}
}),
Object.defineProperty(W.Text.prototype, "font", {
get: function() {
return this._fontComponents.fontFamily
},
set: function(e) {
e = (e = e || "Arial").trim(),
/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(e) || /['",]/.exec(e) || (e = "'" + e + "'"),
this._fontComponents.fontFamily = e,
this.updateFont(this._fontComponents)
}
}),
Object.defineProperty(W.Text.prototype, "fontSize", {
get: function() {
var e = this._fontComponents.fontSize;
return e && /(?:^0$|px$)/.exec(e) ? parseInt(e, 10) : e
},
set: function(e) {
"number" == typeof (e = e || "0") && (e += "px"),
this._fontComponents.fontSize = e,
this.updateFont(this._fontComponents)
}
}),
Object.defineProperty(W.Text.prototype, "fontWeight", {
get: function() {
return this._fontComponents.fontWeight || "normal"
},
set: function(e) {
e = e || "normal",
this._fontComponents.fontWeight = e,
this.updateFont(this._fontComponents)
}
}),
Object.defineProperty(W.Text.prototype, "fontStyle", {
get: function() {
return this._fontComponents.fontStyle || "normal"
},
set: function(e) {
e = e || "normal",
this._fontComponents.fontStyle = e,
this.updateFont(this._fontComponents)
}
}),
Object.defineProperty(W.Text.prototype, "fontVariant", {
get: function() {
return this._fontComponents.fontVariant || "normal"
},
set: function(e) {
e = e || "normal",
this._fontComponents.fontVariant = e,
this.updateFont(this._fontComponents)
}
}),
Object.defineProperty(W.Text.prototype, "fill", {
get: function() {
return this.style.fill
},
set: function(e) {
e !== this.style.fill && (this.style.fill = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "align", {
get: function() {
return this.style.align
},
set: function(e) {
e !== this.style.align && (this.style.align = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "resolution", {
get: function() {
return this._res
},
set: function(e) {
e !== this._res && (this._res = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "tabs", {
get: function() {
return this.style.tabs
},
set: function(e) {
e !== this.style.tabs && (this.style.tabs = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "boundsAlignH", {
get: function() {
return this.style.boundsAlignH
},
set: function(e) {
e !== this.style.boundsAlignH && (this.style.boundsAlignH = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "boundsAlignV", {
get: function() {
return this.style.boundsAlignV
},
set: function(e) {
e !== this.style.boundsAlignV && (this.style.boundsAlignV = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "stroke", {
get: function() {
return this.style.stroke
},
set: function(e) {
e !== this.style.stroke && (this.style.stroke = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "strokeThickness", {
get: function() {
return this.style.strokeThickness
},
set: function(e) {
e !== this.style.strokeThickness && (this.style.strokeThickness = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "wordWrap", {
get: function() {
return this.style.wordWrap
},
set: function(e) {
e !== this.style.wordWrap && (this.style.wordWrap = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "wordWrapWidth", {
get: function() {
return this.style.wordWrapWidth
},
set: function(e) {
e !== this.style.wordWrapWidth && (this.style.wordWrapWidth = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "lineSpacing", {
get: function() {
return this._lineSpacing
},
set: function(e) {
e !== this._lineSpacing && (this._lineSpacing = parseFloat(e),
this.dirty = !0,
this.parent && this.updateTransform())
}
}),
Object.defineProperty(W.Text.prototype, "shadowOffsetX", {
get: function() {
return this.style.shadowOffsetX
},
set: function(e) {
e !== this.style.shadowOffsetX && (this.style.shadowOffsetX = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "shadowOffsetY", {
get: function() {
return this.style.shadowOffsetY
},
set: function(e) {
e !== this.style.shadowOffsetY && (this.style.shadowOffsetY = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "shadowColor", {
get: function() {
return this.style.shadowColor
},
set: function(e) {
e !== this.style.shadowColor && (this.style.shadowColor = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "shadowBlur", {
get: function() {
return this.style.shadowBlur
},
set: function(e) {
e !== this.style.shadowBlur && (this.style.shadowBlur = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "shadowStroke", {
get: function() {
return this.style.shadowStroke
},
set: function(e) {
e !== this.style.shadowStroke && (this.style.shadowStroke = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "shadowFill", {
get: function() {
return this.style.shadowFill
},
set: function(e) {
e !== this.style.shadowFill && (this.style.shadowFill = e,
this.dirty = !0)
}
}),
Object.defineProperty(W.Text.prototype, "width", {
get: function() {
return this.dirty && (this.updateText(),
this.dirty = !1),
this.scale.x * this.texture.frame.width
},
set: function(e) {
this.scale.x = e / this.texture.frame.width,
this._width = e
}
}),
Object.defineProperty(W.Text.prototype, "height", {
get: function() {
return this.dirty && (this.updateText(),
this.dirty = !1),
this.scale.y * this.texture.frame.height
},
set: function(e) {
this.scale.y = e / this.texture.frame.height,
this._height = e
}
}),
W.Text.fontPropertiesCache = {},
W.Text.fontPropertiesCanvas = document.createElement("canvas"),
W.Text.fontPropertiesContext = W.Text.fontPropertiesCanvas.getContext("2d"),
W.BitmapText = function(e, t, i, r, o, s, a) {
t = t || 0,
i = i || 0,
r = r || "",
o = o || "",
s = s || 32,
a = a || "left",
PIXI.DisplayObjectContainer.call(this),
this.type = W.BITMAPTEXT,
this.physicsType = W.SPRITE,
this.textWidth = 0,
this.textHeight = 0,
this.anchor = new W.Point,
this._prevAnchor = new W.Point,
this._glyphs = [],
this._maxWidth = 0,
this._text = o.toString() || "",
this._data = e.cache.getBitmapFont(r),
this._font = r,
this._fontSize = s,
this._align = a,
this._tint = 16777215,
this.updateText(),
this.dirty = !1,
W.Component.Core.init.call(this, e, t, i, "", null)
}
,
W.BitmapText.prototype = Object.create(PIXI.DisplayObjectContainer.prototype),
W.BitmapText.prototype.constructor = W.BitmapText,
W.Component.Core.install.call(W.BitmapText.prototype, ["Angle", "AutoCull", "Bounds", "Destroy", "FixedToCamera", "InputEnabled", "InWorld", "LifeSpan", "PhysicsBody", "Reset"]),
W.BitmapText.prototype.preUpdatePhysics = W.Component.PhysicsBody.preUpdate,
W.BitmapText.prototype.preUpdateLifeSpan = W.Component.LifeSpan.preUpdate,
W.BitmapText.prototype.preUpdateInWorld = W.Component.InWorld.preUpdate,
W.BitmapText.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.BitmapText.prototype.preUpdate = function() {
return !!(this.preUpdatePhysics() && this.preUpdateLifeSpan() && this.preUpdateInWorld()) && this.preUpdateCore()
}
,
W.BitmapText.prototype.postUpdate = function() {
W.Component.PhysicsBody.postUpdate.call(this),
W.Component.FixedToCamera.postUpdate.call(this),
this.body && this.body.type === W.Physics.ARCADE && (this.textWidth === this.body.sourceWidth && this.textHeight === this.body.sourceHeight || this.body.setSize(this.textWidth, this.textHeight))
}
,
W.BitmapText.prototype.setText = function(e) {
this.text = e
}
,
W.BitmapText.prototype.scanLine = function(e, t, i) {
for (var r = 0, o = 0, s = -1, a = 0, n = null, h = 0 < this._maxWidth ? this._maxWidth : null, c = [], l = 0; l < i.length; l++) {
var m = l === i.length - 1;
if (/(?:\r\n|\r|\n)/.test(i.charAt(l)))
return {
width: o,
text: i.substr(0, l),
end: m,
chars: c
};
var u, d = i.charCodeAt(l), p = e.chars[d];
void 0 === p && (d = 32,
p = e.chars[d]);
var f = n && p.kerning[n] ? p.kerning[n] : 0;
if (/(\s)/.test(i.charAt(l)) && (s = l,
a = o),
u = (f + p.texture.width + p.xOffset) * t,
h && h <= o + u && -1 < s)
return {
width: a || o,
text: i.substr(0, l - (l - s)),
end: m,
chars: c
};
o += (p.xAdvance + f) * t,
c.push(r + (p.xOffset + f) * t),
r += (p.xAdvance + f) * t,
n = d
}
return {
width: o,
text: i,
end: m,
chars: c
}
}
,
W.BitmapText.prototype.cleanText = function(e, t) {
void 0 === t && (t = "");
var i = this._data.font;
if (!i)
return "";
for (var r = e.replace(/\r\n|\n\r|\n|\r/g, "\n").split("\n"), o = 0; o < r.length; o++) {
for (var s = "", a = r[o], n = 0; n < a.length; n++)
s = i.chars[a.charCodeAt(n)] ? s.concat(a[n]) : s.concat(t);
r[o] = s
}
return r.join("\n")
}
,
W.BitmapText.prototype.updateText = function() {
var e = this._data.font;
if (e) {
var t = this.text
, i = this._fontSize / e.size
, r = []
, o = 0;
this.textWidth = 0;
do {
(l = this.scanLine(e, i, t)).y = o,
r.push(l),
l.width > this.textWidth && (this.textWidth = l.width),
o += e.lineHeight * i,
t = t.substr(l.text.length + 1)
} while (!1 === l.end);
this.textHeight = o;
for (var s = 0, a = 0, n = this.textWidth * this.anchor.x, h = this.textHeight * this.anchor.y, c = 0; c < r.length; c++) {
var l = r[c];
"right" === this._align ? a = this.textWidth - l.width : "center" === this._align && (a = (this.textWidth - l.width) / 2);
for (var m = 0; m < l.text.length; m++) {
var u = l.text.charCodeAt(m)
, d = e.chars[u];
void 0 === d && (u = 32,
d = e.chars[u]);
var p = this._glyphs[s];
p ? p.texture = d.texture : ((p = new PIXI.Sprite(d.texture)).name = l.text[m],
this._glyphs.push(p)),
p.position.x = l.chars[m] + a - n,
p.position.y = l.y + d.yOffset * i - h,
p.scale.set(i),
p.tint = this.tint,
p.texture.requiresReTint = !0,
p.parent || this.addChild(p),
s++
}
}
for (c = s; c < this._glyphs.length; c++)
this.removeChild(this._glyphs[c])
}
}
,
W.BitmapText.prototype.purgeGlyphs = function() {
for (var e = this._glyphs.length, t = [], i = 0; i < this._glyphs.length; i++)
this._glyphs[i].parent !== this ? this._glyphs[i].destroy() : t.push(this._glyphs[i]);
return this._glyphs = [],
this._glyphs = t,
this.updateText(),
e - t.length
}
,
W.BitmapText.prototype.updateTransform = function() {
!this.dirty && this.anchor.equals(this._prevAnchor) || (this.updateText(),
this.dirty = !1,
this._prevAnchor.copyFrom(this.anchor)),
PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)
}
,
Object.defineProperty(W.BitmapText.prototype, "align", {
get: function() {
return this._align
},
set: function(e) {
e === this._align || "left" !== e && "center" !== e && "right" !== e || (this._align = e,
this.updateText())
}
}),
Object.defineProperty(W.BitmapText.prototype, "tint", {
get: function() {
return this._tint
},
set: function(e) {
e !== this._tint && (this._tint = e,
this.updateText())
}
}),
Object.defineProperty(W.BitmapText.prototype, "font", {
get: function() {
return this._font
},
set: function(e) {
e !== this._font && (this._font = e.trim(),
this._data = this.game.cache.getBitmapFont(this._font),
this.updateText())
}
}),
Object.defineProperty(W.BitmapText.prototype, "fontSize", {
get: function() {
return this._fontSize
},
set: function(e) {
(e = parseInt(e, 10)) !== this._fontSize && 0 < e && (this._fontSize = e,
this.updateText())
}
}),
Object.defineProperty(W.BitmapText.prototype, "text", {
get: function() {
return this._text
},
set: function(e) {
e !== this._text && (this._text = e.toString() || "",
this.updateText())
}
}),
Object.defineProperty(W.BitmapText.prototype, "maxWidth", {
get: function() {
return this._maxWidth
},
set: function(e) {
e !== this._maxWidth && (this._maxWidth = e,
this.updateText())
}
}),
Object.defineProperty(W.BitmapText.prototype, "smoothed", {
get: function() {
return !this._data.base.scaleMode
},
set: function(e) {
this._data.base.scaleMode = e ? 0 : 1
}
}),
W.RetroFont = function(e, t, i, r, o, s, a, n, h, c) {
if (!e.cache.checkImageKey(t))
return !1;
null == s && (s = e.cache.getImage(t).width / i),
this.characterWidth = i,
this.characterHeight = r,
this.characterSpacingX = a || 0,
this.characterSpacingY = n || 0,
this.characterPerRow = s,
this.offsetX = h || 0,
this.offsetY = c || 0,
this.align = "left",
this.multiLine = !1,
this.autoUpperCase = !0,
this.customSpacingX = 0,
this.customSpacingY = 0,
this.fixedWidth = 0,
this.fontSet = e.cache.getImage(t),
this._text = "",
this.grabData = [],
this.frameData = new W.FrameData;
for (var l = this.offsetX, m = this.offsetY, u = 0, d = 0; d < o.length; d++) {
var p = this.frameData.addFrame(new W.Frame(d,l,m,this.characterWidth,this.characterHeight));
this.grabData[o.charCodeAt(d)] = p.index,
++u === this.characterPerRow ? (u = 0,
l = this.offsetX,
m += this.characterHeight + this.characterSpacingY) : l += this.characterWidth + this.characterSpacingX
}
e.cache.updateFrameData(t, this.frameData),
this.stamp = new W.Image(e,0,0,t,0),
W.RenderTexture.call(this, e, 100, 100, "", W.scaleModes.NEAREST),
this.type = W.RETROFONT
}
,
W.RetroFont.prototype = Object.create(W.RenderTexture.prototype),
W.RetroFont.prototype.constructor = W.RetroFont,
W.RetroFont.ALIGN_LEFT = "left",
W.RetroFont.ALIGN_RIGHT = "right",
W.RetroFont.ALIGN_CENTER = "center",
W.RetroFont.TEXT_SET1 = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",
W.RetroFont.TEXT_SET2 = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",
W.RetroFont.TEXT_SET3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",
W.RetroFont.TEXT_SET4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",
W.RetroFont.TEXT_SET5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",
W.RetroFont.TEXT_SET6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",
W.RetroFont.TEXT_SET7 = "AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",
W.RetroFont.TEXT_SET8 = "0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",
W.RetroFont.TEXT_SET9 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",
W.RetroFont.TEXT_SET10 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
W.RetroFont.TEXT_SET11 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",
W.RetroFont.prototype.setFixedWidth = function(e, t) {
void 0 === t && (t = "left"),
this.fixedWidth = e,
this.align = t
}
,
W.RetroFont.prototype.setText = function(e, t, i, r, o, s) {
this.multiLine = t || !1,
this.customSpacingX = i || 0,
this.customSpacingY = r || 0,
this.align = o || "left",
this.autoUpperCase = !s,
0 < e.length && (this.text = e)
}
,
W.RetroFont.prototype.buildRetroFontText = function() {
var e = 0
, t = 0;
if (this.clear(),
this.multiLine) {
var i = this._text.split("\n");
0 < this.fixedWidth ? this.resize(this.fixedWidth, i.length * (this.characterHeight + this.customSpacingY) - this.customSpacingY, !0) : this.resize(this.getLongestLine() * (this.characterWidth + this.customSpacingX), i.length * (this.characterHeight + this.customSpacingY) - this.customSpacingY, !0);
for (var r = 0; r < i.length; r++)
e = 0,
this.align === W.RetroFont.ALIGN_RIGHT ? e = this.width - i[r].length * (this.characterWidth + this.customSpacingX) : this.align === W.RetroFont.ALIGN_CENTER && (e = this.width / 2 - i[r].length * (this.characterWidth + this.customSpacingX) / 2,
e += this.customSpacingX / 2),
e < 0 && (e = 0),
this.pasteLine(i[r], e, t, this.customSpacingX),
t += this.characterHeight + this.customSpacingY
} else
0 < this.fixedWidth ? this.resize(this.fixedWidth, this.characterHeight, !0) : this.resize(this._text.length * (this.characterWidth + this.customSpacingX), this.characterHeight, !0),
e = 0,
this.align === W.RetroFont.ALIGN_RIGHT ? e = this.width - this._text.length * (this.characterWidth + this.customSpacingX) : this.align === W.RetroFont.ALIGN_CENTER && (e = this.width / 2 - this._text.length * (this.characterWidth + this.customSpacingX) / 2,
e += this.customSpacingX / 2),
e < 0 && (e = 0),
this.pasteLine(this._text, e, 0, this.customSpacingX);
this.requiresReTint = !0
}
,
W.RetroFont.prototype.pasteLine = function(e, t, i, r) {
for (var o = 0; o < e.length; o++)
if (" " === e.charAt(o))
t += this.characterWidth + r;
else if (0 <= this.grabData[e.charCodeAt(o)] && (this.stamp.frame = this.grabData[e.charCodeAt(o)],
this.renderXY(this.stamp, t, i, !1),
(t += this.characterWidth + r) > this.width))
break
}
,
W.RetroFont.prototype.getLongestLine = function() {
var e = 0;
if (0 < this._text.length)
for (var t = this._text.split("\n"), i = 0; i < t.length; i++)
t[i].length > e && (e = t[i].length);
return e
}
,
W.RetroFont.prototype.removeUnsupportedCharacters = function(e) {
for (var t = "", i = 0; i < this._text.length; i++) {
var r = this._text[i]
, o = r.charCodeAt(0);
(0 <= this.grabData[o] || !e && "\n" === r) && (t = t.concat(r))
}
return t
}
,
W.RetroFont.prototype.updateOffset = function(e, t) {
if (this.offsetX !== e || this.offsetY !== t) {
for (var i = e - this.offsetX, r = t - this.offsetY, o = this.game.cache.getFrameData(this.stamp.key).getFrames(), s = o.length; s--; )
o[s].x += i,
o[s].y += r;
this.buildRetroFontText()
}
}
,
Object.defineProperty(W.RetroFont.prototype, "text", {
get: function() {
return this._text
},
set: function(e) {
var t;
(t = this.autoUpperCase ? e.toUpperCase() : e) !== this._text && (this._text = t,
this.removeUnsupportedCharacters(this.multiLine),
this.buildRetroFontText())
}
}),
Object.defineProperty(W.RetroFont.prototype, "smoothed", {
get: function() {
return this.stamp.smoothed
},
set: function(e) {
this.stamp.smoothed = e,
this.buildRetroFontText()
}
}),
W.Rope = function(e, t, i, r, o, s) {
this.points = [],
this.points = s,
this._hasUpdateAnimation = !1,
this._updateAnimationCallback = null,
t = t || 0,
i = i || 0,
r = r || null,
o = o || null,
this.type = W.ROPE,
PIXI.Rope.call(this, W.Cache.DEFAULT, this.points),
W.Component.Core.init.call(this, e, t, i, r, o)
}
,
W.Rope.prototype = Object.create(PIXI.Rope.prototype),
W.Rope.prototype.constructor = W.Rope,
W.Component.Core.install.call(W.Rope.prototype, ["Angle", "Animation", "AutoCull", "Bounds", "BringToTop", "Crop", "Delta", "Destroy", "FixedToCamera", "InWorld", "LifeSpan", "LoadTexture", "Overlap", "PhysicsBody", "Reset", "ScaleMinMax", "Smoothed"]),
W.Rope.prototype.preUpdatePhysics = W.Component.PhysicsBody.preUpdate,
W.Rope.prototype.preUpdateLifeSpan = W.Component.LifeSpan.preUpdate,
W.Rope.prototype.preUpdateInWorld = W.Component.InWorld.preUpdate,
W.Rope.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.Rope.prototype.preUpdate = function() {
return !!(this.preUpdatePhysics() && this.preUpdateLifeSpan() && this.preUpdateInWorld()) && this.preUpdateCore()
}
,
W.Rope.prototype.update = function() {
this._hasUpdateAnimation && this.updateAnimation.call(this)
}
,
W.Rope.prototype.reset = function(e, t) {
return W.Component.Reset.prototype.reset.call(this, e, t),
this
}
,
Object.defineProperty(W.Rope.prototype, "updateAnimation", {
get: function() {
return this._updateAnimation
},
set: function(e) {
e && "function" == typeof e ? (this._hasUpdateAnimation = !0,
this._updateAnimation = e) : (this._hasUpdateAnimation = !1,
this._updateAnimation = null)
}
}),
Object.defineProperty(W.Rope.prototype, "segments", {
get: function() {
for (var e, t, i, r, o, s, a, n, h = [], c = 0; c < this.points.length; c++)
e = 4 * c,
t = this.vertices[e] * this.scale.x,
i = this.vertices[e + 1] * this.scale.y,
r = this.vertices[e + 4] * this.scale.x,
o = this.vertices[e + 3] * this.scale.y,
s = W.Math.difference(t, r),
a = W.Math.difference(i, o),
t += this.world.x,
i += this.world.y,
n = new W.Rectangle(t,i,s,a),
h.push(n);
return h
}
}),
W.TileSprite = function(e, t, i, r, o, s, a) {
t = t || 0,
i = i || 0,
r = r || 256,
o = o || 256,
s = s || null,
a = a || null,
this.type = W.TILESPRITE,
this.physicsType = W.SPRITE,
this._scroll = new W.Point;
var n = e.cache.getImage("__default", !0);
PIXI.TilingSprite.call(this, new PIXI.Texture(n.base), r, o),
W.Component.Core.init.call(this, e, t, i, s, a)
}
,
W.TileSprite.prototype = Object.create(PIXI.TilingSprite.prototype),
W.TileSprite.prototype.constructor = W.TileSprite,
W.Component.Core.install.call(W.TileSprite.prototype, ["Angle", "Animation", "AutoCull", "Bounds", "BringToTop", "Destroy", "FixedToCamera", "Health", "InCamera", "InputEnabled", "InWorld", "LifeSpan", "LoadTexture", "Overlap", "PhysicsBody", "Reset", "Smoothed"]),
W.TileSprite.prototype.preUpdatePhysics = W.Component.PhysicsBody.preUpdate,
W.TileSprite.prototype.preUpdateLifeSpan = W.Component.LifeSpan.preUpdate,
W.TileSprite.prototype.preUpdateInWorld = W.Component.InWorld.preUpdate,
W.TileSprite.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.TileSprite.prototype.preUpdate = function() {
return 0 !== this._scroll.x && (this.tilePosition.x += this._scroll.x * this.game.time.physicsElapsed),
0 !== this._scroll.y && (this.tilePosition.y += this._scroll.y * this.game.time.physicsElapsed),
!!(this.preUpdatePhysics() && this.preUpdateLifeSpan() && this.preUpdateInWorld()) && this.preUpdateCore()
}
,
W.TileSprite.prototype.autoScroll = function(e, t) {
this._scroll.set(e, t)
}
,
W.TileSprite.prototype.stopScroll = function() {
this._scroll.set(0, 0)
}
,
W.TileSprite.prototype.destroy = function(e) {
W.Component.Destroy.prototype.destroy.call(this, e),
PIXI.TilingSprite.prototype.destroy.call(this)
}
,
W.TileSprite.prototype.reset = function(e, t) {
return W.Component.Reset.prototype.reset.call(this, e, t),
this.tilePosition.x = 0,
this.tilePosition.y = 0,
this
}
,
W.Device = function() {
this.deviceReadyAt = 0,
this.initialized = !1,
this.desktop = !1,
this.iOS = !1,
this.iOSVersion = 0,
this.cocoonJS = !1,
this.cocoonJSApp = !1,
this.wechatMinigame = !1,
this.cordova = !1,
this.node = !1,
this.nodeWebkit = !1,
this.electron = !1,
this.ejecta = !1,
this.crosswalk = !1,
this.android = !1,
this.chromeOS = !1,
this.linux = !1,
this.macOS = !1,
this.windows = !1,
this.windowsPhone = !1,
this.canvas = !1,
this.canvasBitBltShift = null,
this.webGL = !1,
this.file = !1,
this.fileSystem = !1,
this.localStorage = !1,
this.worker = !1,
this.css3D = !1,
this.pointerLock = !1,
this.typedArray = !1,
this.vibration = !1,
this.getUserMedia = !0,
this.quirksMode = !1,
this.touch = !1,
this.mspointer = !1,
this.wheelEvent = null,
this.arora = !1,
this.chrome = !1,
this.chromeVersion = 0,
this.epiphany = !1,
this.firefox = !1,
this.firefoxVersion = 0,
this.ie = !1,
this.ieVersion = 0,
this.trident = !1,
this.tridentVersion = 0,
this.edge = !1,
this.mobileSafari = !1,
this.midori = !1,
this.opera = !1,
this.safari = !1,
this.safariVersion = 0,
this.webApp = !1,
this.silk = !1,
this.audioData = !1,
this.webAudio = !1,
this.ogg = !1,
this.opus = !1,
this.mp3 = !1,
this.wav = !1,
this.m4a = !1,
this.webm = !1,
this.dolby = !1,
this.oggVideo = !1,
this.h264Video = !1,
this.mp4Video = !1,
this.webmVideo = !1,
this.vp9Video = !1,
this.hlsVideo = !1,
this.iPhone = !1,
this.iPhone4 = !1,
this.iPad = !1,
this.pixelRatio = 0,
this.littleEndian = !1,
this.LITTLE_ENDIAN = !1,
this.support32bit = !1,
this.fullscreen = !1,
this.requestFullscreen = "",
this.cancelFullscreen = "",
this.fullscreenKeyboard = !1
}
,
W.Device = new W.Device,
W.Device.onInitialized = new W.Signal,
W.Device.whenReady = function(e, t, i) {
var r = this._readyCheck;
if (this.deviceReadyAt || !r)
e.call(t, this);
else if (r._monitor || i)
r._queue = r._queue || [],
r._queue.push([e, t]);
else {
r._monitor = r.bind(this),
r._queue = r._queue || [],
r._queue.push([e, t]);
var o = void 0 !== window.cordova
, s = navigator.isCocoonJS;
"complete" === document.readyState || "interactive" === document.readyState ? window.setTimeout(r._monitor, 0) : o && !s ? document.addEventListener("deviceready", r._monitor, !1) : (document.addEventListener("DOMContentLoaded", r._monitor, !1),
window.addEventListener("load", r._monitor, !1))
}
}
,
W.Device._readyCheck = function() {
var e = this._readyCheck;
if (document.body) {
if (!this.deviceReadyAt) {
var t;
for (this.deviceReadyAt = Date.now(),
document.removeEventListener("deviceready", e._monitor),
document.removeEventListener("DOMContentLoaded", e._monitor),
window.removeEventListener("load", e._monitor),
this._initialize(),
this.initialized = !0,
this.onInitialized.dispatch(this); t = e._queue.shift(); ) {
var i = t[0]
, r = t[1];
i.call(r, this)
}
this._readyCheck = null,
this._initialize = null,
this.onInitialized = null
}
} else
window.setTimeout(e._monitor, 20)
}
,
W.Device._initialize = function() {
var e, t, i, r, o = this;
!function() {
var e = navigator.userAgent;
/Playstation Vita/.test(e) ? o.vita = !0 : /Kindle/.test(e) || /\bKF[A-Z][A-Z]+/.test(e) || /Silk.*Mobile Safari/.test(e) ? o.kindle = !0 : /Android/.test(e) ? o.android = !0 : /CrOS/.test(e) ? o.chromeOS = !0 : /iP[ao]d|iPhone/i.test(e) ? (o.iOS = !0,
navigator.appVersion.match(/OS (\d+)/),
o.iOSVersion = parseInt(RegExp.$1, 10)) : /Linux/.test(e) ? o.linux = !0 : /Mac OS/.test(e) ? o.macOS = !0 : /Windows/.test(e) && (o.windows = !0),
(/Windows Phone/i.test(e) || /IEMobile/i.test(e)) && (o.android = !1,
o.iOS = !1,
o.macOS = !1,
o.windows = !0,
o.windowsPhone = !0);
var t = /Silk/.test(e);
(o.windows || o.macOS || o.linux && !t || o.chromeOS) && (o.desktop = !0),
(o.windowsPhone || /Windows NT/i.test(e) && /Touch/i.test(e)) && (o.desktop = !1)
}(),
function() {
var e = navigator.userAgent;
if (/Arora/.test(e) ? o.arora = !0 : /Edge\/\d+/.test(e) ? o.edge = !0 : /Chrome\/(\d+)/.test(e) && !o.windowsPhone ? (o.chrome = !0,
o.chromeVersion = parseInt(RegExp.$1, 10)) : /Epiphany/.test(e) ? o.epiphany = !0 : /Firefox\D+(\d+)/.test(e) ? (o.firefox = !0,
o.firefoxVersion = parseInt(RegExp.$1, 10)) : /AppleWebKit/.test(e) && o.iOS ? o.mobileSafari = !0 : /MSIE (\d+\.\d+);/.test(e) ? (o.ie = !0,
o.ieVersion = parseInt(RegExp.$1, 10)) : /Midori/.test(e) ? o.midori = !0 : /Opera/.test(e) ? o.opera = !0 : /Safari\/(\d+)/.test(e) && !o.windowsPhone ? (o.safari = !0,
/Version\/(\d+)\./.test(e) && (o.safariVersion = parseInt(RegExp.$1, 10))) : /Trident\/(\d+\.\d+)(.*)rv:(\d+\.\d+)/.test(e) && (o.ie = !0,
o.trident = !0,
o.tridentVersion = parseInt(RegExp.$1, 10),
o.ieVersion = parseInt(RegExp.$3, 10)),
/Silk/.test(e) && (o.silk = !0),
navigator.standalone && (o.webApp = !0),
void 0 !== window.cordova && (o.cordova = !0),
"undefined" != typeof process && "undefined" != typeof require && (o.node = !0),
o.node && "object" == typeof process.versions && (o.nodeWebkit = !!process.versions["node-webkit"],
o.electron = !!process.versions.electron),
navigator.isCocoonJS && (o.cocoonJS = !0),
void 0 !== window.wx && (o.wechatMinigame = !0),
o.cocoonJS)
try {
o.cocoonJSApp = "undefined" != typeof CocoonJS
} catch (e) {
o.cocoonJSApp = !1
}
void 0 !== window.ejecta && (o.ejecta = !0),
/Crosswalk/.test(e) && (o.crosswalk = !0)
}(),
function() {
o.audioData = !!window.Audio,
o.webAudio = !(!window.AudioContext && !window.webkitAudioContext);
var e = document.createElement("audio");
try {
if (e.canPlayType && (e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, "") && (o.ogg = !0),
(e.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, "") || e.canPlayType("audio/opus;").replace(/^no$/, "")) && (o.opus = !0),
e.canPlayType("audio/mpeg;").replace(/^no$/, "") && (o.mp3 = !0),
e.canPlayType('audio/wav; codecs="1"').replace(/^no$/, "") && (o.wav = !0),
(e.canPlayType("audio/x-m4a;") || e.canPlayType("audio/aac;").replace(/^no$/, "")) && (o.m4a = !0),
e.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "") && (o.webm = !0),
"" !== e.canPlayType('audio/mp4;codecs="ec-3"')))
if (o.edge)
o.dolby = !0;
else if (o.safari && 9 <= o.safariVersion && /Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)) {
var t = parseInt(RegExp.$1, 10)
, i = parseInt(RegExp.$2, 10);
(10 === t && 11 <= i || 10 < t) && (o.dolby = !0)
}
} catch (e) {}
}(),
function() {
var e = document.createElement("video");
try {
e.canPlayType && (e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, "") && (o.oggVideo = !0),
e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, "") && (o.h264Video = !0,
o.mp4Video = !0),
e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, "") && (o.webmVideo = !0),
e.canPlayType('video/webm; codecs="vp9"').replace(/^no$/, "") && (o.vp9Video = !0),
e.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/, "") && (o.hlsVideo = !0))
} catch (e) {}
}(),
function() {
var e, t = document.createElement("p"), i = {
webkitTransform: "-webkit-transform",
OTransform: "-o-transform",
msTransform: "-ms-transform",
MozTransform: "-moz-transform",
transform: "transform"
};
for (var r in document.body.insertBefore(t, null),
i)
void 0 !== t.style[r] && (t.style[r] = "translate3d(1px,1px,1px)",
e = window.getComputedStyle(t).getPropertyValue(i[r]));
document.body.removeChild(t),
o.css3D = void 0 !== e && 0 < e.length && "none" !== e
}(),
o.pixelRatio = window.devicePixelRatio || 1,
o.iPhone = -1 !== navigator.userAgent.toLowerCase().indexOf("iphone"),
o.iPhone4 = 2 === o.pixelRatio && o.iPhone,
o.iPad = !!(!(r = -1 !== navigator.userAgent.toLowerCase().indexOf("ipad")) && navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && 2 < navigator.maxTouchPoints) || r,
"undefined" != typeof Int8Array ? o.typedArray = !0 : o.typedArray = !1,
"undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array && "undefined" != typeof Uint32Array && (o.littleEndian = (e = new ArrayBuffer(4),
t = new Uint8Array(e),
i = new Uint32Array(e),
t[0] = 161,
t[1] = 178,
t[2] = 195,
t[3] = 212,
3569595041 === i[0] || 2712847316 !== i[0] && null),
o.LITTLE_ENDIAN = o.littleEndian),
o.support32bit = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8ClampedArray && "undefined" != typeof Int32Array && null !== o.littleEndian && function() {
if (void 0 === Uint8ClampedArray)
return !1;
var e = PIXI.CanvasPool.create(this, 1, 1).getContext("2d");
if (!e)
return !1;
var t = e.createImageData(1, 1);
return PIXI.CanvasPool.remove(this),
t.data instanceof Uint8ClampedArray
}(),
navigator.vibrate = navigator.vibrate || navigator.webkitVibrate || navigator.mozVibrate || navigator.msVibrate,
navigator.vibrate && (o.vibration = !0),
function() {
o.canvas = !!window.CanvasRenderingContext2D || o.cocoonJS;
try {
o.localStorage = !!localStorage.getItem
} catch (e) {
o.localStorage = !1
}
o.file = !!(window.File && window.FileReader && window.FileList && window.Blob),
o.fileSystem = !!window.requestFileSystem;
var t = {
stencil: !0
};
o.webGL = function() {
try {
var e = document.createElement("canvas");
return e.screencanvas = !1,
!!window.WebGLRenderingContext && (e.getContext("webgl", t) || e.getContext("experimental-webgl", t))
} catch (e) {
return !1
}
}(),
o.webGL = !!o.webGL,
o.worker = !!window.Worker,
o.pointerLock = "pointerLockElement"in document || "mozPointerLockElement"in document || "webkitPointerLockElement"in document,
o.quirksMode = "CSS1Compat" !== document.compatMode,
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia,
window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL,
o.getUserMedia = o.getUserMedia && !!navigator.getUserMedia && !!window.URL,
o.firefox && o.firefoxVersion < 21 && (o.getUserMedia = !1),
!o.iOS && (o.ie || o.firefox || o.chrome) && (o.canvasBitBltShift = !0),
(o.safari || o.mobileSafari) && (o.canvasBitBltShift = !1)
}(),
function() {
for (var e = ["requestFullscreen", "requestFullScreen", "webkitRequestFullscreen", "webkitRequestFullScreen", "msRequestFullscreen", "msRequestFullScreen", "mozRequestFullScreen", "mozRequestFullscreen"], t = document.createElement("div"), i = 0; i < e.length; i++)
if (t[e[i]]) {
o.fullscreen = !0,
o.requestFullscreen = e[i];
break
}
var r = ["cancelFullScreen", "exitFullscreen", "webkitCancelFullScreen", "webkitExitFullscreen", "msCancelFullScreen", "msExitFullscreen", "mozCancelFullScreen", "mozExitFullscreen"];
if (o.fullscreen)
for (i = 0; i < r.length; i++)
if (document[r[i]]) {
o.cancelFullscreen = r[i];
break
}
window.Element && Element.ALLOW_KEYBOARD_INPUT && (o.fullscreenKeyboard = !0)
}(),
("ontouchstart"in document.documentElement || window.navigator.maxTouchPoints && 1 <= window.navigator.maxTouchPoints) && (o.touch = !0),
(window.PointerEvent || window.MSPointerEvent || window.navigator.msPointerEnabled || window.navigator.pointerEnabled) && (o.mspointer = !0),
o.cocoonJS || ("onwheel"in window || o.ie && "WheelEvent"in window ? o.wheelEvent = "wheel" : "onmousewheel"in window ? o.wheelEvent = "mousewheel" : o.firefox && "MouseScrollEvent"in window && (o.wheelEvent = "DOMMouseScroll"))
}
,
W.Device.canPlayAudio = function(e) {
return !("mp3" !== e || !this.mp3) || (!("ogg" !== e || !this.ogg && !this.opus) || (!("m4a" !== e || !this.m4a) || (!("opus" !== e || !this.opus) || (!("wav" !== e || !this.wav) || (!("webm" !== e || !this.webm) || !("mp4" !== e || !this.dolby))))))
}
,
W.Device.canPlayVideo = function(e) {
return !("webm" !== e || !this.webmVideo && !this.vp9Video) || (!("mp4" !== e || !this.mp4Video && !this.h264Video) || (!("ogg" !== e && "ogv" !== e || !this.oggVideo) || !("mpeg" !== e || !this.hlsVideo)))
}
,
W.Device.isConsoleOpen = function() {
return !(!window.console || !window.console.firebug) || !(!window.console || (console.clear,
!console.profiles)) && 0 < console.profiles.length
}
,
W.Device.isAndroidStockBrowser = function() {
var e = window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);
return e && e[1] < 537
}
,
W.Canvas = {
create: function(e, t, i, r, o) {
t = t || 256,
i = i || 256;
var s = o ? document.createElement("canvas") : PIXI.CanvasPool.create(e, t, i);
return "string" == typeof r && "" !== r && (s.id = r),
s.width = t,
s.height = i,
s.style.display = "block",
s
},
setBackgroundColor: function(e, t) {
return t = t || "rgb(0,0,0)",
e.style.backgroundColor = t,
e
},
setTouchAction: function(e, t) {
return t = t || "none",
e.style.msTouchAction = t,
e.style["ms-touch-action"] = t,
e.style["touch-action"] = t,
e
},
setUserSelect: function(e, t) {
return t = t || "none",
e.style["-webkit-touch-callout"] = t,
e.style["-webkit-user-select"] = t,
e.style["-khtml-user-select"] = t,
e.style["-moz-user-select"] = t,
e.style["-ms-user-select"] = t,
e.style["user-select"] = t,
e.style["-webkit-tap-highlight-color"] = "rgba(0, 0, 0, 0)",
e
},
addToDOM: function(e, t, i) {
var r;
return void 0 === i && (i = !0),
t && ("string" == typeof t ? r = document.getElementById(t) : "object" == typeof t && 1 === t.nodeType && (r = t)),
r || (r = document.body),
i && r.style && (r.style.overflow = "hidden"),
r.appendChild(e),
e
},
removeFromDOM: function(e) {
e.parentNode && e.parentNode.removeChild(e)
},
setTransform: function(e, t, i, r, o, s, a) {
return e.setTransform(r, s, a, o, t, i),
e
},
setSmoothingEnabled: function(e, t) {
var i = W.Canvas.getSmoothingPrefix(e);
return i && (e[i] = t),
e
},
getSmoothingPrefix: function(e) {
var t = ["i", "webkitI", "msI", "mozI", "oI"];
for (var i in t) {
var r = t[i] + "mageSmoothingEnabled";
if (r in e)
return r
}
return null
},
getSmoothingEnabled: function(e) {
var t = W.Canvas.getSmoothingPrefix(e);
if (t)
return e[t]
},
setImageRenderingCrisp: function(e) {
for (var t = ["optimizeSpeed", "crisp-edges", "-moz-crisp-edges", "-webkit-optimize-contrast", "optimize-contrast", "pixelated"], i = 0; i < t.length; i++)
e.style["image-rendering"] = t[i];
return e.style.msInterpolationMode = "nearest-neighbor",
e
},
setImageRenderingBicubic: function(e) {
return e.style["image-rendering"] = "auto",
e.style.msInterpolationMode = "bicubic",
e
}
},
W.RequestAnimationFrame = function(e, t) {
void 0 === t && (t = !1),
this.game = e,
this.isRunning = !1,
this.forceSetTimeOut = t;
for (var i = ["ms", "moz", "webkit", "o"], r = 0; r < i.length && !window.requestAnimationFrame; r++)
window.requestAnimationFrame = window[i[r] + "RequestAnimationFrame"],
window.cancelAnimationFrame = window[i[r] + "CancelAnimationFrame"];
this._isSetTimeOut = !1,
this._onLoop = null,
this._timeOutID = null
}
,
W.RequestAnimationFrame.prototype = {
start: function() {
this.isRunning = !0;
var t = this;
!window.requestAnimationFrame || this.forceSetTimeOut ? (this._isSetTimeOut = !0,
this._onLoop = function() {
return t.updateSetTimeout()
}
,
this._timeOutID = window.setTimeout(this._onLoop, 0)) : (this._isSetTimeOut = !1,
this._onLoop = function(e) {
return t.updateRAF(e)
}
,
this._timeOutID = window.requestAnimationFrame(this._onLoop))
},
updateRAF: function(e) {
this.isRunning && (this.game.update(Math.floor(e)),
this._timeOutID = window.requestAnimationFrame(this._onLoop))
},
updateSetTimeout: function() {
this.isRunning && (this.game.update(Date.now()),
this._timeOutID = window.setTimeout(this._onLoop, this.game.time.timeToCall))
},
stop: function() {
this._isSetTimeOut ? clearTimeout(this._timeOutID) : window.cancelAnimationFrame(this._timeOutID),
this.isRunning = !1
},
isSetTimeOut: function() {
return this._isSetTimeOut
},
isRAF: function() {
return !1 === this._isSetTimeOut
}
},
W.RequestAnimationFrame.prototype.constructor = W.RequestAnimationFrame,
W.Math = {
PI2: 2 * Math.PI,
between: function(e, t) {
return Math.floor(Math.random() * (t - e + 1) + e)
},
fuzzyEqual: function(e, t, i) {
return void 0 === i && (i = 1e-4),
Math.abs(e - t) < i
},
fuzzyLessThan: function(e, t, i) {
return void 0 === i && (i = 1e-4),
e < t + i
},
fuzzyGreaterThan: function(e, t, i) {
return void 0 === i && (i = 1e-4),
t - i < e
},
fuzzyCeil: function(e, t) {
return void 0 === t && (t = 1e-4),
Math.ceil(e - t)
},
fuzzyFloor: function(e, t) {
return void 0 === t && (t = 1e-4),
Math.floor(e + t)
},
average: function() {
for (var e = 0, t = arguments.length, i = 0; i < t; i++)
e += +arguments[i];
return e / t
},
shear: function(e) {
return e % 1
},
snapTo: function(e, t, i) {
return void 0 === i && (i = 0),
0 === t ? e : (e -= i,
i + (e = t * Math.round(e / t)))
},
snapToFloor: function(e, t, i) {
return void 0 === i && (i = 0),
0 === t ? e : (e -= i,
i + (e = t * Math.floor(e / t)))
},
snapToCeil: function(e, t, i) {
return void 0 === i && (i = 0),
0 === t ? e : (e -= i,
i + (e = t * Math.ceil(e / t)))
},
roundTo: function(e, t, i) {
void 0 === t && (t = 0),
void 0 === i && (i = 10);
var r = Math.pow(i, -t);
return Math.round(e * r) / r
},
floorTo: function(e, t, i) {
void 0 === t && (t = 0),
void 0 === i && (i = 10);
var r = Math.pow(i, -t);
return Math.floor(e * r) / r
},
ceilTo: function(e, t, i) {
void 0 === t && (t = 0),
void 0 === i && (i = 10);
var r = Math.pow(i, -t);
return Math.ceil(e * r) / r
},
rotateToAngle: function(e, t, i) {
return void 0 === i && (i = .05),
e === t || (Math.abs(t - e) <= i || Math.abs(t - e) >= W.Math.PI2 - i ? e = t : (Math.abs(t - e) > Math.PI && (t < e ? t += W.Math.PI2 : t -= W.Math.PI2),
e < t ? e += i : t < e && (e -= i))),
e
},
getShortestAngle: function(e, t) {
var i = t - e;
return 0 === i ? 0 : i - 360 * Math.floor((i - -180) / 360)
},
angleBetween: function(e, t, i, r) {
return Math.atan2(r - t, i - e)
},
angleBetweenY: function(e, t, i, r) {
return Math.atan2(i - e, r - t)
},
angleBetweenPoints: function(e, t) {
return Math.atan2(t.y - e.y, t.x - e.x)
},
angleBetweenPointsY: function(e, t) {
return Math.atan2(t.x - e.x, t.y - e.y)
},
reverseAngle: function(e) {
return this.normalizeAngle(e + Math.PI, !0)
},
normalizeAngle: function(e) {
return 0 <= (e %= 2 * Math.PI) ? e : e + 2 * Math.PI
},
maxAdd: function(e, t, i) {
return Math.min(e + t, i)
},
minSub: function(e, t, i) {
return Math.max(e - t, i)
},
wrap: function(e, t, i) {
var r = i - t;
if (r <= 0)
return 0;
var o = (e - t) % r;
return o < 0 && (o += r),
o + t
},
wrapValue: function(e, t, i) {
return ((e = Math.abs(e)) + (t = Math.abs(t))) % (i = Math.abs(i))
},
isOdd: function(e) {
return !!(1 & e)
},
isEven: function(e) {
return !(1 & e)
},
min: function() {
if (1 === arguments.length && "object" == typeof arguments[0])
var e = arguments[0];
else
e = arguments;
for (var t = 1, i = 0, r = e.length; t < r; t++)
e[t] < e[i] && (i = t);
return e[i]
},
max: function() {
if (1 === arguments.length && "object" == typeof arguments[0])
var e = arguments[0];
else
e = arguments;
for (var t = 1, i = 0, r = e.length; t < r; t++)
e[t] > e[i] && (i = t);
return e[i]
},
minProperty: function(e) {
if (2 === arguments.length && "object" == typeof arguments[1])
var t = arguments[1];
else
t = arguments.slice(1);
for (var i = 1, r = 0, o = t.length; i < o; i++)
t[i][e] < t[r][e] && (r = i);
return t[r][e]
},
maxProperty: function(e) {
if (2 === arguments.length && "object" == typeof arguments[1])
var t = arguments[1];
else
t = arguments.slice(1);
for (var i = 1, r = 0, o = t.length; i < o; i++)
t[i][e] > t[r][e] && (r = i);
return t[r][e]
},
wrapAngle: function(e, t) {
return t ? this.wrap(e, -Math.PI, Math.PI) : this.wrap(e, -180, 180)
},
linearInterpolation: function(e, t) {
var i = e.length - 1
, r = i * t
, o = Math.floor(r);
return t < 0 ? this.linear(e[0], e[1], r) : 1 < t ? this.linear(e[i], e[i - 1], i - r) : this.linear(e[o], e[i < o + 1 ? i : o + 1], r - o)
},
bezierInterpolation: function(e, t) {
for (var i = 0, r = e.length - 1, o = 0; o <= r; o++)
i += Math.pow(1 - t, r - o) * Math.pow(t, o) * e[o] * this.bernstein(r, o);
return i
},
catmullRomInterpolation: function(e, t) {
var i = e.length - 1
, r = i * t
, o = Math.floor(r);
return e[0] === e[i] ? (t < 0 && (o = Math.floor(r = i * (1 + t))),
this.catmullRom(e[(o - 1 + i) % i], e[o], e[(o + 1) % i], e[(o + 2) % i], r - o)) : t < 0 ? e[0] - (this.catmullRom(e[0], e[0], e[1], e[1], -r) - e[0]) : 1 < t ? e[i] - (this.catmullRom(e[i], e[i], e[i - 1], e[i - 1], r - i) - e[i]) : this.catmullRom(e[o ? o - 1 : 0], e[o], e[i < o + 1 ? i : o + 1], e[i < o + 2 ? i : o + 2], r - o)
},
linear: function(e, t, i) {
return (t - e) * i + e
},
bernstein: function(e, t) {
return this.factorial(e) / this.factorial(t) / this.factorial(e - t)
},
factorial: function(e) {
if (0 === e)
return 1;
for (var t = e; --e; )
t *= e;
return t
},
catmullRom: function(e, t, i, r, o) {
var s = .5 * (i - e)
, a = .5 * (r - t)
, n = o * o;
return (2 * t - 2 * i + s + a) * (o * n) + (-3 * t + 3 * i - 2 * s - a) * n + s * o + t
},
difference: function(e, t) {
return Math.abs(e - t)
},
roundAwayFromZero: function(e) {
return 0 < e ? Math.ceil(e) : Math.floor(e)
},
sinCosGenerator: function(e, t, i, r) {
void 0 === t && (t = 1),
void 0 === i && (i = 1),
void 0 === r && (r = 1);
for (var o = t, s = i, a = r * Math.PI / e, n = [], h = [], c = 0; c < e; c++)
o += (s -= o * a) * a,
n[c] = s,
h[c] = o;
return {
sin: h,
cos: n,
length: e
}
},
distance: function(e, t, i, r) {
var o = e - i
, s = t - r;
return Math.sqrt(o * o + s * s)
},
distanceSq: function(e, t, i, r) {
var o = e - i
, s = t - r;
return o * o + s * s
},
distancePow: function(e, t, i, r, o) {
return void 0 === o && (o = 2),
Math.sqrt(Math.pow(i - e, o) + Math.pow(r - t, o))
},
clamp: function(e, t, i) {
return e < t ? t : i < e ? i : e
},
clampBottom: function(e, t) {
return e < t ? t : e
},
within: function(e, t, i) {
return Math.abs(e - t) <= i
},
mapLinear: function(e, t, i, r, o) {
return r + (e - t) * (o - r) / (i - t)
},
smoothstep: function(e, t, i) {
return (e = Math.max(0, Math.min(1, (e - t) / (i - t)))) * e * (3 - 2 * e)
},
smootherstep: function(e, t, i) {
return (e = Math.max(0, Math.min(1, (e - t) / (i - t)))) * e * e * (e * (6 * e - 15) + 10)
},
sign: function(e) {
return e < 0 ? -1 : 0 < e ? 1 : 0
},
percent: function(e, t, i) {
return void 0 === i && (i = 0),
t < e || t < i ? 1 : e < i || e < i ? 0 : (e - i) / t
}
};
var a = Math.PI / 180
, n = 180 / Math.PI;
return W.Math.degToRad = function(e) {
return e * a
}
,
W.Math.radToDeg = function(e) {
return e * n
}
,
W.RandomDataGenerator = function(e) {
void 0 === e && (e = []),
this.c = 1,
this.s0 = 0,
this.s1 = 0,
this.s2 = 0,
"string" == typeof e ? this.state(e) : this.sow(e)
}
,
W.RandomDataGenerator.prototype = {
rnd: function() {
var e = 2091639 * this.s0 + 2.3283064365386963e-10 * this.c;
return this.c = 0 | e,
this.s0 = this.s1,
this.s1 = this.s2,
this.s2 = e - this.c,
this.s2
},
sow: function(e) {
if (this.s0 = this.hash(" "),
this.s1 = this.hash(this.s0),
this.s2 = this.hash(this.s1),
this.c = 1,
e)
for (var t = 0; t < e.length && null != e[t]; t++) {
var i = e[t];
this.s0 -= this.hash(i),
this.s0 += ~~(this.s0 < 0),
this.s1 -= this.hash(i),
this.s1 += ~~(this.s1 < 0),
this.s2 -= this.hash(i),
this.s2 += ~~(this.s2 < 0)
}
},
hash: function(e) {
var t, i, r;
for (r = 4022871197,
e = e.toString(),
i = 0; i < e.length; i++)
t = .02519603282416938 * (r += e.charCodeAt(i)),
t -= r = t >>> 0,
r = (t *= r) >>> 0,
r += 4294967296 * (t -= r);
return 2.3283064365386963e-10 * (r >>> 0)
},
integer: function() {
return 4294967296 * this.rnd.apply(this)
},
frac: function() {
return this.rnd.apply(this) + 11102230246251565e-32 * (2097152 * this.rnd.apply(this) | 0)
},
real: function() {
return this.integer() + this.frac()
},
integerInRange: function(e, t) {
return Math.floor(this.realInRange(0, t - e + 1) + e)
},
between: function(e, t) {
return this.integerInRange(e, t)
},
realInRange: function(e, t) {
return this.frac() * (t - e) + e
},
normal: function() {
return 1 - 2 * this.frac()
},
uuid: function() {
var e = ""
, t = "";
for (t = e = ""; e++ < 36; t += ~e % 5 | 3 * e & 4 ? (15 ^ e ? 8 ^ this.frac() * (20 ^ e ? 16 : 4) : 4).toString(16) : "-")
;
return t
},
pick: function(e) {
return e[this.integerInRange(0, e.length - 1)]
},
sign: function() {
return this.pick([-1, 1])
},
weightedPick: function(e) {
return e[~~(Math.pow(this.frac(), 2) * (e.length - 1) + .5)]
},
timestamp: function(e, t) {
return this.realInRange(e || 9466848e5, t || 1577862e6)
},
angle: function() {
return this.integerInRange(-180, 180)
},
state: function(e) {
return "string" == typeof e && e.match(/^!rnd/) && (e = e.split(","),
this.c = parseFloat(e[1]),
this.s0 = parseFloat(e[2]),
this.s1 = parseFloat(e[3]),
this.s2 = parseFloat(e[4])),
["!rnd", this.c, this.s0, this.s1, this.s2].join(",")
}
},
W.RandomDataGenerator.prototype.constructor = W.RandomDataGenerator,
W.QuadTree = function(e, t, i, r, o, s, a) {
this.maxObjects = 10,
this.maxLevels = 4,
this.level = 0,
this.bounds = {},
this.objects = [],
this.nodes = [],
this._empty = [],
this.reset(e, t, i, r, o, s, a)
}
,
W.QuadTree.prototype = {
reset: function(e, t, i, r, o, s, a) {
this.maxObjects = o || 10,
this.maxLevels = s || 4,
this.level = a || 0,
this.bounds = {
x: Math.round(e),
y: Math.round(t),
width: i,
height: r,
subWidth: Math.floor(i / 2),
subHeight: Math.floor(r / 2),
right: Math.round(e) + Math.floor(i / 2),
bottom: Math.round(t) + Math.floor(r / 2)
},
this.objects.length = 0,
this.nodes.length = 0
},
populate: function(e) {
e.forEach(this.populateHandler, this, !0)
},
populateHandler: function(e) {
e.body && e.exists && this.insert(e.body)
},
split: function() {
this.nodes[0] = new W.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level + 1),
this.nodes[1] = new W.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level + 1),
this.nodes[2] = new W.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level + 1),
this.nodes[3] = new W.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level + 1)
},
insert: function(e) {
var t, i = 0;
if (null == this.nodes[0] || -1 === (t = this.getIndex(e))) {
if (this.objects.push(e),
this.objects.length > this.maxObjects && this.level < this.maxLevels)
for (null == this.nodes[0] && this.split(); i < this.objects.length; )
-1 !== (t = this.getIndex(this.objects[i])) ? this.nodes[t].insert(this.objects.splice(i, 1)[0]) : i++
} else
this.nodes[t].insert(e)
},
getIndex: function(e) {
var t = -1;
return e.x < this.bounds.right && e.right < this.bounds.right ? e.y < this.bounds.bottom && e.bottom < this.bounds.bottom ? t = 1 : e.y > this.bounds.bottom && (t = 2) : e.x > this.bounds.right && (e.y < this.bounds.bottom && e.bottom < this.bounds.bottom ? t = 0 : e.y > this.bounds.bottom && (t = 3)),
t
},
retrieve: function(e) {
if (e instanceof W.Rectangle)
var t = this.objects
, i = this.getIndex(e);
else {
if (!e.body)
return this._empty;
t = this.objects,
i = this.getIndex(e.body)
}
return this.nodes[0] && (t = -1 !== i ? t.concat(this.nodes[i].retrieve(e)) : (t = (t = (t = t.concat(this.nodes[0].retrieve(e))).concat(this.nodes[1].retrieve(e))).concat(this.nodes[2].retrieve(e))).concat(this.nodes[3].retrieve(e))),
t
},
clear: function() {
this.objects.length = 0;
for (var e = this.nodes.length; e--; )
this.nodes[e].clear(),
this.nodes.splice(e, 1);
this.nodes.length = 0
}
},
W.QuadTree.prototype.constructor = W.QuadTree,
W.Net = function(e) {
this.game = e
}
,
W.Net.prototype = {
getHostName: function() {
return window.location && window.location.hostname ? window.location.hostname : null
},
checkDomainName: function(e) {
return -1 !== window.location.hostname.indexOf(e)
},
updateQueryString: function(e, t, i, r) {
void 0 === i && (i = !1),
void 0 !== r && "" !== r || (r = window.location.href);
var o = ""
, s = new RegExp("([?|&])" + e + "=.*?(&|#|$)(.*)","gi");
if (s.test(r))
o = null != t ? r.replace(s, "$1" + e + "=" + t + "$2$3") : r.replace(s, "$1$3").replace(/(&|\?)$/, "");
else if (null != t) {
var a = -1 !== r.indexOf("?") ? "&" : "?"
, n = r.split("#");
r = n[0] + a + e + "=" + t,
n[1] && (r += "#" + n[1]),
o = r
} else
o = r;
if (!i)
return o;
window.location.href = o
},
getQueryString: function(e) {
void 0 === e && (e = "");
var t = {}
, i = location.search.substring(1).split("&");
for (var r in i) {
var o = i[r].split("=");
if (1 < o.length) {
if (e && e === this.decodeURI(o[0]))
return this.decodeURI(o[1]);
t[this.decodeURI(o[0])] = this.decodeURI(o[1])
}
}
return t
},
decodeURI: function(e) {
return decodeURIComponent(e.replace(/\+/g, " "))
}
},
W.Net.prototype.constructor = W.Net,
W.TweenManager = function(e) {
this.game = e,
this.frameBased = !1,
this._tweens = [],
this._add = [],
this.easeMap = {
Power0: W.Easing.Power0,
Power1: W.Easing.Power1,
Power2: W.Easing.Power2,
Power3: W.Easing.Power3,
Power4: W.Easing.Power4,
Linear: W.Easing.Linear.None,
Quad: W.Easing.Quadratic.Out,
Cubic: W.Easing.Cubic.Out,
Quart: W.Easing.Quartic.Out,
Quint: W.Easing.Quintic.Out,
Sine: W.Easing.Sinusoidal.Out,
Expo: W.Easing.Exponential.Out,
Circ: W.Easing.Circular.Out,
Elastic: W.Easing.Elastic.Out,
Back: W.Easing.Back.Out,
Bounce: W.Easing.Bounce.Out,
"Quad.easeIn": W.Easing.Quadratic.In,
"Cubic.easeIn": W.Easing.Cubic.In,
"Quart.easeIn": W.Easing.Quartic.In,
"Quint.easeIn": W.Easing.Quintic.In,
"Sine.easeIn": W.Easing.Sinusoidal.In,
"Expo.easeIn": W.Easing.Exponential.In,
"Circ.easeIn": W.Easing.Circular.In,
"Elastic.easeIn": W.Easing.Elastic.In,
"Back.easeIn": W.Easing.Back.In,
"Bounce.easeIn": W.Easing.Bounce.In,
"Quad.easeOut": W.Easing.Quadratic.Out,
"Cubic.easeOut": W.Easing.Cubic.Out,
"Quart.easeOut": W.Easing.Quartic.Out,
"Quint.easeOut": W.Easing.Quintic.Out,
"Sine.easeOut": W.Easing.Sinusoidal.Out,
"Expo.easeOut": W.Easing.Exponential.Out,
"Circ.easeOut": W.Easing.Circular.Out,
"Elastic.easeOut": W.Easing.Elastic.Out,
"Back.easeOut": W.Easing.Back.Out,
"Bounce.easeOut": W.Easing.Bounce.Out,
"Quad.easeInOut": W.Easing.Quadratic.InOut,
"Cubic.easeInOut": W.Easing.Cubic.InOut,
"Quart.easeInOut": W.Easing.Quartic.InOut,
"Quint.easeInOut": W.Easing.Quintic.InOut,
"Sine.easeInOut": W.Easing.Sinusoidal.InOut,
"Expo.easeInOut": W.Easing.Exponential.InOut,
"Circ.easeInOut": W.Easing.Circular.InOut,
"Elastic.easeInOut": W.Easing.Elastic.InOut,
"Back.easeInOut": W.Easing.Back.InOut,
"Bounce.easeInOut": W.Easing.Bounce.InOut
},
this.game.onPause.add(this._pauseAll, this),
this.game.onResume.add(this._resumeAll, this)
}
,
W.TweenManager.prototype = {
getAll: function() {
return this._tweens
},
removeAll: function() {
for (var e = 0; e < this._tweens.length; e++)
this._tweens[e].pendingDelete = !0;
this._add = []
},
removeFrom: function(e, t) {
if (void 0 === t && (t = !0),
Array.isArray(e))
for (i = 0,
r = e.length; i < r; i++)
this.removeFrom(e[i]);
else if (e.type === W.GROUP && t)
for (var i = 0, r = e.children.length; i < r; i++)
this.removeFrom(e.children[i]);
else {
for (i = 0,
r = this._tweens.length; i < r; i++)
e === this._tweens[i].target && this.remove(this._tweens[i]);
for (i = 0,
r = this._add.length; i < r; i++)
e === this._add[i].target && this.remove(this._add[i])
}
},
add: function(e) {
(e._manager = this)._add.push(e)
},
create: function(e) {
return new W.Tween(e,this.game,this)
},
remove: function(e) {
var t = this._tweens.indexOf(e);
-1 !== t ? this._tweens[t].pendingDelete = !0 : -1 !== (t = this._add.indexOf(e)) && (this._add[t].pendingDelete = !0)
},
update: function() {
var e = this._add.length
, t = this._tweens.length;
if (0 === t && 0 === e)
return !1;
for (var i = 0; i < t; )
this._tweens[i].update(this.game.time.time) ? i++ : (this._tweens.splice(i, 1),
t--);
return 0 < e && (this._tweens = this._tweens.concat(this._add),
this._add.length = 0),
!0
},
isTweening: function(t) {
return this._tweens.some(function(e) {
return e.target === t
})
},
_pauseAll: function() {
for (var e = this._tweens.length - 1; 0 <= e; e--)
this._tweens[e]._pause()
},
_resumeAll: function() {
for (var e = this._tweens.length - 1; 0 <= e; e--)
this._tweens[e]._resume()
},
pauseAll: function() {
for (var e = this._tweens.length - 1; 0 <= e; e--)
this._tweens[e].pause()
},
resumeAll: function() {
for (var e = this._tweens.length - 1; 0 <= e; e--)
this._tweens[e].resume(!0)
}
},
W.TweenManager.prototype.constructor = W.TweenManager,
W.Tween = function(e, t, i) {
this.game = t,
this.target = e,
this.manager = i,
this.timeline = [],
this.reverse = !1,
this.timeScale = 1,
this.repeatCounter = 0,
this.pendingDelete = !1,
this.onStart = new W.Signal,
this.onLoop = new W.Signal,
this.onRepeat = new W.Signal,
this.onChildComplete = new W.Signal,
this.onComplete = new W.Signal,
this.isRunning = !1,
this.current = 0,
this.properties = {},
this.chainedTween = null,
this.isPaused = !1,
this.frameBased = i.frameBased,
this._onUpdateCallback = null,
this._onUpdateCallbackContext = null,
this._pausedTime = 0,
this._codePaused = !1,
this._hasStarted = !1
}
,
W.Tween.prototype = {
to: function(e, t, i, r, o, s, a) {
return (void 0 === t || t <= 0) && (t = 1e3),
null == i && (i = W.Easing.Default),
void 0 === r && (r = !1),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
void 0 === a && (a = !1),
"string" == typeof i && this.manager.easeMap[i] && (i = this.manager.easeMap[i]),
this.isRunning || (this.timeline.push(new W.TweenData(this).to(e, t, i, o, s, a)),
r && this.start()),
this
},
from: function(e, t, i, r, o, s, a) {
return void 0 === t && (t = 1e3),
null == i && (i = W.Easing.Default),
void 0 === r && (r = !1),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
void 0 === a && (a = !1),
"string" == typeof i && this.manager.easeMap[i] && (i = this.manager.easeMap[i]),
this.isRunning || (this.timeline.push(new W.TweenData(this).from(e, t, i, o, s, a)),
r && this.start()),
this
},
start: function(e) {
if (void 0 === e && (e = 0),
null === this.game || null === this.target || 0 === this.timeline.length || this.isRunning)
return this;
for (var t = 0; t < this.timeline.length; t++)
for (var i in this.timeline[t].vEnd)
this.properties[i] = this.target[i] || 0,
Array.isArray(this.properties[i]) || (this.properties[i] *= 1);
for (t = 0; t < this.timeline.length; t++)
this.timeline[t].loadValues();
return this.manager.add(this),
this.isRunning = !0,
(e < 0 || e > this.timeline.length - 1) && (e = 0),
this.current = e,
this.timeline[this.current].start(),
this
},
stop: function(e) {
return void 0 === e && (e = !1),
this.isRunning = !1,
this._onUpdateCallback = null,
this._onUpdateCallbackContext = null,
e && (this.onComplete.dispatch(this.target, this),
this._hasStarted = !1,
this.chainedTween && this.chainedTween.start()),
this.manager.remove(this),
this
},
updateTweenData: function(e, t, i) {
if (0 === this.timeline.length)
return this;
if (void 0 === i && (i = 0),
-1 === i)
for (var r = 0; r < this.timeline.length; r++)
this.timeline[r][e] = t;
else
this.timeline[i][e] = t;
return this
},
delay: function(e, t) {
return this.updateTweenData("delay", e, t)
},
repeat: function(e, t, i) {
return void 0 === t && (t = 0),
this.updateTweenData("repeatCounter", e, i),
this.updateTweenData("repeatDelay", t, i)
},
repeatDelay: function(e, t) {
return this.updateTweenData("repeatDelay", e, t)
},
yoyo: function(e, t, i) {
return void 0 === t && (t = 0),
this.updateTweenData("yoyo", e, i),
this.updateTweenData("yoyoDelay", t, i)
},
yoyoDelay: function(e, t) {
return this.updateTweenData("yoyoDelay", e, t)
},
easing: function(e, t) {
return "string" == typeof e && this.manager.easeMap[e] && (e = this.manager.easeMap[e]),
this.updateTweenData("easingFunction", e, t)
},
interpolation: function(e, t, i) {
return void 0 === t && (t = W.Math),
this.updateTweenData("interpolationFunction", e, i),
this.updateTweenData("interpolationContext", t, i)
},
repeatAll: function(e) {
return void 0 === e && (e = 0),
this.repeatCounter = e,
this
},
chain: function() {
for (var e = arguments.length; e--; )
0 < e ? arguments[e - 1].chainedTween = arguments[e] : this.chainedTween = arguments[e];
return this
},
loop: function(e) {
return void 0 === e && (e = !0),
this.repeatCounter = e ? -1 : 0,
this
},
onUpdateCallback: function(e, t) {
return this._onUpdateCallback = e,
this._onUpdateCallbackContext = t,
this
},
pause: function() {
this.isPaused = !0,
this._codePaused = !0,
this._pausedTime = this.game.time.time
},
_pause: function() {
this._codePaused || (this.isPaused = !0,
this._pausedTime = this.game.time.time)
},
resume: function() {
if (this.isPaused) {
this.isPaused = !1,
this._codePaused = !1;
for (var e = 0; e < this.timeline.length; e++)
this.timeline[e].isRunning || (this.timeline[e].startTime += this.game.time.time - this._pausedTime)
}
},
_resume: function() {
this._codePaused || this.resume()
},
update: function(e) {
if (this.pendingDelete || !this.target)
return !1;
if (this.isPaused)
return !0;
var t = this.timeline[this.current].update(e);
if (t === W.TweenData.PENDING)
return !0;
if (t === W.TweenData.RUNNING)
return this._hasStarted || (this.onStart.dispatch(this.target, this),
this._hasStarted = !0),
null !== this._onUpdateCallback && this._onUpdateCallback.call(this._onUpdateCallbackContext, this, this.timeline[this.current].value, this.timeline[this.current]),
this.isRunning;
if (t === W.TweenData.LOOPED)
return -1 === this.timeline[this.current].repeatCounter ? this.onLoop.dispatch(this.target, this) : this.onRepeat.dispatch(this.target, this),
!0;
if (t === W.TweenData.COMPLETE) {
var i = !1;
return this.reverse ? (this.current--,
this.current < 0 && (this.current = this.timeline.length - 1,
i = !0)) : (this.current++,
this.current === this.timeline.length && (i = !(this.current = 0))),
i ? -1 === this.repeatCounter ? (this.timeline[this.current].start(),
this.onLoop.dispatch(this.target, this),
!0) : 0 < this.repeatCounter ? (this.repeatCounter--,
this.timeline[this.current].start(),
this.onRepeat.dispatch(this.target, this),
!0) : (this.isRunning = !1,
this.onComplete.dispatch(this.target, this),
this._hasStarted = !1,
this.chainedTween && this.chainedTween.start(),
!1) : (this.onChildComplete.dispatch(this.target, this),
this.timeline[this.current].start(),
!0)
}
},
generateData: function(e, t) {
if (null === this.game || null === this.target)
return null;
void 0 === e && (e = 60),
void 0 === t && (t = []);
for (var i = 0; i < this.timeline.length; i++)
for (var r in this.timeline[i].vEnd)
this.properties[r] = this.target[r] || 0,
Array.isArray(this.properties[r]) || (this.properties[r] *= 1);
for (i = 0; i < this.timeline.length; i++)
this.timeline[i].loadValues();
for (i = 0; i < this.timeline.length; i++)
t = t.concat(this.timeline[i].generateData(e));
return t
}
},
Object.defineProperty(W.Tween.prototype, "totalDuration", {
get: function() {
for (var e = 0, t = 0; t < this.timeline.length; t++)
e += this.timeline[t].duration;
return e
}
}),
W.Tween.prototype.constructor = W.Tween,
W.TweenData = function(e) {
this.parent = e,
this.game = e.game,
this.vStart = {},
this.vStartCache = {},
this.vEnd = {},
this.vEndCache = {},
this.duration = 1e3,
this.percent = 0,
this.value = 0,
this.repeatCounter = 0,
this.repeatDelay = 0,
this.repeatTotal = 0,
this.interpolate = !1,
this.yoyo = !1,
this.yoyoDelay = 0,
this.inReverse = !1,
this.delay = 0,
this.dt = 0,
this.startTime = null,
this.easingFunction = W.Easing.Default,
this.interpolationFunction = W.Math.linearInterpolation,
this.interpolationContext = W.Math,
this.isRunning = !1,
this.isFrom = !1
}
,
W.TweenData.PENDING = 0,
W.TweenData.RUNNING = 1,
W.TweenData.LOOPED = 2,
W.TweenData.COMPLETE = 3,
W.TweenData.prototype = {
to: function(e, t, i, r, o, s) {
return this.vEnd = e,
this.duration = t,
this.easingFunction = i,
this.delay = r,
this.repeatTotal = o,
this.yoyo = s,
this.isFrom = !1,
this
},
from: function(e, t, i, r, o, s) {
return this.vEnd = e,
this.duration = t,
this.easingFunction = i,
this.delay = r,
this.repeatTotal = o,
this.yoyo = s,
this.isFrom = !0,
this
},
start: function() {
if (this.startTime = this.game.time.time + this.delay,
this.parent.reverse ? this.dt = this.duration : this.dt = 0,
0 < this.delay ? this.isRunning = !1 : this.isRunning = !0,
this.isFrom)
for (var e in this.vStartCache)
this.vStart[e] = this.vEndCache[e],
this.vEnd[e] = this.vStartCache[e],
this.parent.target[e] = this.vStart[e];
return this.value = 0,
this.yoyoCounter = 0,
this.repeatCounter = this.repeatTotal,
this
},
loadValues: function() {
for (var e in this.parent.properties) {
if (this.vStart[e] = this.parent.properties[e],
Array.isArray(this.vEnd[e])) {
if (0 === this.vEnd[e].length)
continue;
0 === this.percent && (this.vEnd[e] = [this.vStart[e]].concat(this.vEnd[e]))
}
void 0 !== this.vEnd[e] ? ("string" == typeof this.vEnd[e] && (this.vEnd[e] = this.vStart[e] + parseFloat(this.vEnd[e], 10)),
this.parent.properties[e] = this.vEnd[e]) : this.vEnd[e] = this.vStart[e],
this.vStartCache[e] = this.vStart[e],
this.vEndCache[e] = this.vEnd[e]
}
return this
},
update: function(e) {
if (this.isRunning) {
if (e < this.startTime)
return W.TweenData.RUNNING
} else {
if (!(e >= this.startTime))
return W.TweenData.PENDING;
this.isRunning = !0
}
var t = this.parent.frameBased ? this.game.time.physicsElapsedMS : this.game.time.elapsedMS;
for (var i in this.parent.reverse ? (this.dt -= t * this.parent.timeScale,
this.dt = Math.max(this.dt, 0)) : (this.dt += t * this.parent.timeScale,
this.dt = Math.min(this.dt, this.duration)),
this.percent = this.dt / this.duration,
this.value = this.easingFunction(this.percent),
this.vEnd) {
var r = this.vStart[i]
, o = this.vEnd[i];
Array.isArray(o) ? this.parent.target[i] = this.interpolationFunction.call(this.interpolationContext, o, this.value) : this.parent.target[i] = r + (o - r) * this.value
}
return !this.parent.reverse && 1 === this.percent || this.parent.reverse && 0 === this.percent ? this.repeat() : W.TweenData.RUNNING
},
generateData: function(e) {
this.parent.reverse ? this.dt = this.duration : this.dt = 0;
var t = []
, i = !1
, r = 1 / e * 1e3;
do {
this.parent.reverse ? (this.dt -= r,
this.dt = Math.max(this.dt, 0)) : (this.dt += r,
this.dt = Math.min(this.dt, this.duration)),
this.percent = this.dt / this.duration,
this.value = this.easingFunction(this.percent);
var o = {};
for (var s in this.vEnd) {
var a = this.vStart[s]
, n = this.vEnd[s];
Array.isArray(n) ? o[s] = this.interpolationFunction(n, this.value) : o[s] = a + (n - a) * this.value
}
t.push(o),
(!this.parent.reverse && 1 === this.percent || this.parent.reverse && 0 === this.percent) && (i = !0)
} while (!i);
if (this.yoyo) {
var h = t.slice();
h.reverse(),
t = t.concat(h)
}
return t
},
repeat: function() {
if (this.yoyo) {
if (this.inReverse && 0 === this.repeatCounter) {
for (var e in this.vStartCache)
this.vStart[e] = this.vStartCache[e],
this.vEnd[e] = this.vEndCache[e];
return this.inReverse = !1,
W.TweenData.COMPLETE
}
this.inReverse = !this.inReverse
} else if (0 === this.repeatCounter)
return W.TweenData.COMPLETE;
if (this.inReverse)
for (var e in this.vStartCache)
this.vStart[e] = this.vEndCache[e],
this.vEnd[e] = this.vStartCache[e];
else {
for (var e in this.vStartCache)
this.vStart[e] = this.vStartCache[e],
this.vEnd[e] = this.vEndCache[e];
0 < this.repeatCounter && this.repeatCounter--
}
return this.startTime = this.game.time.time,
this.yoyo && this.inReverse ? this.startTime += this.yoyoDelay : this.inReverse || (this.startTime += this.repeatDelay),
this.parent.reverse ? this.dt = this.duration : this.dt = 0,
W.TweenData.LOOPED
}
},
W.TweenData.prototype.constructor = W.TweenData,
W.Easing = {
Linear: {
None: function(e) {
return e
}
},
Quadratic: {
In: function(e) {
return e * e
},
Out: function(e) {
return e * (2 - e)
},
InOut: function(e) {
return (e *= 2) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
}
},
Cubic: {
In: function(e) {
return e * e * e
},
Out: function(e) {
return --e * e * e + 1
},
InOut: function(e) {
return (e *= 2) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
}
},
Quartic: {
In: function(e) {
return e * e * e * e
},
Out: function(e) {
return 1 - --e * e * e * e
},
InOut: function(e) {
return (e *= 2) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
}
},
Quintic: {
In: function(e) {
return e * e * e * e * e
},
Out: function(e) {
return --e * e * e * e * e + 1
},
InOut: function(e) {
return (e *= 2) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
}
},
Sinusoidal: {
In: function(e) {
return 0 === e ? 0 : 1 === e ? 1 : 1 - Math.cos(e * Math.PI / 2)
},
Out: function(e) {
return 0 === e ? 0 : 1 === e ? 1 : Math.sin(e * Math.PI / 2)
},
InOut: function(e) {
return 0 === e ? 0 : 1 === e ? 1 : .5 * (1 - Math.cos(Math.PI * e))
}
},
Exponential: {
In: function(e) {
return 0 === e ? 0 : Math.pow(1024, e - 1)
},
Out: function(e) {
return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
},
InOut: function(e) {
return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? .5 * Math.pow(1024, e - 1) : .5 * (2 - Math.pow(2, -10 * (e - 1)))
}
},
Circular: {
In: function(e) {
return 1 - Math.sqrt(1 - e * e)
},
Out: function(e) {
return Math.sqrt(1 - --e * e)
},
InOut: function(e) {
return (e *= 2) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
}
},
Elastic: {
In: function(e) {
var t, i = .1;
return 0 === e ? 0 : 1 === e ? 1 : (t = !i || i < 1 ? (i = 1,
.1) : .4 * Math.asin(1 / i) / (2 * Math.PI),
-i * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * (2 * Math.PI) / .4))
},
Out: function(e) {
var t, i = .1;
return 0 === e ? 0 : 1 === e ? 1 : (t = !i || i < 1 ? (i = 1,
.1) : .4 * Math.asin(1 / i) / (2 * Math.PI),
i * Math.pow(2, -10 * e) * Math.sin((e - t) * (2 * Math.PI) / .4) + 1)
},
InOut: function(e) {
var t, i = .1;
return 0 === e ? 0 : 1 === e ? 1 : (t = !i || i < 1 ? (i = 1,
.1) : .4 * Math.asin(1 / i) / (2 * Math.PI),
(e *= 2) < 1 ? i * Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * (2 * Math.PI) / .4) * -.5 : i * Math.pow(2, -10 * (e -= 1)) * Math.sin((e - t) * (2 * Math.PI) / .4) * .5 + 1)
}
},
Back: {
In: function(e) {
return e * e * (2.70158 * e - 1.70158)
},
Out: function(e) {
return --e * e * (2.70158 * e + 1.70158) + 1
},
InOut: function(e) {
var t = 2.5949095;
return (e *= 2) < 1 ? e * e * ((t + 1) * e - t) * .5 : .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
}
},
Bounce: {
In: function(e) {
return 1 - W.Easing.Bounce.Out(1 - e)
},
Out: function(e) {
return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
},
InOut: function(e) {
return e < .5 ? .5 * W.Easing.Bounce.In(2 * e) : .5 * W.Easing.Bounce.Out(2 * e - 1) + .5
}
}
},
W.Easing.Default = W.Easing.Linear.None,
W.Easing.Power0 = W.Easing.Linear.None,
W.Easing.Power1 = W.Easing.Quadratic.Out,
W.Easing.Power2 = W.Easing.Cubic.Out,
W.Easing.Power3 = W.Easing.Quartic.Out,
W.Easing.Power4 = W.Easing.Quintic.Out,
W.Time = function(e) {
this.game = e,
this.time = 0,
this.prevTime = 0,
this.now = 0,
this.elapsed = 0,
this.elapsedMS = 0,
this.physicsElapsed = 1 / 60,
this.physicsElapsedMS = 1 / 60 * 1e3,
this.desiredFpsMult = 1 / 60,
this._desiredFps = 60,
this.suggestedFps = this.desiredFps,
this.slowMotion = 1,
this.advancedTiming = !1,
this.frames = 0,
this.fps = 0,
this.fpsMin = 1e3,
this.fpsMax = 0,
this.msMin = 1e3,
this.msMax = 0,
this.pauseDuration = 0,
this.timeToCall = 0,
this.timeExpected = 0,
this.events = new W.Timer(this.game,!1),
this._frameCount = 0,
this._elapsedAccumulator = 0,
this._started = 0,
this._timeLastSecond = 0,
this._pauseStarted = 0,
this._justResumed = !1,
this._timers = []
}
,
W.Time.prototype = {
boot: function() {
this._started = Date.now(),
this.time = Date.now(),
this.events.start(),
this.timeExpected = this.time
},
add: function(e) {
return this._timers.push(e),
e
},
create: function(e) {
void 0 === e && (e = !0);
var t = new W.Timer(this.game,e);
return this._timers.push(t),
t
},
removeAll: function() {
for (var e = 0; e < this._timers.length; e++)
this._timers[e].destroy();
this._timers = [],
this.events.removeAll()
},
refresh: function() {
var e = this.time;
this.time = Date.now(),
this.elapsedMS = this.time - e
},
update: function(e) {
var t = this.time;
this.time = Date.now(),
this.elapsedMS = this.time - t,
this.prevTime = this.now,
this.now = e,
this.elapsed = this.now - this.prevTime,
this.game.raf._isSetTimeOut && (this.timeToCall = Math.floor(Math.max(0, 1e3 / this._desiredFps - (this.timeExpected - e))),
this.timeExpected = e + this.timeToCall),
this.advancedTiming && this.updateAdvancedTiming(),
this.game.paused || (this.events.update(this.time),
this._timers.length && this.updateTimers())
},
updateTimers: function() {
for (var e = 0, t = this._timers.length; e < t; )
this._timers[e].update(this.time) ? e++ : (this._timers.splice(e, 1),
t--)
},
updateAdvancedTiming: function() {
this._frameCount++,
this._elapsedAccumulator += this.elapsed,
this._frameCount >= 2 * this._desiredFps && (this.suggestedFps = 5 * Math.floor(200 / (this._elapsedAccumulator / this._frameCount)),
this._frameCount = 0,
this._elapsedAccumulator = 0),
this.msMin = Math.min(this.msMin, this.elapsed),
this.msMax = Math.max(this.msMax, this.elapsed),
this.frames++,
this.now > this._timeLastSecond + 1e3 && (this.fps = Math.round(1e3 * this.frames / (this.now - this._timeLastSecond)),
this.fpsMin = Math.min(this.fpsMin, this.fps),
this.fpsMax = Math.max(this.fpsMax, this.fps),
this._timeLastSecond = this.now,
this.frames = 0)
},
gamePaused: function() {
this._pauseStarted = Date.now(),
this.events.pause();
for (var e = this._timers.length; e--; )
this._timers[e]._pause()
},
gameResumed: function() {
this.time = Date.now(),
this.pauseDuration = this.time - this._pauseStarted,
this.events.resume();
for (var e = this._timers.length; e--; )
this._timers[e]._resume()
},
totalElapsedSeconds: function() {
return .001 * (this.time - this._started)
},
elapsedSince: function(e) {
return this.time - e
},
elapsedSecondsSince: function(e) {
return .001 * (this.time - e)
},
reset: function() {
this._started = this.time,
this.removeAll()
}
},
Object.defineProperty(W.Time.prototype, "desiredFps", {
get: function() {
return this._desiredFps
},
set: function(e) {
this._desiredFps = e,
this.physicsElapsed = 1 / e,
this.physicsElapsedMS = 1e3 * this.physicsElapsed,
this.desiredFpsMult = 1 / e
}
}),
W.Time.prototype.constructor = W.Time,
W.Timer = function(e, t) {
void 0 === t && (t = !0),
this.game = e,
this.running = !1,
this.autoDestroy = t,
this.expired = !1,
this.elapsed = 0,
this.events = [],
this.onComplete = new W.Signal,
this.nextTick = 0,
this.timeCap = 1e3,
this.paused = !1,
this._codePaused = !1,
this._started = 0,
this._pauseStarted = 0,
this._pauseTotal = 0,
this._now = Date.now(),
this._len = 0,
this._marked = 0,
this._i = 0,
this._diff = 0,
this._newTick = 0
}
,
W.Timer.MINUTE = 6e4,
W.Timer.SECOND = 1e3,
W.Timer.HALF = 500,
W.Timer.QUARTER = 250,
W.Timer.prototype = {
create: function(e, t, i, r, o, s) {
var a = e = Math.round(e);
0 === this._now ? a += this.game.time.time : a += this._now;
var n = new W.TimerEvent(this,e,a,i,t,r,o,s);
return this.events.push(n),
this.order(),
this.expired = !1,
n
},
add: function(e, t, i) {
return this.create(e, !1, 0, t, i, Array.prototype.slice.call(arguments, 3))
},
repeat: function(e, t, i, r) {
return this.create(e, !1, t, i, r, Array.prototype.slice.call(arguments, 4))
},
loop: function(e, t, i) {
return this.create(e, !0, 0, t, i, Array.prototype.slice.call(arguments, 3))
},
start: function(e) {
if (!this.running) {
this._started = this.game.time.time + (e || 0),
this.running = !0;
for (var t = 0; t < this.events.length; t++)
this.events[t].tick = this.events[t].delay + this._started
}
},
stop: function(e) {
this.running = !1,
void 0 === e && (e = !0),
e && (this.events.length = 0)
},
remove: function(e) {
for (var t = 0; t < this.events.length; t++)
if (this.events[t] === e)
return this.events[t].pendingDelete = !0;
return !1
},
order: function() {
0 < this.events.length && (this.events.sort(this.sortHandler),
this.nextTick = this.events[0].tick)
},
sortHandler: function(e, t) {
return e.tick < t.tick ? -1 : e.tick > t.tick ? 1 : 0
},
clearPendingEvents: function() {
for (this._i = this.events.length; this._i--; )
this.events[this._i].pendingDelete && this.events.splice(this._i, 1);
this._len = this.events.length,
this._i = 0
},
update: function(e) {
if (this.paused)
return !0;
if (this.elapsed = e - this._now,
this._now = e,
this.elapsed > this.timeCap && this.adjustEvents(e - this.elapsed),
this._marked = 0,
this.clearPendingEvents(),
this.running && this._now >= this.nextTick && 0 < this._len) {
for (; this._i < this._len && this.running && this._now >= this.events[this._i].tick && !this.events[this._i].pendingDelete; )
this._newTick = this._now + this.events[this._i].delay - (this._now - this.events[this._i].tick),
this._newTick < 0 && (this._newTick = this._now + this.events[this._i].delay),
!0 === this.events[this._i].loop ? this.events[this._i].tick = this._newTick : 0 < this.events[this._i].repeatCount ? (this.events[this._i].repeatCount--,
this.events[this._i].tick = this._newTick) : (this._marked++,
this.events[this._i].pendingDelete = !0),
this.events[this._i].callback.apply(this.events[this._i].callbackContext, this.events[this._i].args),
this._i++;
this.events.length > this._marked ? this.order() : (this.expired = !0,
this.onComplete.dispatch(this))
}
return !this.expired || !this.autoDestroy
},
pause: function() {
this.running && (this._codePaused = !0,
this.paused || (this._pauseStarted = this.game.time.time,
this.paused = !0))
},
_pause: function() {
!this.paused && this.running && (this._pauseStarted = this.game.time.time,
this.paused = !0)
},
adjustEvents: function(e) {
for (var t = 0; t < this.events.length; t++)
if (!this.events[t].pendingDelete) {
var i = this.events[t].tick - e;
i < 0 && (i = 0),
this.events[t].tick = this._now + i
}
var r = this.nextTick - e;
this.nextTick = r < 0 ? this._now : this._now + r
},
resume: function() {
if (this.paused) {
var e = this.game.time.time;
this._pauseTotal += e - this._now,
this._now = e,
this.adjustEvents(this._pauseStarted),
this.paused = !1,
this._codePaused = !1
}
},
_resume: function() {
this._codePaused || this.resume()
},
removeAll: function() {
this.onComplete.removeAll(),
this.events.length = 0,
this._len = 0,
this._i = 0
},
destroy: function() {
this.onComplete.removeAll(),
this.running = !1,
this.events = [],
this._len = 0,
this._i = 0
}
},
Object.defineProperty(W.Timer.prototype, "next", {
get: function() {
return this.nextTick
}
}),
Object.defineProperty(W.Timer.prototype, "duration", {
get: function() {
return this.running && this.nextTick > this._now ? this.nextTick - this._now : 0
}
}),
Object.defineProperty(W.Timer.prototype, "length", {
get: function() {
return this.events.length
}
}),
Object.defineProperty(W.Timer.prototype, "ms", {
get: function() {
return this.running ? this._now - this._started - this._pauseTotal : 0
}
}),
Object.defineProperty(W.Timer.prototype, "seconds", {
get: function() {
return this.running ? .001 * this.ms : 0
}
}),
W.Timer.prototype.constructor = W.Timer,
W.TimerEvent = function(e, t, i, r, o, s, a, n) {
this.timer = e,
this.delay = t,
this.tick = i,
this.repeatCount = r - 1,
this.loop = o,
this.callback = s,
this.callbackContext = a,
this.args = n,
this.pendingDelete = !1
}
,
W.TimerEvent.prototype.constructor = W.TimerEvent,
W.AnimationManager = function(e) {
this.sprite = e,
this.game = e.game,
this.currentFrame = null,
this.currentAnim = null,
this.updateIfVisible = !0,
this.isLoaded = !1,
this._frameData = null,
this._anims = {},
this._outputFrames = []
}
,
W.AnimationManager.prototype = {
loadFrameData: function(e, t) {
if (void 0 === e)
return !1;
if (this.isLoaded)
for (var i in this._anims)
this._anims[i].updateFrameData(e);
return this._frameData = e,
null == t ? this.frame = 0 : "string" == typeof t ? this.frameName = t : this.frame = t,
this.isLoaded = !0
},
copyFrameData: function(e, t) {
if (this._frameData = e.clone(),
this.isLoaded)
for (var i in this._anims)
this._anims[i].updateFrameData(this._frameData);
return null == t ? this.frame = 0 : "string" == typeof t ? this.frameName = t : this.frame = t,
this.isLoaded = !0
},
add: function(e, t, i, r, o) {
return t = t || [],
i = i || 60,
void 0 === r && (r = !1),
void 0 === o && (o = !(!t || "number" != typeof t[0])),
this._outputFrames = [],
this._frameData.getFrameIndexes(t, o, this._outputFrames),
this._anims[e] = new W.Animation(this.game,this.sprite,e,this._frameData,this._outputFrames,i,r),
this.currentAnim = this._anims[e],
this.sprite.tilingTexture && (this.sprite.refreshTexture = !0),
this._anims[e]
},
validateFrames: function(e, t) {
void 0 === t && (t = !0);
for (var i = 0; i < e.length; i++)
if (!0 === t) {
if (e[i] > this._frameData.total)
return !1
} else if (!1 === this._frameData.checkFrameName(e[i]))
return !1;
return !0
},
play: function(e, t, i, r) {
if (this._anims[e])
return this.currentAnim === this._anims[e] ? !1 === this.currentAnim.isPlaying ? (this.currentAnim.paused = !1,
this.currentAnim.play(t, i, r)) : this.currentAnim : (this.currentAnim && this.currentAnim.isPlaying && this.currentAnim.stop(),
this.currentAnim = this._anims[e],
this.currentAnim.paused = !1,
this.currentFrame = this.currentAnim.currentFrame,
this.currentAnim.play(t, i, r))
},
stop: function(e, t) {
void 0 === t && (t = !1),
!this.currentAnim || "string" == typeof e && e !== this.currentAnim.name || this.currentAnim.stop(t)
},
update: function() {
return !(this.updateIfVisible && !this.sprite.visible) && (!(!this.currentAnim || !this.currentAnim.update()) && (this.currentFrame = this.currentAnim.currentFrame,
!0))
},
next: function(e) {
this.currentAnim && (this.currentAnim.next(e),
this.currentFrame = this.currentAnim.currentFrame)
},
previous: function(e) {
this.currentAnim && (this.currentAnim.previous(e),
this.currentFrame = this.currentAnim.currentFrame)
},
getAnimation: function(e) {
return "string" == typeof e && this._anims[e] ? this._anims[e] : null
},
refreshFrame: function() {},
destroy: function() {
var e = null;
for (var e in this._anims)
this._anims.hasOwnProperty(e) && this._anims[e].destroy();
this._anims = {},
this._outputFrames = [],
this._frameData = null,
this.currentAnim = null,
this.currentFrame = null,
this.sprite = null,
this.game = null
}
},
W.AnimationManager.prototype.constructor = W.AnimationManager,
Object.defineProperty(W.AnimationManager.prototype, "frameData", {
get: function() {
return this._frameData
}
}),
Object.defineProperty(W.AnimationManager.prototype, "frameTotal", {
get: function() {
return this._frameData.total
}
}),
Object.defineProperty(W.AnimationManager.prototype, "paused", {
get: function() {
return this.currentAnim.isPaused
},
set: function(e) {
this.currentAnim.paused = e
}
}),
Object.defineProperty(W.AnimationManager.prototype, "name", {
get: function() {
if (this.currentAnim)
return this.currentAnim.name
}
}),
Object.defineProperty(W.AnimationManager.prototype, "frame", {
get: function() {
if (this.currentFrame)
return this.currentFrame.index
},
set: function(e) {
"number" == typeof e && this._frameData && null !== this._frameData.getFrame(e) && (this.currentFrame = this._frameData.getFrame(e),
this.currentFrame && this.sprite.setFrame(this.currentFrame))
}
}),
Object.defineProperty(W.AnimationManager.prototype, "frameName", {
get: function() {
if (this.currentFrame)
return this.currentFrame.name
},
set: function(e) {
"string" == typeof e && this._frameData && null !== this._frameData.getFrameByName(e) && (this.currentFrame = this._frameData.getFrameByName(e),
this.currentFrame && (this._frameIndex = this.currentFrame.index,
this.sprite.setFrame(this.currentFrame)))
}
}),
W.Animation = function(e, t, i, r, o, s, a) {
void 0 === a && (a = !1),
this.game = e,
this._parent = t,
this._frameData = r,
this.name = i,
this._frames = [],
this._frames = this._frames.concat(o),
this.delay = 1e3 / s,
this.loop = a,
this.loopCount = 0,
this.killOnComplete = !1,
this.isFinished = !1,
this.isPlaying = !1,
this.isPaused = !1,
this._pauseStartTime = 0,
this._frameIndex = 0,
this._frameDiff = 0,
this._frameSkip = 1,
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]),
this.onStart = new W.Signal,
this.onUpdate = null,
this.onComplete = new W.Signal,
this.onLoop = new W.Signal,
this.isReversed = !1,
this.game.onPause.add(this.onPause, this),
this.game.onResume.add(this.onResume, this)
}
,
W.Animation.prototype = {
play: function(e, t, i) {
return "number" == typeof e && (this.delay = 1e3 / e),
"boolean" == typeof t && (this.loop = t),
void 0 !== i && (this.killOnComplete = i),
this.isPlaying = !0,
this.isFinished = !1,
this.paused = !1,
this.loopCount = 0,
this._timeLastFrame = this.game.time.time,
this._timeNextFrame = this.game.time.time + this.delay,
this._frameIndex = this.isReversed ? this._frames.length - 1 : 0,
this.updateCurrentFrame(!1, !0),
this._parent.events.onAnimationStart$dispatch(this._parent, this),
this.onStart.dispatch(this._parent, this),
(this._parent.animations.currentAnim = this)._parent.animations.currentFrame = this.currentFrame,
this
},
restart: function() {
this.isPlaying = !0,
this.isFinished = !1,
this.paused = !1,
this.loopCount = 0,
this._timeLastFrame = this.game.time.time,
this._timeNextFrame = this.game.time.time + this.delay,
this._frameIndex = 0,
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]),
this._parent.setFrame(this.currentFrame),
(this._parent.animations.currentAnim = this)._parent.animations.currentFrame = this.currentFrame,
this.onStart.dispatch(this._parent, this)
},
reverse: function() {
return this.reversed = !this.reversed,
this
},
reverseOnce: function() {
return this.onComplete.addOnce(this.reverse, this),
this.reverse()
},
setFrame: function(e, t) {
var i;
if (void 0 === t && (t = !1),
"string" == typeof e)
for (var r = 0; r < this._frames.length; r++)
this._frameData.getFrame(this._frames[r]).name === e && (i = r);
else if ("number" == typeof e)
if (t)
i = e;
else
for (r = 0; r < this._frames.length; r++)
this._frames[r] === e && (i = r);
i && (this._frameIndex = i - 1,
this._timeNextFrame = this.game.time.time,
this.update())
},
stop: function(e, t) {
void 0 === e && (e = !1),
void 0 === t && (t = !1),
this.isPlaying = !1,
this.isFinished = !0,
this.paused = !1,
e && (this.currentFrame = this._frameData.getFrame(this._frames[0]),
this._parent.setFrame(this.currentFrame)),
t && (this._parent.events.onAnimationComplete$dispatch(this._parent, this),
this.onComplete.dispatch(this._parent, this))
},
onPause: function() {
this.isPlaying && (this._frameDiff = this._timeNextFrame - this.game.time.time)
},
onResume: function() {
this.isPlaying && (this._timeNextFrame = this.game.time.time + this._frameDiff)
},
update: function() {
return !this.isPaused && (!!(this.isPlaying && this.game.time.time >= this._timeNextFrame) && (this._frameSkip = 1,
this._frameDiff = this.game.time.time - this._timeNextFrame,
this._timeLastFrame = this.game.time.time,
this._frameDiff > this.delay && (this._frameSkip = Math.floor(this._frameDiff / this.delay),
this._frameDiff -= this._frameSkip * this.delay),
this._timeNextFrame = this.game.time.time + (this.delay - this._frameDiff),
this.isReversed ? this._frameIndex -= this._frameSkip : this._frameIndex += this._frameSkip,
!this.isReversed && this._frameIndex >= this._frames.length || this.isReversed && this._frameIndex <= -1 ? this.loop ? (this._frameIndex = Math.abs(this._frameIndex) % this._frames.length,
this.isReversed && (this._frameIndex = this._frames.length - 1 - this._frameIndex),
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]),
this.currentFrame && this._parent.setFrame(this.currentFrame),
this.loopCount++,
this._parent.events.onAnimationLoop$dispatch(this._parent, this),
this.onLoop.dispatch(this._parent, this),
!this.onUpdate || (this.onUpdate.dispatch(this, this.currentFrame),
!!this._frameData)) : (this.complete(),
!1) : this.updateCurrentFrame(!0)))
},
updateCurrentFrame: function(e, t) {
if (void 0 === t && (t = !1),
!this._frameData)
return !1;
var i = this.currentFrame.index;
return this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]),
this.currentFrame && (t || !t && i !== this.currentFrame.index) && this._parent.setFrame(this.currentFrame),
!this.onUpdate || !e || (this.onUpdate.dispatch(this, this.currentFrame),
!!this._frameData)
},
next: function(e) {
void 0 === e && (e = 1);
var t = this._frameIndex + e;
t >= this._frames.length && (this.loop ? t %= this._frames.length : t = this._frames.length - 1),
t !== this._frameIndex && (this._frameIndex = t,
this.updateCurrentFrame(!0))
},
previous: function(e) {
void 0 === e && (e = 1);
var t = this._frameIndex - e;
t < 0 && (this.loop ? t = this._frames.length + t : t++),
t !== this._frameIndex && (this._frameIndex = t,
this.updateCurrentFrame(!0))
},
updateFrameData: function(e) {
this._frameData = e,
this.currentFrame = this._frameData ? this._frameData.getFrame(this._frames[this._frameIndex % this._frames.length]) : null
},
destroy: function() {
this._frameData && (this.game.onPause.remove(this.onPause, this),
this.game.onResume.remove(this.onResume, this),
this.game = null,
this._parent = null,
this._frames = null,
this._frameData = null,
this.currentFrame = null,
this.isPlaying = !1,
this.onStart.dispose(),
this.onLoop.dispose(),
this.onComplete.dispose(),
this.onUpdate && this.onUpdate.dispose())
},
complete: function() {
this._frameIndex = this._frames.length - 1,
this.currentFrame = this._frameData.getFrame(this._frames[this._frameIndex]),
this.isPlaying = !1,
this.isFinished = !0,
this.paused = !1,
this._parent.events.onAnimationComplete$dispatch(this._parent, this),
this.onComplete.dispatch(this._parent, this),
this.killOnComplete && this._parent.kill()
}
},
W.Animation.prototype.constructor = W.Animation,
Object.defineProperty(W.Animation.prototype, "paused", {
get: function() {
return this.isPaused
},
set: function(e) {
(this.isPaused = e) ? this._pauseStartTime = this.game.time.time : this.isPlaying && (this._timeNextFrame = this.game.time.time + this.delay)
}
}),
Object.defineProperty(W.Animation.prototype, "reversed", {
get: function() {
return this.isReversed
},
set: function(e) {
this.isReversed = e
}
}),
Object.defineProperty(W.Animation.prototype, "frameTotal", {
get: function() {
return this._frames.length
}
}),
Object.defineProperty(W.Animation.prototype, "frame", {
get: function() {
return null !== this.currentFrame ? this.currentFrame.index : this._frameIndex
},
set: function(e) {
this.currentFrame = this._frameData.getFrame(this._frames[e]),
null !== this.currentFrame && (this._frameIndex = e,
this._parent.setFrame(this.currentFrame),
this.onUpdate && this.onUpdate.dispatch(this, this.currentFrame))
}
}),
Object.defineProperty(W.Animation.prototype, "speed", {
get: function() {
return 1e3 / this.delay
},
set: function(e) {
0 < e && (this.delay = 1e3 / e)
}
}),
Object.defineProperty(W.Animation.prototype, "enableUpdate", {
get: function() {
return null !== this.onUpdate
},
set: function(e) {
e && null === this.onUpdate ? this.onUpdate = new W.Signal : e || null === this.onUpdate || (this.onUpdate.dispose(),
this.onUpdate = null)
}
}),
W.Animation.generateFrameNames = function(e, t, i, r, o) {
void 0 === r && (r = "");
var s = []
, a = "";
if (t < i)
for (var n = t; n <= i; n++)
a = e + (a = "number" == typeof o ? W.Utils.pad(n.toString(), o, "0", 1) : n.toString()) + r,
s.push(a);
else
for (n = t; i <= n; n--)
a = e + (a = "number" == typeof o ? W.Utils.pad(n.toString(), o, "0", 1) : n.toString()) + r,
s.push(a);
return s
}
,
W.Frame = function(e, t, i, r, o, s) {
this.index = e,
this.x = t,
this.y = i,
this.width = r,
this.height = o,
this.name = s,
this.centerX = Math.floor(r / 2),
this.centerY = Math.floor(o / 2),
this.distance = W.Math.distance(0, 0, r, o),
this.rotated = !1,
this.rotationDirection = "cw",
this.trimmed = !1,
this.sourceSizeW = r,
this.sourceSizeH = o,
this.spriteSourceSizeX = 0,
this.spriteSourceSizeY = 0,
this.spriteSourceSizeW = 0,
this.spriteSourceSizeH = 0,
this.right = this.x + this.width,
this.bottom = this.y + this.height
}
,
W.Frame.prototype = {
resize: function(e, t) {
this.width = e,
this.height = t,
this.centerX = Math.floor(e / 2),
this.centerY = Math.floor(t / 2),
this.distance = W.Math.distance(0, 0, e, t),
this.sourceSizeW = e,
this.sourceSizeH = t,
this.right = this.x + e,
this.bottom = this.y + t
},
setTrim: function(e, t, i, r, o, s, a) {
(this.trimmed = e) && (this.sourceSizeW = t,
this.sourceSizeH = i,
this.centerX = Math.floor(t / 2),
this.centerY = Math.floor(i / 2),
this.spriteSourceSizeX = r,
this.spriteSourceSizeY = o,
this.spriteSourceSizeW = s,
this.spriteSourceSizeH = a)
},
clone: function() {
var e = new W.Frame(this.index,this.x,this.y,this.width,this.height,this.name);
for (var t in this)
this.hasOwnProperty(t) && (e[t] = this[t]);
return e
},
getRect: function(e) {
return void 0 === e ? e = new W.Rectangle(this.x,this.y,this.width,this.height) : e.setTo(this.x, this.y, this.width, this.height),
e
}
},
W.Frame.prototype.constructor = W.Frame,
W.FrameData = function() {
this._frames = [],
this._frameNames = []
}
,
W.FrameData.prototype = {
addFrame: function(e) {
return e.index = this._frames.length,
this._frames.push(e),
"" !== e.name && (this._frameNames[e.name] = e.index),
e
},
getFrame: function(e) {
return e >= this._frames.length && (e = 0),
this._frames[e]
},
getFrameByName: function(e) {
return "number" == typeof this._frameNames[e] ? this._frames[this._frameNames[e]] : null
},
checkFrameName: function(e) {
return null != this._frameNames[e]
},
clone: function() {
for (var e = new W.FrameData, t = 0; t < this._frames.length; t++)
e._frames.push(this._frames[t].clone());
for (var i in this._frameNames)
this._frameNames.hasOwnProperty(i) && e._frameNames.push(this._frameNames[i]);
return e
},
getFrameRange: function(e, t, i) {
void 0 === i && (i = []);
for (var r = e; r <= t; r++)
i.push(this._frames[r]);
return i
},
getFrames: function(e, t, i) {
if (void 0 === t && (t = !0),
void 0 === i && (i = []),
void 0 === e || 0 === e.length)
for (var r = 0; r < this._frames.length; r++)
i.push(this._frames[r]);
else
for (r = 0; r < e.length; r++)
t ? i.push(this.getFrame(e[r])) : i.push(this.getFrameByName(e[r]));
return i
},
getFrameIndexes: function(e, t, i) {
if (void 0 === t && (t = !0),
void 0 === i && (i = []),
void 0 === e || 0 === e.length)
for (var r = 0; r < this._frames.length; r++)
i.push(this._frames[r].index);
else
for (r = 0; r < e.length; r++)
t && this._frames[e[r]] ? i.push(this._frames[e[r]].index) : this.getFrameByName(e[r]) && i.push(this.getFrameByName(e[r]).index);
return i
},
destroy: function() {
this._frames = null,
this._frameNames = null
}
},
W.FrameData.prototype.constructor = W.FrameData,
Object.defineProperty(W.FrameData.prototype, "total", {
get: function() {
return this._frames.length
}
}),
W.AnimationParser = {
spriteSheet: function(e, t, i, r, o, s, a) {
var n = t;
if ("string" == typeof t && (n = e.cache.getImage(t)),
null === n)
return null;
var h = n.width
, c = n.height;
i <= 0 && (i = Math.floor(-h / Math.min(-1, i))),
r <= 0 && (r = Math.floor(-c / Math.min(-1, r)));
var l = Math.floor((h - s) / (i + a)) * Math.floor((c - s) / (r + a));
if (-1 !== o && (l = o),
0 === h || 0 === c || h < i || c < r || 0 === l)
return null;
for (var m = new W.FrameData, u = s, d = s, p = 0; p < l; p++)
m.addFrame(new W.Frame(p,u,d,i,r,"")),
h < (u += i + a) + i && (u = s,
d += r + a);
return m
},
JSONData: function(e, t) {
if (t.frames) {
for (var i, r = new W.FrameData, o = t.frames, s = 0; s < o.length; s++)
i = r.addFrame(new W.Frame(s,o[s].frame.x,o[s].frame.y,o[s].frame.w,o[s].frame.h,o[s].filename)),
o[s].trimmed && i.setTrim(o[s].trimmed, o[s].sourceSize.w, o[s].sourceSize.h, o[s].spriteSourceSize.x, o[s].spriteSourceSize.y, o[s].spriteSourceSize.w, o[s].spriteSourceSize.h);
return r
}
},
JSONDataPyxel: function(e, t) {
if (["layers", "tilewidth", "tileheight", "tileswide", "tileshigh"].forEach(function(e) {
t[e]
}),
1 === t.layers.length) {
for (var i = new W.FrameData, r = t.tileheight, o = t.tilewidth, s = t.layers[0].tiles, a = 0; a < s.length; a++)
i.addFrame(new W.Frame(a,s[a].x,s[a].y,o,r,"frame_" + a)).setTrim(!1);
return i
}
},
JSONDataHash: function(e, t) {
if (t.frames) {
var i, r = new W.FrameData, o = t.frames, s = 0;
for (var a in o)
i = r.addFrame(new W.Frame(s,o[a].frame.x,o[a].frame.y,o[a].frame.w,o[a].frame.h,a)),
o[a].trimmed && i.setTrim(o[a].trimmed, o[a].sourceSize.w, o[a].sourceSize.h, o[a].spriteSourceSize.x, o[a].spriteSourceSize.y, o[a].spriteSourceSize.w, o[a].spriteSourceSize.h),
s++;
return r
}
},
XMLData: function(e, t) {
if (t.getElementsByTagName("TextureAtlas")) {
for (var i, r, o, s, a, n, h, c, l, m, u, d = new W.FrameData, p = t.getElementsByTagName("SubTexture"), f = 0; f < p.length; f++)
r = (o = p[f].attributes).name.value,
s = parseInt(o.x.value, 10),
a = parseInt(o.y.value, 10),
n = parseInt(o.width.value, 10),
h = parseInt(o.height.value, 10),
l = c = null,
o.frameX && (c = Math.abs(parseInt(o.frameX.value, 10)),
l = Math.abs(parseInt(o.frameY.value, 10)),
m = parseInt(o.frameWidth.value, 10),
u = parseInt(o.frameHeight.value, 10)),
i = d.addFrame(new W.Frame(f,s,a,n,h,r)),
null === c && null === l || i.setTrim(!0, n, h, c, l, m, u);
return d
}
}
},
W.Cache = function(e) {
this.game = e,
this.autoResolveURL = !1,
this._cache = {
canvas: {},
image: {},
texture: {},
sound: {},
video: {},
text: {},
json: {},
xml: {},
physics: {},
tilemap: {},
binary: {},
bitmapData: {},
bitmapFont: {},
shader: {},
renderTexture: {}
},
this._urlMap = {},
this._urlResolver = new Image,
this._urlTemp = null,
this.onSoundUnlock = new W.Signal,
this._cacheMap = [],
this._cacheMap[W.Cache.CANVAS] = this._cache.canvas,
this._cacheMap[W.Cache.IMAGE] = this._cache.image,
this._cacheMap[W.Cache.TEXTURE] = this._cache.texture,
this._cacheMap[W.Cache.SOUND] = this._cache.sound,
this._cacheMap[W.Cache.TEXT] = this._cache.text,
this._cacheMap[W.Cache.PHYSICS] = this._cache.physics,
this._cacheMap[W.Cache.TILEMAP] = this._cache.tilemap,
this._cacheMap[W.Cache.BINARY] = this._cache.binary,
this._cacheMap[W.Cache.BITMAPDATA] = this._cache.bitmapData,
this._cacheMap[W.Cache.BITMAPFONT] = this._cache.bitmapFont,
this._cacheMap[W.Cache.JSON] = this._cache.json,
this._cacheMap[W.Cache.XML] = this._cache.xml,
this._cacheMap[W.Cache.VIDEO] = this._cache.video,
this._cacheMap[W.Cache.SHADER] = this._cache.shader,
this._cacheMap[W.Cache.RENDER_TEXTURE] = this._cache.renderTexture,
this.addDefaultImage(),
this.addMissingImage()
}
,
W.Cache.CANVAS = 1,
W.Cache.IMAGE = 2,
W.Cache.TEXTURE = 3,
W.Cache.SOUND = 4,
W.Cache.TEXT = 5,
W.Cache.PHYSICS = 6,
W.Cache.TILEMAP = 7,
W.Cache.BINARY = 8,
W.Cache.BITMAPDATA = 9,
W.Cache.BITMAPFONT = 10,
W.Cache.JSON = 11,
W.Cache.XML = 12,
W.Cache.VIDEO = 13,
W.Cache.SHADER = 14,
W.Cache.RENDER_TEXTURE = 15,
W.Cache.DEFAULT = null,
W.Cache.MISSING = null,
W.Cache.prototype = {
addCanvas: function(e, t, i) {
void 0 === i && (i = t.getContext("2d")),
this._cache.canvas[e] = {
canvas: t,
context: i
}
},
addImage: function(e, t, i) {
this.checkImageKey(e) && this.removeImage(e);
var r = {
key: e,
url: t,
data: i,
base: new PIXI.BaseTexture(i),
frame: new W.Frame(0,0,0,i.width,i.height,e),
frameData: new W.FrameData
};
return r.frameData.addFrame(new W.Frame(0,0,0,i.width,i.height,t)),
this._cache.image[e] = r,
this._resolveURL(t, r),
"__default" === e ? W.Cache.DEFAULT = new PIXI.Texture(r.base) : "__missing" === e && (W.Cache.MISSING = new PIXI.Texture(r.base)),
r
},
addDefaultImage: function() {
var e = new Image;
e.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==";
var t = this.addImage("__default", null, e);
t.base.skipRender = !0,
W.Cache.DEFAULT = new PIXI.Texture(t.base)
},
addMissingImage: function() {
var e = new Image;
e.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==";
var t = this.addImage("__missing", null, e);
W.Cache.MISSING = new PIXI.Texture(t.base)
},
addSound: function(e, t, i, r, o) {
void 0 === r && (o = !(r = !0)),
void 0 === o && (o = !(r = !1));
var s = !1;
o && (s = !0),
this._cache.sound[e] = {
url: t,
data: i,
isDecoding: !1,
decoded: s,
webAudio: r,
audioTag: o,
locked: this.game.sound.touchLocked
},
this._resolveURL(t, this._cache.sound[e])
},
addText: function(e, t, i) {
this._cache.text[e] = {
url: t,
data: i
},
this._resolveURL(t, this._cache.text[e])
},
addPhysicsData: function(e, t, i, r) {
this._cache.physics[e] = {
url: t,
data: i,
format: r
},
this._resolveURL(t, this._cache.physics[e])
},
addTilemap: function(e, t, i, r) {
this._cache.tilemap[e] = {
url: t,
data: i,
format: r
},
this._resolveURL(t, this._cache.tilemap[e])
},
addBinary: function(e, t) {
this._cache.binary[e] = t
},
addBitmapData: function(e, t, i) {
return t.key = e,
void 0 === i && (i = new W.FrameData).addFrame(t.textureFrame),
this._cache.bitmapData[e] = {
data: t,
frameData: i
},
t
},
addBitmapFont: function(e, t, i, r, o, s, a) {
var n = {
url: t,
data: i,
font: null,
base: new PIXI.BaseTexture(i)
};
void 0 === s && (s = 0),
void 0 === a && (a = 0),
n.font = "json" === o ? W.LoaderParser.jsonBitmapFont(r, n.base, s, a) : W.LoaderParser.xmlBitmapFont(r, n.base, s, a),
this._cache.bitmapFont[e] = n,
this._resolveURL(t, n)
},
addJSON: function(e, t, i) {
this._cache.json[e] = {
url: t,
data: i
},
this._resolveURL(t, this._cache.json[e])
},
addXML: function(e, t, i) {
this._cache.xml[e] = {
url: t,
data: i
},
this._resolveURL(t, this._cache.xml[e])
},
addVideo: function(e, t, i, r) {
this._cache.video[e] = {
url: t,
data: i,
isBlob: r,
locked: !0
},
this._resolveURL(t, this._cache.video[e])
},
addShader: function(e, t, i) {
this._cache.shader[e] = {
url: t,
data: i
},
this._resolveURL(t, this._cache.shader[e])
},
addRenderTexture: function(e, t) {
this._cache.renderTexture[e] = {
texture: t,
frame: new W.Frame(0,0,0,t.width,t.height,"","")
}
},
addSpriteSheet: function(e, t, i, r, o, s, a, n) {
void 0 === s && (s = -1),
void 0 === a && (a = 0),
void 0 === n && (n = 0);
var h = {
key: e,
url: t,
data: i,
frameWidth: r,
frameHeight: o,
margin: a,
spacing: n,
base: new PIXI.BaseTexture(i),
frameData: W.AnimationParser.spriteSheet(this.game, i, r, o, s, a, n)
};
this._cache.image[e] = h,
this._resolveURL(t, h)
},
addTextureAtlas: function(e, t, i, r, o) {
var s = {
key: e,
url: t,
data: i,
base: new PIXI.BaseTexture(i)
};
o === W.Loader.TEXTURE_ATLAS_XML_STARLING ? s.frameData = W.AnimationParser.XMLData(this.game, r, e) : o === W.Loader.TEXTURE_ATLAS_JSON_PYXEL ? s.frameData = W.AnimationParser.JSONDataPyxel(this.game, r, e) : Array.isArray(r.frames) ? s.frameData = W.AnimationParser.JSONData(this.game, r, e) : s.frameData = W.AnimationParser.JSONDataHash(this.game, r, e),
this._cache.image[e] = s,
this._resolveURL(t, s)
},
reloadSound: function(e) {
var t = this
, i = this.getSound(e);
i && (i.data.src = i.url,
i.data.addEventListener("canplaythrough", function() {
return t.reloadSoundComplete(e)
}, !1),
i.data.load())
},
reloadSoundComplete: function(e) {
var t = this.getSound(e);
t && (t.locked = !1,
this.onSoundUnlock.dispatch(e))
},
updateSound: function(e, t, i) {
var r = this.getSound(e);
r && (r[t] = i)
},
decodedSound: function(e, t) {
var i = this.getSound(e);
i.data = t,
i.decoded = !0,
i.isDecoding = !1
},
isSoundDecoded: function(e) {
var t = this.getItem(e, W.Cache.SOUND, "isSoundDecoded");
if (t)
return t.decoded
},
isSoundReady: function(e) {
var t = this.getItem(e, W.Cache.SOUND, "isSoundDecoded");
if (t)
return t.decoded && !this.game.sound.touchLocked
},
checkKey: function(e, t) {
return !!this._cacheMap[e][t]
},
checkURL: function(e) {
return !!this._urlMap[this._resolveURL(e)]
},
checkCanvasKey: function(e) {
return this.checkKey(W.Cache.CANVAS, e)
},
checkImageKey: function(e) {
return this.checkKey(W.Cache.IMAGE, e)
},
checkTextureKey: function(e) {
return this.checkKey(W.Cache.TEXTURE, e)
},
checkSoundKey: function(e) {
return this.checkKey(W.Cache.SOUND, e)
},
checkTextKey: function(e) {
return this.checkKey(W.Cache.TEXT, e)
},
checkPhysicsKey: function(e) {
return this.checkKey(W.Cache.PHYSICS, e)
},
checkTilemapKey: function(e) {
return this.checkKey(W.Cache.TILEMAP, e)
},
checkBinaryKey: function(e) {
return this.checkKey(W.Cache.BINARY, e)
},
checkBitmapDataKey: function(e) {
return this.checkKey(W.Cache.BITMAPDATA, e)
},
checkBitmapFontKey: function(e) {
return this.checkKey(W.Cache.BITMAPFONT, e)
},
checkJSONKey: function(e) {
return this.checkKey(W.Cache.JSON, e)
},
checkXMLKey: function(e) {
return this.checkKey(W.Cache.XML, e)
},
checkVideoKey: function(e) {
return this.checkKey(W.Cache.VIDEO, e)
},
checkShaderKey: function(e) {
return this.checkKey(W.Cache.SHADER, e)
},
checkRenderTextureKey: function(e) {
return this.checkKey(W.Cache.RENDER_TEXTURE, e)
},
getItem: function(e, t, i, r) {
return this.checkKey(t, e) ? void 0 === r ? this._cacheMap[t][e] : this._cacheMap[t][e][r] : null
},
getCanvas: function(e) {
return this.getItem(e, W.Cache.CANVAS, "getCanvas", "canvas")
},
getImage: function(e, t) {
null == e && (e = "__default"),
void 0 === t && (t = !1);
var i = this.getItem(e, W.Cache.IMAGE, "getImage");
return null === i && (i = this.getItem("__missing", W.Cache.IMAGE, "getImage")),
t ? i : i.data
},
getTextureFrame: function(e) {
return this.getItem(e, W.Cache.TEXTURE, "getTextureFrame", "frame")
},
getSound: function(e) {
return this.getItem(e, W.Cache.SOUND, "getSound")
},
getSoundData: function(e) {
return this.getItem(e, W.Cache.SOUND, "getSoundData", "data")
},
getText: function(e) {
return this.getItem(e, W.Cache.TEXT, "getText", "data")
},
getPhysicsData: function(e, t, i) {
var r = this.getItem(e, W.Cache.PHYSICS, "getPhysicsData", "data");
if (null === r || null == t)
return r;
if (r[t]) {
var o = r[t];
if (!o || !i)
return o;
for (var s in o)
if ((s = o[s]).fixtureKey === i)
return s
}
return null
},
getTilemapData: function(e) {
return this.getItem(e, W.Cache.TILEMAP, "getTilemapData")
},
getBinary: function(e) {
return this.getItem(e, W.Cache.BINARY, "getBinary")
},
getBitmapData: function(e) {
return this.getItem(e, W.Cache.BITMAPDATA, "getBitmapData", "data")
},
getBitmapFont: function(e) {
return this.getItem(e, W.Cache.BITMAPFONT, "getBitmapFont")
},
getJSON: function(e, t) {
var i = this.getItem(e, W.Cache.JSON, "getJSON", "data");
return i ? t ? W.Utils.extend(!0, Array.isArray(i) ? [] : {}, i) : i : null
},
getXML: function(e) {
return this.getItem(e, W.Cache.XML, "getXML", "data")
},
getVideo: function(e) {
return this.getItem(e, W.Cache.VIDEO, "getVideo")
},
getShader: function(e) {
return this.getItem(e, W.Cache.SHADER, "getShader", "data")
},
getRenderTexture: function(e) {
return this.getItem(e, W.Cache.RENDER_TEXTURE, "getRenderTexture")
},
getBaseTexture: function(e, t) {
return void 0 === t && (t = W.Cache.IMAGE),
this.getItem(e, t, "getBaseTexture", "base")
},
getFrame: function(e, t) {
return void 0 === t && (t = W.Cache.IMAGE),
this.getItem(e, t, "getFrame", "frame")
},
getFrameCount: function(e, t) {
var i = this.getFrameData(e, t);
return i ? i.total : 0
},
getFrameData: function(e, t) {
return void 0 === t && (t = W.Cache.IMAGE),
this.getItem(e, t, "getFrameData", "frameData")
},
hasFrameData: function(e, t) {
return void 0 === t && (t = W.Cache.IMAGE),
null !== this.getItem(e, t, "", "frameData")
},
updateFrameData: function(e, t, i) {
void 0 === i && (i = W.Cache.IMAGE),
this._cacheMap[i][e] && (this._cacheMap[i][e].frameData = t)
},
getFrameByIndex: function(e, t, i) {
var r = this.getFrameData(e, i);
return r ? r.getFrame(t) : null
},
getFrameByName: function(e, t, i) {
var r = this.getFrameData(e, i);
return r ? r.getFrameByName(t) : null
},
getURL: function(e) {
return (e = this._resolveURL(e)) ? this._urlMap[e] : null
},
getKeys: function(e) {
void 0 === e && (e = W.Cache.IMAGE);
var t = [];
if (this._cacheMap[e])
for (var i in this._cacheMap[e])
"__default" !== i && "__missing" !== i && t.push(i);
return t
},
removeCanvas: function(e) {
delete this._cache.canvas[e]
},
removeImage: function(e, t) {
void 0 === t && (t = !0);
var i = this.getImage(e, !0);
t && i.base && i.base.destroy(),
delete this._cache.image[e]
},
removeSound: function(e) {
delete this._cache.sound[e]
},
removeText: function(e) {
delete this._cache.text[e]
},
removePhysics: function(e) {
delete this._cache.physics[e]
},
removeTilemap: function(e) {
delete this._cache.tilemap[e]
},
removeBinary: function(e) {
delete this._cache.binary[e]
},
removeBitmapData: function(e) {
delete this._cache.bitmapData[e]
},
removeBitmapFont: function(e) {
delete this._cache.bitmapFont[e]
},
removeJSON: function(e) {
delete this._cache.json[e]
},
removeXML: function(e) {
delete this._cache.xml[e]
},
removeVideo: function(e) {
delete this._cache.video[e]
},
removeShader: function(e) {
delete this._cache.shader[e]
},
removeRenderTexture: function(e) {
delete this._cache.renderTexture[e]
},
removeSpriteSheet: function(e) {
delete this._cache.spriteSheet[e]
},
removeTextureAtlas: function(e) {
delete this._cache.atlas[e]
},
clearGLTextures: function() {
for (var e in this._cache.image)
this._cache.image[e].base._glTextures = []
},
_resolveURL: function(e, t) {
return this.autoResolveURL ? (this._urlResolver.src = this.game.load.baseURL + e,
this._urlTemp = this._urlResolver.src,
this._urlResolver.src = "",
t && (this._urlMap[this._urlTemp] = t),
this._urlTemp) : null
},
destroy: function() {
for (var e = 0; e < this._cacheMap.length; e++) {
var t = this._cacheMap[e];
for (var i in t)
"__default" !== i && "__missing" !== i && (t[i].destroy && t[i].destroy(),
delete t[i])
}
this._urlMap = null,
this._urlResolver = null,
this._urlTemp = null
}
},
W.Cache.prototype.constructor = W.Cache,
W.Loader = function(e) {
this.game = e,
this.cache = e.cache,
this.resetLocked = !1,
this.isLoading = !1,
this.hasLoaded = !1,
this.preloadSprite = null,
this.crossOrigin = !1,
this.baseURL = "",
this.path = "",
this.headers = {
requestedWith: !1,
json: "application/json",
xml: "application/xml"
},
this.onLoadStart = new W.Signal,
this.onLoadComplete = new W.Signal,
this.onPackComplete = new W.Signal,
this.onFileStart = new W.Signal,
this.onFileComplete = new W.Signal,
this.onFileError = new W.Signal,
this.useXDomainRequest = !1,
this._warnedAboutXDomainRequest = !1,
this.enableParallel = !0,
this.maxParallelDownloads = 4,
this._withSyncPointDepth = 0,
this._fileList = [],
this._flightQueue = [],
this._processingHead = 0,
this._fileLoadStarted = !1,
this._totalPackCount = 0,
this._totalFileCount = 0,
this._loadedPackCount = 0,
this._loadedFileCount = 0
}
,
W.Loader.TEXTURE_ATLAS_JSON_ARRAY = 0,
W.Loader.TEXTURE_ATLAS_JSON_HASH = 1,
W.Loader.TEXTURE_ATLAS_XML_STARLING = 2,
W.Loader.PHYSICS_LIME_CORONA_JSON = 3,
W.Loader.PHYSICS_PHASER_JSON = 4,
W.Loader.TEXTURE_ATLAS_JSON_PYXEL = 5,
W.Loader.prototype = {
setPreloadSprite: function(e, t) {
t = t || 0,
this.preloadSprite = {
sprite: e,
direction: t,
width: e.width,
height: e.height,
rect: null
},
this.preloadSprite.rect = 0 === t ? new W.Rectangle(0,0,1,e.height) : new W.Rectangle(0,0,e.width,1),
e.crop(this.preloadSprite.rect),
e.visible = !0
},
resize: function() {
this.preloadSprite && this.preloadSprite.height !== this.preloadSprite.sprite.height && (this.preloadSprite.rect.height = this.preloadSprite.sprite.height)
},
checkKeyExists: function(e, t) {
return -1 < this.getAssetIndex(e, t)
},
getAssetIndex: function(e, t) {
for (var i = -1, r = 0; r < this._fileList.length; r++) {
var o = this._fileList[r];
if (o.type === e && o.key === t && (i = r,
!o.loaded && !o.loading))
break
}
return i
},
getAsset: function(e, t) {
var i = this.getAssetIndex(e, t);
return -1 < i && {
index: i,
file: this._fileList[i]
}
},
reset: function(e, t) {
void 0 === t && (t = !1),
this.resetLocked || (e && (this.preloadSprite = null),
this.isLoading = !1,
this._processingHead = 0,
this._fileList.length = 0,
this._flightQueue.length = 0,
this._fileLoadStarted = !1,
this._totalFileCount = 0,
this._totalPackCount = 0,
this._loadedPackCount = 0,
this._loadedFileCount = 0,
t && (this.onLoadStart.removeAll(),
this.onLoadComplete.removeAll(),
this.onPackComplete.removeAll(),
this.onFileStart.removeAll(),
this.onFileComplete.removeAll(),
this.onFileError.removeAll()))
},
addToFileList: function(e, t, i, r, o, s) {
if (void 0 === o && (o = !1),
void 0 === t || "" === t)
return this;
if (null == i) {
if (!s)
return this;
i = t + s
}
var a = {
type: e,
key: t,
path: this.path,
url: i,
syncPoint: 0 < this._withSyncPointDepth,
data: null,
loading: !1,
loaded: !1,
error: !1
};
if (r)
for (var n in r)
a[n] = r[n];
var h = this.getAssetIndex(e, t);
if (o && -1 < h) {
var c = this._fileList[h];
c.loading || c.loaded ? (this._fileList.push(a),
this._totalFileCount++) : this._fileList[h] = a
} else
-1 === h && (this._fileList.push(a),
this._totalFileCount++);
return this
},
replaceInFileList: function(e, t, i, r) {
return this.addToFileList(e, t, i, r, !0)
},
pack: function(e, t, i, r) {
if (void 0 === t && (t = null),
void 0 === i && (i = null),
void 0 === r && (r = null),
!t && !i)
return this;
var o = {
type: "packfile",
key: e,
url: t,
path: this.path,
syncPoint: !0,
data: null,
loading: !1,
loaded: !1,
error: !1,
callbackContext: r
};
i && ("string" == typeof i && (i = JSON.parse(i)),
o.data = i || {},
o.loaded = !0);
for (var s = 0; s < this._fileList.length + 1; s++) {
var a = this._fileList[s];
if (!a || !a.loaded && !a.loading && "packfile" !== a.type) {
this._fileList.splice(s, 0, o),
this._totalPackCount++;
break
}
}
return this
},
image: function(e, t, i) {
return this.addToFileList("image", e, t, void 0, i, ".png")
},
images: function(e, t) {
if (Array.isArray(t))
for (var i = 0; i < e.length; i++)
this.image(e[i], t[i]);
else
for (i = 0; i < e.length; i++)
this.image(e[i]);
return this
},
text: function(e, t, i) {
return this.addToFileList("text", e, t, void 0, i, ".txt")
},
json: function(e, t, i) {
return this.addToFileList("json", e, t, void 0, i, ".json")
},
shader: function(e, t, i) {
return this.addToFileList("shader", e, t, void 0, i, ".frag")
},
xml: function(e, t, i) {
return this.addToFileList("xml", e, t, void 0, i, ".xml")
},
script: function(e, t, i, r) {
return void 0 === i && (i = !1),
!1 !== i && void 0 === r && (r = this),
this.addToFileList("script", e, t, {
syncPoint: !0,
callback: i,
callbackContext: r
}, !1, ".js")
},
binary: function(e, t, i, r) {
return void 0 === i && (i = !1),
!1 !== i && void 0 === r && (r = i),
this.addToFileList("binary", e, t, {
callback: i,
callbackContext: r
}, !1, ".bin")
},
spritesheet: function(e, t, i, r, o, s, a) {
return void 0 === o && (o = -1),
void 0 === s && (s = 0),
void 0 === a && (a = 0),
this.addToFileList("spritesheet", e, t, {
frameWidth: i,
frameHeight: r,
frameMax: o,
margin: s,
spacing: a
}, !1, ".png")
},
audio: function(e, t, i) {
return this.game.sound.noAudio ? this : (void 0 === i && (i = !0),
"string" == typeof t && (t = [t]),
this.addToFileList("audio", e, t, {
buffer: null,
autoDecode: i
}))
},
audioSprite: function(e, t, i, r, o) {
return this.game.sound.noAudio || (void 0 === i && (i = null),
void 0 === r && (r = null),
void 0 === o && (o = !0),
this.audio(e, t, o),
i ? this.json(e + "-audioatlas", i) : r && ("string" == typeof r && (r = JSON.parse(r)),
this.cache.addJSON(e + "-audioatlas", "", r))),
this
},
audiosprite: function(e, t, i, r, o) {
return this.audioSprite(e, t, i, r, o)
},
video: function(e, t, i, r) {
return void 0 === i && (i = this.game.device.firefox ? "loadeddata" : "canplaythrough"),
void 0 === r && (r = !1),
"string" == typeof t && (t = [t]),
this.addToFileList("video", e, t, {
buffer: null,
asBlob: r,
loadEvent: i
})
},
tilemap: function(e, t, i, r) {
if (void 0 === t && (t = null),
void 0 === i && (i = null),
void 0 === r && (r = W.Tilemap.CSV),
t || i || (t = r === W.Tilemap.CSV ? e + ".csv" : e + ".json"),
i) {
switch (r) {
case W.Tilemap.CSV:
break;
case W.Tilemap.TILED_JSON:
"string" == typeof i && (i = JSON.parse(i))
}
this.cache.addTilemap(e, null, i, r)
} else
this.addToFileList("tilemap", e, t, {
format: r
});
return this
},
physics: function(e, t, i, r) {
return void 0 === t && (t = null),
void 0 === i && (i = null),
void 0 === r && (r = W.Physics.LIME_CORONA_JSON),
t || i || (t = e + ".json"),
i ? ("string" == typeof i && (i = JSON.parse(i)),
this.cache.addPhysicsData(e, null, i, r)) : this.addToFileList("physics", e, t, {
format: r
}),
this
},
bitmapFont: function(e, t, i, r, o, s) {
if (null == t && (t = e + ".png"),
void 0 === i && (i = null),
void 0 === r && (r = null),
null === i && null === r && (i = e + ".xml"),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
i)
this.addToFileList("bitmapfont", e, t, {
atlasURL: i,
xSpacing: o,
ySpacing: s
});
else if ("string" == typeof r) {
var a, n;
try {
a = JSON.parse(r)
} catch (e) {
n = this.parseXml(r)
}
if (!n && !a)
throw new Error("Phaser.Loader. Invalid Bitmap Font atlas given");
this.addToFileList("bitmapfont", e, t, {
atlasURL: null,
atlasData: a || n,
atlasType: a ? "json" : "xml",
xSpacing: o,
ySpacing: s
})
}
return this
},
atlasJSONArray: function(e, t, i, r) {
return this.atlas(e, t, i, r, W.Loader.TEXTURE_ATLAS_JSON_ARRAY)
},
atlasJSONHash: function(e, t, i, r) {
return this.atlas(e, t, i, r, W.Loader.TEXTURE_ATLAS_JSON_HASH)
},
atlasXML: function(e, t, i, r) {
return void 0 === i && (i = null),
void 0 === r && (r = null),
i || r || (i = e + ".xml"),
this.atlas(e, t, i, r, W.Loader.TEXTURE_ATLAS_XML_STARLING)
},
atlas: function(e, t, i, r, o) {
if (null == t && (t = e + ".png"),
void 0 === i && (i = null),
void 0 === r && (r = null),
void 0 === o && (o = W.Loader.TEXTURE_ATLAS_JSON_ARRAY),
i || r || (i = o === W.Loader.TEXTURE_ATLAS_XML_STARLING ? e + ".xml" : e + ".json"),
i)
this.addToFileList("textureatlas", e, t, {
atlasURL: i,
format: o
});
else {
switch (o) {
case W.Loader.TEXTURE_ATLAS_JSON_ARRAY:
"string" == typeof r && (r = JSON.parse(r));
break;
case W.Loader.TEXTURE_ATLAS_XML_STARLING:
if ("string" == typeof r) {
var s = this.parseXml(r);
if (!s)
throw new Error("Phaser.Loader. Invalid Texture Atlas XML given");
r = s
}
}
this.addToFileList("textureatlas", e, t, {
atlasURL: null,
atlasData: r,
format: o
})
}
return this
},
withSyncPoint: function(e, t) {
this._withSyncPointDepth++;
try {
e.call(t || this, this)
} finally {
this._withSyncPointDepth--
}
return this
},
addSyncPoint: function(e, t) {
var i = this.getAsset(e, t);
return i && (i.file.syncPoint = !0),
this
},
removeFile: function(e, t) {
var i = this.getAsset(e, t);
i && (i.loaded || i.loading || this._fileList.splice(i.index, 1))
},
removeAll: function() {
this._fileList.length = 0,
this._flightQueue.length = 0
},
start: function() {
this.isLoading || (this.hasLoaded = !1,
this.isLoading = !0,
this.updateProgress(),
this.processLoadQueue())
},
processLoadQueue: function() {
if (this.isLoading) {
for (var e = 0; e < this._flightQueue.length; e++) {
((r = this._flightQueue[e]).loaded || r.error) && (this._flightQueue.splice(e, 1),
e--,
r.loading = !1,
r.requestUrl = null,
r.requestObject = null,
r.error && this.onFileError.dispatch(r.key, r),
"packfile" !== r.type ? (this._loadedFileCount++,
this.onFileComplete.dispatch(this.progress, r.key, !r.error, this._loadedFileCount, this._totalFileCount)) : "packfile" === r.type && r.error && (this._loadedPackCount++,
this.onPackComplete.dispatch(r.key, !r.error, this._loadedPackCount, this._totalPackCount)))
}
var t = !1
, i = this.enableParallel ? W.Math.clamp(this.maxParallelDownloads, 1, 12) : 1;
for (e = this._processingHead; e < this._fileList.length; e++) {
var r;
if ("packfile" === (r = this._fileList[e]).type && !r.error && r.loaded && e === this._processingHead && (this.processPack(r),
this._loadedPackCount++,
this.onPackComplete.dispatch(r.key, !r.error, this._loadedPackCount, this._totalPackCount)),
r.loaded || r.error ? e === this._processingHead && (this._processingHead = e + 1) : !r.loading && this._flightQueue.length < i && ("packfile" !== r.type || r.data ? t || (this._fileLoadStarted || (this._fileLoadStarted = !0,
this.onLoadStart.dispatch()),
this._flightQueue.push(r),
r.loading = !0,
this.onFileStart.dispatch(this.progress, r.key, r.url),
this.loadFile(r)) : (this._flightQueue.push(r),
r.loading = !0,
this.loadFile(r))),
!r.loaded && r.syncPoint && (t = !0),
this._flightQueue.length >= i || t && this._loadedPackCount === this._totalPackCount)
break
}
if (this.updateProgress(),
this._processingHead >= this._fileList.length)
this.finishedLoading();
else if (!this._flightQueue.length) {
var o = this;
setTimeout(function() {
o.finishedLoading(!0)
}, 2e3)
}
} else
this.finishedLoading(!0)
},
finishedLoading: function(e) {
this.hasLoaded || (this.hasLoaded = !0,
this.isLoading = !1,
e || this._fileLoadStarted || (this._fileLoadStarted = !0,
this.onLoadStart.dispatch()),
this.onLoadComplete.dispatch(),
this.game.state.loadComplete(),
this.reset())
},
asyncComplete: function(e, t) {
void 0 === t && (t = ""),
e.loaded = !0,
e.error = !!t,
t && (e.errorMessage = t),
this.processLoadQueue()
},
processPack: function(e) {
var t = e.data[e.key];
if (t)
for (var i = 0; i < t.length; i++) {
var r = t[i];
switch (r.type) {
case "image":
this.image(r.key, r.url, r.overwrite);
break;
case "text":
this.text(r.key, r.url, r.overwrite);
break;
case "json":
this.json(r.key, r.url, r.overwrite);
break;
case "xml":
this.xml(r.key, r.url, r.overwrite);
break;
case "script":
this.script(r.key, r.url, r.callback, e.callbackContext || this);
break;
case "binary":
this.binary(r.key, r.url, r.callback, e.callbackContext || this);
break;
case "spritesheet":
this.spritesheet(r.key, r.url, r.frameWidth, r.frameHeight, r.frameMax, r.margin, r.spacing);
break;
case "video":
this.video(r.key, r.urls);
break;
case "audio":
this.audio(r.key, r.urls, r.autoDecode);
break;
case "audiosprite":
this.audiosprite(r.key, r.urls, r.jsonURL, r.jsonData, r.autoDecode);
break;
case "tilemap":
this.tilemap(r.key, r.url, r.data, W.Tilemap[r.format]);
break;
case "physics":
this.physics(r.key, r.url, r.data, W.Loader[r.format]);
break;
case "bitmapFont":
this.bitmapFont(r.key, r.textureURL, r.atlasURL, r.atlasData, r.xSpacing, r.ySpacing);
break;
case "atlasJSONArray":
this.atlasJSONArray(r.key, r.textureURL, r.atlasURL, r.atlasData);
break;
case "atlasJSONHash":
this.atlasJSONHash(r.key, r.textureURL, r.atlasURL, r.atlasData);
break;
case "atlasXML":
this.atlasXML(r.key, r.textureURL, r.atlasURL, r.atlasData);
break;
case "atlas":
this.atlas(r.key, r.textureURL, r.atlasURL, r.atlasData, W.Loader[r.format]);
break;
case "shader":
this.shader(r.key, r.url, r.overwrite)
}
}
},
transformUrl: function(e, t) {
return !!e && (e.match(/^(?:blob:|data:|http:\/\/|https:\/\/|\/\/)/) ? e : this.baseURL + t.path + e)
},
loadFile: function(e) {
if (typeof e.url === 'string' || e.url instanceof String) {
e.url= e.url.replace("https://cdn.fbrq.io/@orange-games/splash/assets/spine/", "kizi/");
e.url= e.url.replace("https://cdn.fbrq.io/@azerion/splash/assets/images/", "kizi/");
console.log("--fx--", e.url);
}
switch (e.type) {
case "packfile":
this.xhrLoad(e, this.transformUrl(e.url, e), "text", this.fileComplete);
break;
case "image":
case "spritesheet":
case "textureatlas":
case "bitmapfont":
this.loadImageTag(e);
break;
case "audio":
e.url = this.getAudioURL(e.url),
e.url ? this.game.sound.usingWebAudio ? this.xhrLoad(e, this.transformUrl(e.url, e), "arraybuffer", this.fileComplete) : this.game.sound.usingAudioTag && this.loadAudioTag(e) : this.fileError(e, null, "No supported audio URL specified or device does not have audio playback support");
break;
case "video":
e.url = this.getVideoURL(e.url),
e.url ? e.asBlob ? this.xhrLoad(e, this.transformUrl(e.url, e), "blob", this.fileComplete) : this.loadVideoTag(e) : this.fileError(e, null, "No supported video URL specified or device does not have video playback support");
break;
case "json":
this.xhrLoad(e, this.transformUrl(e.url, e), "text", this.jsonLoadComplete);
break;
case "xml":
this.xhrLoad(e, this.transformUrl(e.url, e), "text", this.xmlLoadComplete);
break;
case "tilemap":
e.format === W.Tilemap.TILED_JSON ? this.xhrLoad(e, this.transformUrl(e.url, e), "text", this.jsonLoadComplete) : e.format === W.Tilemap.CSV ? this.xhrLoad(e, this.transformUrl(e.url, e), "text", this.csvLoadComplete) : this.asyncComplete(e, "invalid Tilemap format: " + e.format);
break;
case "text":
case "script":
case "shader":
case "physics":
this.xhrLoad(e, this.transformUrl(e.url, e), "text", this.fileComplete);
break;
case "binary":
this.xhrLoad(e, this.transformUrl(e.url, e), "arraybuffer", this.fileComplete)
}
},
loadImageTag: function(e) {
var t = this;
e.data = new Image,
e.data.name = e.key,
this.crossOrigin && (e.data.crossOrigin = this.crossOrigin),
e.data.onload = function() {
e.data.onload && (e.data.onload = null,
e.data.onerror = null,
t.fileComplete(e))
}
,
e.data.onerror = function() {
e.data.onload && (e.data.onload = null,
e.data.onerror = null,
t.fileError(e))
}
,
e.data.src = this.transformUrl(e.url, e),
e.data.complete && e.data.width && e.data.height && (e.data.onload = null,
e.data.onerror = null,
this.fileComplete(e))
},
loadVideoTag: function(e) {
var t = this;
e.data = document.createElement("video"),
e.data.name = e.key,
e.data.controls = !1,
e.data.autoplay = !1;
var i = function() {
e.data.removeEventListener(e.loadEvent, i, !1),
e.data.onerror = null,
e.data.canplay = !0,
W.GAMES[t.game.id].load.fileComplete(e)
};
e.data.onerror = function() {
e.data.removeEventListener(e.loadEvent, i, !1),
e.data.onerror = null,
e.data.canplay = !1,
t.fileError(e)
}
,
e.data.addEventListener(e.loadEvent, i, !1),
e.data.src = this.transformUrl(e.url, e),
e.data.load()
},
loadAudioTag: function(e) {
var t = this;
if (this.game.sound.touchLocked)
e.data = new Audio,
e.data.name = e.key,
e.data.preload = "auto",
e.data.src = this.transformUrl(e.url, e),
this.fileComplete(e);
else {
e.data = new Audio,
e.data.name = e.key;
var i = function() {
e.data.removeEventListener("canplaythrough", i, !1),
e.data.onerror = null,
t.fileComplete(e)
};
e.data.onerror = function() {
e.data.removeEventListener("canplaythrough", i, !1),
e.data.onerror = null,
t.fileError(e)
}
,
e.data.preload = "auto",
e.data.src = this.transformUrl(e.url, e),
e.data.addEventListener("canplaythrough", i, !1),
e.data.load()
}
},
xhrLoad: function(t, e, i, r, o) {
if (this.useXDomainRequest && window.XDomainRequest)
this.xhrLoadWithXDR(t, e, i, r, o);
else {
var s = new XMLHttpRequest;
console.log("--fx--open--get--", e),
s.open("GET", e, !0),
s.responseType = i,
!1 !== this.headers.requestedWith && s.setRequestHeader("X-Requested-With", this.headers.requestedWith),
this.headers[t.type] && s.setRequestHeader("Accept", this.headers[t.type]),
o = o || this.fileError;
var a = this;
s.onload = function() {
try {
return 4 === s.readyState && 400 <= s.status && s.status <= 599 ? o.call(a, t, s) : r.call(a, t, s)
} catch (e) {
a.hasLoaded ? window.console : a.asyncComplete(t, e.message || "Exception")
}
}
,
s.onerror = function() {
try {
return o.call(a, t, s)
} catch (e) {
a.hasLoaded ? window.console : a.asyncComplete(t, e.message || "Exception")
}
}
,
t.requestObject = s,
t.requestUrl = e,
s.send()
}
},
xhrLoadWithXDR: function(t, e, i, r, o) {
this._warnedAboutXDomainRequest || this.game.device.ie && !(10 <= this.game.device.ieVersion) || (this._warnedAboutXDomainRequest = !0);
var s = new window.XDomainRequest;
console.log("--fx--open--xhrLoadWithXDR--", e),
s.open("GET", e, !0),
s.responseType = i,
s.timeout = 3e3,
o = o || this.fileError;
var a = this;
s.onerror = function() {
try {
return o.call(a, t, s)
} catch (e) {
a.asyncComplete(t, e.message || "Exception")
}
}
,
s.ontimeout = function() {
try {
return o.call(a, t, s)
} catch (e) {
a.asyncComplete(t, e.message || "Exception")
}
}
,
s.onprogress = function() {}
,
s.onload = function() {
try {
return 4 === s.readyState && 400 <= s.status && s.status <= 599 ? o.call(a, t, s) : r.call(a, t, s)
} catch (e) {
a.asyncComplete(t, e.message || "Exception")
}
}
,
t.requestObject = s,
t.requestUrl = e,
setTimeout(function() {
s.send()
}, 0)
},
getVideoURL: function(e) {
for (var t = 0; t < e.length; t++) {
var i, r = e[t];
if (r.uri) {
if (i = r.type,
r = r.uri,
this.game.device.canPlayVideo(i))
return r
} else {
if (0 === r.indexOf("blob:") || 0 === r.indexOf("data:"))
return r;
if (0 <= r.indexOf("?") && (r = r.substr(0, r.indexOf("?"))),
i = r.substr((Math.max(0, r.lastIndexOf(".")) || 1 / 0) + 1).toLowerCase(),
this.game.device.canPlayVideo(i))
return e[t]
}
}
return null
},
getAudioURL: function(e) {
if (this.game.sound.noAudio)
return null;
for (var t = 0; t < e.length; t++) {
var i, r = e[t];
if (r.uri) {
if (i = r.type,
r = r.uri,
this.game.device.canPlayAudio(i))
return r
} else {
if (0 === r.indexOf("blob:") || 0 === r.indexOf("data:"))
return r;
if (0 <= r.indexOf("?") && (r = r.substr(0, r.indexOf("?"))),
i = r.substr((Math.max(0, r.lastIndexOf(".")) || 1 / 0) + 1).toLowerCase(),
this.game.device.canPlayAudio(i))
return e[t]
}
}
return null
},
fileError: function(e, t, i) {
var r = "error loading asset from URL " + (e.requestUrl || this.transformUrl(e.url, e));
!i && t && (i = t.status),
i && (r = r + " (" + i + ")"),
this.asyncComplete(e, r)
},
fileComplete: function(t, e) {
var i = !0;
switch (t.type) {
case "packfile":
var r = JSON.parse(e.responseText);
t.data = r || {};
break;
case "image":
this.cache.addImage(t.key, t.url, t.data);
break;
case "spritesheet":
this.cache.addSpriteSheet(t.key, t.url, t.data, t.frameWidth, t.frameHeight, t.frameMax, t.margin, t.spacing);
break;
case "textureatlas":
if (null == t.atlasURL)
this.cache.addTextureAtlas(t.key, t.url, t.data, t.atlasData, t.format);
else if (i = !1,
t.format === W.Loader.TEXTURE_ATLAS_JSON_ARRAY || t.format === W.Loader.TEXTURE_ATLAS_JSON_HASH || t.format === W.Loader.TEXTURE_ATLAS_JSON_PYXEL)
this.xhrLoad(t, this.transformUrl(t.atlasURL, t), "text", this.jsonLoadComplete);
else {
if (t.format !== W.Loader.TEXTURE_ATLAS_XML_STARLING)
throw new Error("Phaser.Loader. Invalid Texture Atlas format: " + t.format);
this.xhrLoad(t, this.transformUrl(t.atlasURL, t), "text", this.xmlLoadComplete)
}
break;
case "bitmapfont":
t.atlasURL ? (i = !1,
this.xhrLoad(t, this.transformUrl(t.atlasURL, t), "text", function(e, t) {
var i;
try {
i = JSON.parse(t.responseText)
} catch (e) {}
i ? (e.atlasType = "json",
this.jsonLoadComplete(e, t)) : (e.atlasType = "xml",
this.xmlLoadComplete(e, t))
})) : this.cache.addBitmapFont(t.key, t.url, t.data, t.atlasData, t.atlasType, t.xSpacing, t.ySpacing);
break;
case "video":
if (t.asBlob)
try {
t.data = e.response
} catch (e) {
throw new Error("Phaser.Loader. Unable to parse video file as Blob: " + t.key)
}
this.cache.addVideo(t.key, t.url, t.data, t.asBlob);
break;
case "audio":
this.game.sound.usingWebAudio ? (t.data = e.response,
this.cache.addSound(t.key, t.url, t.data, !0, !1),
t.autoDecode && this.game.sound.decode(t.key)) : this.cache.addSound(t.key, t.url, t.data, !1, !0);
break;
case "text":
t.data = e.responseText,
this.cache.addText(t.key, t.url, t.data);
break;
case "shader":
t.data = e.responseText,
this.cache.addShader(t.key, t.url, t.data);
break;
case "physics":
r = JSON.parse(e.responseText);
this.cache.addPhysicsData(t.key, t.url, r, t.format);
break;
case "script":
t.data = document.createElement("script"),
t.data.language = "javascript",
t.data.type = "text/javascript",
t.data.defer = !1,
t.data.text = e.responseText,
document.head.appendChild(t.data),
t.callback && (t.data = t.callback.call(t.callbackContext, t.key, e.responseText));
break;
case "binary":
t.callback ? t.data = t.callback.call(t.callbackContext, t.key, e.response) : t.data = e.response,
this.cache.addBinary(t.key, t.data)
}
i && this.asyncComplete(t)
},
jsonLoadComplete: function(e, t) {
var i = JSON.parse(t.responseText);
"tilemap" === e.type ? this.cache.addTilemap(e.key, e.url, i, e.format) : "bitmapfont" === e.type ? this.cache.addBitmapFont(e.key, e.url, e.data, i, e.atlasType, e.xSpacing, e.ySpacing) : "json" === e.type ? this.cache.addJSON(e.key, e.url, i) : this.cache.addTextureAtlas(e.key, e.url, e.data, i, e.format),
this.asyncComplete(e)
},
csvLoadComplete: function(e, t) {
var i = t.responseText;
this.cache.addTilemap(e.key, e.url, i, e.format),
this.asyncComplete(e)
},
xmlLoadComplete: function(e, t) {
var i = t.responseText
, r = this.parseXml(i);
if (r)
"bitmapfont" === e.type ? this.cache.addBitmapFont(e.key, e.url, e.data, r, e.atlasType, e.xSpacing, e.ySpacing) : "textureatlas" === e.type ? this.cache.addTextureAtlas(e.key, e.url, e.data, r, e.format) : "xml" === e.type && this.cache.addXML(e.key, e.url, r),
this.asyncComplete(e);
else {
t.responseType || t.contentType;
this.asyncComplete(e, "invalid XML")
}
},
parseXml: function(e) {
var t;
try {
if (window.DOMParser)
t = (new DOMParser).parseFromString(e, "text/xml");
else
(t = new ActiveXObject("Microsoft.XMLDOM")).async = "false",
t.loadXML(e)
} catch (e) {
t = null
}
return t && t.documentElement && !t.getElementsByTagName("parsererror").length ? t : null
},
updateProgress: function() {
this.preloadSprite && (0 === this.preloadSprite.direction ? this.preloadSprite.rect.width = Math.floor(this.preloadSprite.width / 100 * this.progress) : this.preloadSprite.rect.height = Math.floor(this.preloadSprite.height / 100 * this.progress),
this.preloadSprite.sprite ? this.preloadSprite.sprite.updateCrop() : this.preloadSprite = null)
},
totalLoadedFiles: function() {
return this._loadedFileCount
},
totalQueuedFiles: function() {
return this._totalFileCount - this._loadedFileCount
},
totalLoadedPacks: function() {
return this._totalPackCount
},
totalQueuedPacks: function() {
return this._totalPackCount - this._loadedPackCount
}
},
Object.defineProperty(W.Loader.prototype, "progressFloat", {
get: function() {
var e = this._loadedFileCount / this._totalFileCount * 100;
return W.Math.clamp(e || 0, 0, 100)
}
}),
Object.defineProperty(W.Loader.prototype, "progress", {
get: function() {
return Math.round(this.progressFloat)
}
}),
W.Loader.prototype.constructor = W.Loader,
W.LoaderParser = {
bitmapFont: function(e, t, i, r) {
return this.xmlBitmapFont(e, t, i, r)
},
xmlBitmapFont: function(e, t, i, r) {
var o = {}
, s = e.getElementsByTagName("info")[0]
, a = e.getElementsByTagName("common")[0];
o.font = s.getAttribute("face"),
o.size = parseInt(s.getAttribute("size"), 10),
o.lineHeight = parseInt(a.getAttribute("lineHeight"), 10) + r,
o.chars = {};
for (var n = e.getElementsByTagName("char"), h = 0; h < n.length; h++) {
var c = parseInt(n[h].getAttribute("id"), 10);
o.chars[c] = {
x: parseInt(n[h].getAttribute("x"), 10),
y: parseInt(n[h].getAttribute("y"), 10),
width: parseInt(n[h].getAttribute("width"), 10),
height: parseInt(n[h].getAttribute("height"), 10),
xOffset: parseInt(n[h].getAttribute("xoffset"), 10),
yOffset: parseInt(n[h].getAttribute("yoffset"), 10),
xAdvance: parseInt(n[h].getAttribute("xadvance"), 10) + i,
kerning: {}
}
}
var l = e.getElementsByTagName("kerning");
for (h = 0; h < l.length; h++) {
var m = parseInt(l[h].getAttribute("first"), 10)
, u = parseInt(l[h].getAttribute("second"), 10)
, d = parseInt(l[h].getAttribute("amount"), 10);
o.chars[u].kerning[m] = d
}
return this.finalizeBitmapFont(t, o)
},
jsonBitmapFont: function(e, t, i, r) {
var o = {
font: e.font.info._face,
size: parseInt(e.font.info._size, 10),
lineHeight: parseInt(e.font.common._lineHeight, 10) + r,
chars: {}
};
return e.font.chars.char.forEach(function(e) {
var t = parseInt(e._id, 10);
o.chars[t] = {
x: parseInt(e._x, 10),
y: parseInt(e._y, 10),
width: parseInt(e._width, 10),
height: parseInt(e._height, 10),
xOffset: parseInt(e._xoffset, 10),
yOffset: parseInt(e._yoffset, 10),
xAdvance: parseInt(e._xadvance, 10) + i,
kerning: {}
}
}),
e.font.kernings && e.font.kernings.kerning && e.font.kernings.kerning.forEach(function(e) {
o.chars[e._second].kerning[e._first] = parseInt(e._amount, 10)
}),
this.finalizeBitmapFont(t, o)
},
finalizeBitmapFont: function(i, r) {
return Object.keys(r.chars).forEach(function(e) {
var t = r.chars[e];
t.texture = new PIXI.Texture(i,new W.Rectangle(t.x,t.y,t.width,t.height))
}),
r
}
},
W.AudioSprite = function(e, t) {
for (var i in this.game = e,
this.key = t,
this.config = this.game.cache.getJSON(t + "-audioatlas"),
this.autoplayKey = null,
this.autoplay = !1,
this.sounds = {},
this.config.spritemap) {
var r = this.config.spritemap[i]
, o = this.game.add.sound(this.key);
o.addMarker(i, r.start, r.end - r.start, null, r.loop),
this.sounds[i] = o
}
this.config.autoplay && (this.autoplayKey = this.config.autoplay,
this.play(this.autoplayKey),
this.autoplay = this.sounds[this.autoplayKey])
}
,
W.AudioSprite.prototype = {
play: function(e, t) {
return void 0 === t && (t = 1),
this.sounds[e].play(e, null, t)
},
stop: function(e) {
if (e)
this.sounds[e].stop();
else
for (var t in this.sounds)
this.sounds[t].stop()
},
get: function(e) {
return this.sounds[e]
}
},
W.AudioSprite.prototype.constructor = W.AudioSprite,
W.Sound = function(e, t, i, r, o) {
void 0 === i && (i = 1),
void 0 === r && (r = !1),
void 0 === o && (o = e.sound.connectToMaster),
this.game = e,
this.name = t,
this.key = t,
this.loop = r,
this.markers = {},
this.context = null,
this.autoplay = !1,
this.totalDuration = 0,
this.startTime = 0,
this.currentTime = 0,
this.duration = 0,
this.durationMS = 0,
this.position = 0,
this.stopTime = 0,
this.paused = !1,
this.pausedPosition = 0,
this.pausedTime = 0,
this.isPlaying = !1,
this.currentMarker = "",
this.fadeTween = null,
this.pendingPlayback = !1,
this.override = !1,
this.allowMultiple = !1,
this.usingWebAudio = this.game.sound.usingWebAudio,
this.usingAudioTag = this.game.sound.usingAudioTag,
this.externalNode = null,
this.masterGainNode = null,
this.gainNode = null,
this._sound = null,
this.usingWebAudio ? (this.context = this.game.sound.context,
this.masterGainNode = this.game.sound.masterGain,
void 0 === this.context.createGain ? this.gainNode = this.context.createGainNode() : this.gainNode = this.context.createGain(),
this.gainNode.gain.value = i * this.game.sound.volume,
o && this.gainNode.connect(this.masterGainNode)) : this.usingAudioTag && (this.game.cache.getSound(t) && this.game.cache.isSoundReady(t) ? (this._sound = this.game.cache.getSoundData(t),
this.totalDuration = 0,
this._sound.duration && (this.totalDuration = this._sound.duration)) : this.game.cache.onSoundUnlock.add(this.soundHasUnlocked, this)),
this.onDecoded = new W.Signal,
this.onPlay = new W.Signal,
this.onPause = new W.Signal,
this.onResume = new W.Signal,
this.onLoop = new W.Signal,
this.onStop = new W.Signal,
this.onMute = new W.Signal,
this.onMarkerComplete = new W.Signal,
this.onFadeComplete = new W.Signal,
this._volume = i,
this._buffer = null,
this._muted = !1,
this._tempMarker = 0,
this._tempPosition = 0,
this._tempVolume = 0,
this._tempPause = 0,
this._muteVolume = 0,
this._tempLoop = 0,
this._paused = !1,
this._onDecodedEventDispatched = !1
}
,
W.Sound.prototype = {
soundHasUnlocked: function(e) {
e === this.key && (this._sound = this.game.cache.getSoundData(this.key),
this.totalDuration = this._sound.duration)
},
addMarker: function(e, t, i, r, o) {
null == i && (i = 1),
null == r && (r = 1),
void 0 === o && (o = !1),
this.markers[e] = {
name: e,
start: t,
stop: t + i,
volume: r,
duration: i,
durationMS: 1e3 * i,
loop: o
}
},
removeMarker: function(e) {
delete this.markers[e]
},
onEndedHandler: function() {
this._sound.onended = null,
this.isPlaying = !1,
this.currentTime = this.durationMS,
this.stop()
},
update: function() {
this.game.cache.checkSoundKey(this.key) ? (this.isDecoded && !this._onDecodedEventDispatched && (this.onDecoded.dispatch(this),
this._onDecodedEventDispatched = !0),
this.pendingPlayback && this.game.cache.isSoundReady(this.key) && (this.pendingPlayback = !1,
this.play(this._tempMarker, this._tempPosition, this._tempVolume, this._tempLoop)),
this.isPlaying && (this.currentTime = this.game.time.time - this.startTime,
this.currentTime >= this.durationMS && (this.usingWebAudio ? this.loop ? (this.onLoop.dispatch(this),
this.isPlaying = !1,
"" === this.currentMarker ? (this.currentTime = 0,
this.startTime = this.game.time.time,
this.isPlaying = !0) : (this.onMarkerComplete.dispatch(this.currentMarker, this),
this.play(this.currentMarker, 0, this.volume, !0, !0))) : "" !== this.currentMarker && this.stop() : this.loop ? (this.onLoop.dispatch(this),
"" === this.currentMarker && (this.currentTime = 0,
this.startTime = this.game.time.time),
this.isPlaying = !1,
this.play(this.currentMarker, 0, this.volume, !0, !0)) : this.stop()))) : this.destroy()
},
loopFull: function(e) {
return this.play(null, 0, e, !0)
},
play: function(e, t, i, r, o) {
if (void 0 !== e && !1 !== e && null !== e || (e = ""),
void 0 === o && (o = !0),
this.isPlaying && !this.allowMultiple && !o && !this.override)
return this;
if (this._sound && this.isPlaying && !this.allowMultiple && (this.override || o)) {
if (this.usingWebAudio) {
if (void 0 === this._sound.stop)
this._sound.noteOff(0);
else
try {
this._sound.stop(0)
} catch (e) {}
this.externalNode ? this._sound.disconnect(this.externalNode) : this.gainNode && this._sound.disconnect(this.gainNode)
} else
this.usingAudioTag && (this._sound.pause(),
this._sound.currentTime = 0);
this.isPlaying = !1
}
var s = Object.keys(this.markers);
if ("" === e && 1 === s.length && (e = s[0]),
"" === e && 0 < s.length)
return this;
if ("" !== e) {
if (!this.markers[e])
return this;
this.currentMarker = e,
this.position = this.markers[e].start,
this.volume = this.markers[e].volume,
this.loop = this.markers[e].loop,
this.duration = this.markers[e].duration,
this.durationMS = this.markers[e].durationMS,
void 0 !== i && (this.volume = i),
void 0 !== r && (this.loop = r),
this._tempMarker = e,
this._tempPosition = this.position,
this._tempVolume = this.volume,
this._tempLoop = this.loop
} else
t = t || 0,
void 0 === i && (i = this._volume),
void 0 === r && (r = this.loop),
this.position = Math.max(0, t),
this.volume = i,
this.loop = r,
this.duration = 0,
this.durationMS = 0,
this._tempMarker = e,
this._tempPosition = t,
this._tempVolume = i,
this._tempLoop = r;
return this.usingWebAudio ? this.game.cache.isSoundDecoded(this.key) ? (this._sound = this.context.createBufferSource(),
this.externalNode ? this._sound.connect(this.externalNode) : this._sound.connect(this.gainNode),
this._buffer = this.game.cache.getSoundData(this.key),
this._sound.buffer = this._buffer,
this.loop && "" === e && (this._sound.loop = !0),
this.loop || "" !== e || (this._sound.onended = this.onEndedHandler.bind(this)),
this.totalDuration = this._sound.buffer.duration,
0 === this.duration && (this.duration = this.totalDuration,
this.durationMS = Math.ceil(1e3 * this.totalDuration)),
void 0 === this._sound.start ? this._sound.noteGrainOn(0, this.position, this.duration) : this.loop && "" === e ? this._sound.start(0, 0) : this._sound.start(0, this.position, this.duration),
this.isPlaying = !0,
this.startTime = this.game.time.time,
this.currentTime = 0,
this.stopTime = this.startTime + this.durationMS,
this.onPlay.dispatch(this)) : (this.pendingPlayback = !0,
this.game.cache.getSound(this.key) && !1 === this.game.cache.getSound(this.key).isDecoding && this.game.sound.decode(this.key, this)) : this.game.cache.getSound(this.key) && this.game.cache.getSound(this.key).locked ? (this.game.cache.reloadSound(this.key),
this.pendingPlayback = !0) : this._sound && (this.game.device.wechatMinigame || this.game.device.cocoonJS || 4 === this._sound.readyState) ? (this.loop && (this._sound.loop = !0),
!this.loop && "" === e && this.game.device.wechatMinigame && this._sound.addEventListener("ended", this.onEndedHandler.bind(this)),
this._sound.play(),
this.totalDuration = this._sound.duration,
0 === this.duration && (this.duration = this.totalDuration,
this.durationMS = 1e3 * this.totalDuration),
this._sound.currentTime = this.position,
this._sound.muted = this._muted,
this._muted || this.game.sound.mute ? this._sound.volume = 0 : this._sound.volume = this._volume,
this.isPlaying = !0,
this.startTime = this.game.time.time,
this.currentTime = 0,
this.stopTime = this.startTime + this.durationMS,
this.onPlay.dispatch(this)) : this.pendingPlayback = !0,
this
},
restart: function(e, t, i, r) {
e = e || "",
t = t || 0,
i = i || 1,
void 0 === r && (r = !1),
this.play(e, t, i, r, !0)
},
pause: function() {
this.isPlaying && this._sound && (this.paused = !0,
this.pausedPosition = this.currentTime,
this.pausedTime = this.game.time.time,
this._tempPause = this._sound.currentTime,
this.onPause.dispatch(this),
this.stop())
},
resume: function() {
if (this.paused && this._sound) {
if (this.usingWebAudio) {
var e = Math.max(0, this.position + this.pausedPosition / 1e3);
this._sound = this.context.createBufferSource(),
this._sound.buffer = this._buffer,
this.externalNode ? this._sound.connect(this.externalNode) : this._sound.connect(this.gainNode),
this.loop && (this._sound.loop = !0),
this.loop || "" !== this.currentMarker || (this._sound.onended = this.onEndedHandler.bind(this));
var t = this.duration - this.pausedPosition / 1e3;
void 0 === this._sound.start ? this._sound.noteGrainOn(0, e, t) : this.loop && this.game.device.chrome ? 42 === this.game.device.chromeVersion ? this._sound.start(0) : this._sound.start(0, e) : this._sound.start(0, e, t)
} else
this._sound.currentTime = this._tempPause,
this._sound.play();
this.isPlaying = !0,
this.paused = !1,
this.startTime += this.game.time.time - this.pausedTime,
this.onResume.dispatch(this)
}
},
stop: function() {
if (this.isPlaying && this._sound)
if (this.usingWebAudio) {
if (void 0 === this._sound.stop)
this._sound.noteOff(0);
else
try {
this._sound.stop(0)
} catch (e) {}
this.externalNode ? this._sound.disconnect(this.externalNode) : this.gainNode && this._sound.disconnect(this.gainNode)
} else
this.usingAudioTag && (this._sound.pause(),
this._sound.currentTime = 0);
if (this.pendingPlayback = !1,
this.isPlaying = !1,
!this.paused) {
var e = this.currentMarker;
"" !== this.currentMarker && this.onMarkerComplete.dispatch(this.currentMarker, this),
this.currentMarker = "",
null !== this.fadeTween && this.fadeTween.stop(),
this.onStop.dispatch(this, e)
}
},
fadeIn: function(e, t, i) {
void 0 === t && (t = !1),
void 0 === i && (i = this.currentMarker),
this.paused || (this.play(i, 0, 0, t),
this.fadeTo(e, 1))
},
fadeOut: function(e) {
this.fadeTo(e, 0)
},
fadeTo: function(e, t) {
this.isPlaying && !this.paused && t !== this.volume && (void 0 === e && (e = 1e3),
void 0 !== t && (this.fadeTween = this.game.add.tween(this).to({
volume: t
}, e, W.Easing.Linear.None, !0),
this.fadeTween.onComplete.add(this.fadeComplete, this)))
},
fadeComplete: function() {
this.onFadeComplete.dispatch(this, this.volume),
0 === this.volume && this.stop()
},
updateGlobalVolume: function(e) {
this.usingAudioTag && this._sound && (this._sound.volume = e * this._volume)
},
destroy: function(e) {
void 0 === e && (e = !0),
this.stop(),
e ? this.game.sound.remove(this) : (this.markers = {},
this.context = null,
this._buffer = null,
this.externalNode = null,
this.onDecoded.dispose(),
this.onPlay.dispose(),
this.onPause.dispose(),
this.onResume.dispose(),
this.onLoop.dispose(),
this.onStop.dispose(),
this.onMute.dispose(),
this.onMarkerComplete.dispose())
}
},
W.Sound.prototype.constructor = W.Sound,
Object.defineProperty(W.Sound.prototype, "isDecoding", {
get: function() {
return this.game.cache.getSound(this.key).isDecoding
}
}),
Object.defineProperty(W.Sound.prototype, "isDecoded", {
get: function() {
return this.game.cache.isSoundDecoded(this.key)
}
}),
Object.defineProperty(W.Sound.prototype, "mute", {
get: function() {
return this._muted || this.game.sound.mute
},
set: function(e) {
(e = e || !1) !== this._muted && (e ? (this._muted = !0,
this._muteVolume = this._tempVolume,
this.game.device.wechatMinigame ? this._sound.pause() : this.usingWebAudio ? this.gainNode.gain.value = 0 : this.usingAudioTag && this._sound && (this._sound.volume = 0)) : (this._muted = !1,
this.game.device.wechatMinigame && this.isPlaying ? this._sound.play() : this.usingWebAudio ? this.gainNode.gain.value = this._muteVolume : this.usingAudioTag && this._sound && (this._sound.volume = this._muteVolume)),
this.onMute.dispatch(this))
}
}),
Object.defineProperty(W.Sound.prototype, "volume", {
get: function() {
return this._volume
},
set: function(e) {
this.game.device.firefox && this.usingAudioTag && (e = this.game.math.clamp(e, 0, 1)),
this._muted ? this._muteVolume = e : (this._tempVolume = e,
this._volume = e,
this.usingWebAudio ? this.gainNode.gain.value = e : this.usingAudioTag && this._sound && (this._sound.volume = e))
}
}),
W.SoundManager = function(e) {
this.game = e,
this.onSoundDecode = new W.Signal,
this.onVolumeChange = new W.Signal,
this.onMute = new W.Signal,
this.onUnMute = new W.Signal,
this.context = null,
this.usingWebAudio = !1,
this.usingAudioTag = !1,
this.noAudio = !1,
this.connectToMaster = !0,
this.touchLocked = !1,
this.channels = 32,
this.muteOnPause = !0,
this._codeMuted = !1,
this._muted = !1,
this._unlockSource = null,
this._volume = 1,
this._sounds = [],
this._watchList = new W.ArraySet,
this._watching = !1,
this._watchCallback = null,
this._watchContext = null
}
,
W.SoundManager.prototype = {
boot: function() {
if (this.game.device.iOS && !1 === this.game.device.webAudio && (this.channels = 1),
window.PhaserGlobal) {
if (!0 === window.PhaserGlobal.disableAudio)
return this.noAudio = !0,
void (this.touchLocked = !1);
if (!0 === window.PhaserGlobal.disableWebAudio)
return this.usingAudioTag = !0,
void (this.touchLocked = !1)
}
if (window.PhaserGlobal && window.PhaserGlobal.audioContext)
this.context = window.PhaserGlobal.audioContext;
else if (window.AudioContext)
try {
this.context = new window.AudioContext
} catch (e) {
this.context = null,
this.usingWebAudio = !1,
this.touchLocked = !1
}
else if (window.webkitAudioContext)
try {
this.context = new window.webkitAudioContext
} catch (e) {
this.context = null,
this.usingWebAudio = !1,
this.touchLocked = !1
}
if (null === this.context) {
if (void 0 === window.Audio)
return void (this.noAudio = !0);
this.usingAudioTag = !0
} else
this.usingWebAudio = !0,
void 0 === this.context.createGain ? this.masterGain = this.context.createGainNode() : this.masterGain = this.context.createGain(),
this.masterGain.gain.value = 1,
this.masterGain.connect(this.context.destination);
this.noAudio || !this.game.device.cocoonJS && (this.game.device.chrome || this.game.device.iOS || window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock) && this.setTouchLock()
},
setTouchLock: function() {
this.noAudio || window.PhaserGlobal && !0 === window.PhaserGlobal.disableAudio || (8 < this.game.device.iOSVersion || 55 <= this.game.device.chromeVersion ? this.game.input.touch.addTouchLockCallback(this.unlock, this, !0) : this.game.input.touch.addTouchLockCallback(this.unlock, this),
this.touchLocked = !0)
},
unlock: function() {
if (this.noAudio || !this.touchLocked || null !== this._unlockSource)
return !0;
if (this.usingAudioTag)
this.touchLocked = !1,
this._unlockSource = null;
else if (this.usingWebAudio) {
var e = this.context.createBuffer(1, 1, 22050);
this._unlockSource = this.context.createBufferSource(),
this._unlockSource.buffer = e,
this._unlockSource.connect(this.context.destination),
void 0 === this._unlockSource.start ? this._unlockSource.noteOn(0) : this._unlockSource.start(0),
"suspended" === this._unlockSource.context.state && this._unlockSource.context.resume()
}
return !0
},
stopAll: function() {
if (!this.noAudio)
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e] && this._sounds[e].stop()
},
pauseAll: function() {
if (!this.noAudio)
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e] && this._sounds[e].pause()
},
resumeAll: function() {
if (!this.noAudio)
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e] && this._sounds[e].resume()
},
decode: function(t, i) {
i = i || null;
var e = this.game.cache.getSoundData(t);
if (e && !1 === this.game.cache.isSoundDecoded(t)) {
this.game.cache.updateSound(t, "isDecoding", !0);
var r = this;
try {
this.context.decodeAudioData(e, function(e) {
e && (r.game.cache.decodedSound(t, e),
r.onSoundDecode.dispatch(t, i))
})
} catch (e) {}
}
},
setDecodedCallback: function(e, t, i) {
"string" == typeof e && (e = [e]),
this._watchList.reset();
for (var r = 0; r < e.length; r++)
e[r]instanceof W.Sound ? this.game.cache.isSoundDecoded(e[r].key) || this._watchList.add(e[r].key) : this.game.cache.isSoundDecoded(e[r]) || this._watchList.add(e[r]);
0 === this._watchList.total ? (this._watching = !1,
t.call(i)) : (this._watching = !0,
this._watchCallback = t,
this._watchContext = i)
},
update: function() {
if (!this.noAudio) {
!this.touchLocked || null === this._unlockSource || this._unlockSource.playbackState !== this._unlockSource.PLAYING_STATE && this._unlockSource.playbackState !== this._unlockSource.FINISHED_STATE || (this.touchLocked = !1,
this._unlockSource = null);
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e].update();
if (this._watching) {
for (var t = this._watchList.first; t; )
this.game.cache.isSoundDecoded(t) && this._watchList.remove(t),
t = this._watchList.next;
0 === this._watchList.total && (this._watching = !1,
this._watchCallback.call(this._watchContext))
}
}
},
add: function(e, t, i, r) {
void 0 === t && (t = 1),
void 0 === i && (i = !1),
void 0 === r && (r = this.connectToMaster);
var o = new W.Sound(this.game,e,t,i,r);
return this._sounds.push(o),
o
},
addSprite: function(e) {
return new W.AudioSprite(this.game,e)
},
remove: function(e) {
for (var t = this._sounds.length; t--; )
if (this._sounds[t] === e)
return this._sounds[t].destroy(!1),
this._sounds.splice(t, 1),
!0;
return !1
},
removeByKey: function(e) {
for (var t = this._sounds.length, i = 0; t--; )
this._sounds[t].key === e && (this._sounds[t].destroy(!1),
this._sounds.splice(t, 1),
i++);
return i
},
play: function(e, t, i) {
if (!this.noAudio) {
var r = this.add(e, t, i);
return r.play(),
r
}
},
setMute: function() {
if (!this._muted) {
this._muted = !0,
this.usingWebAudio && (this._muteVolume = this.masterGain.gain.value,
this.masterGain.gain.value = 0);
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e].usingAudioTag && (this._sounds[e].mute = !0);
this.onMute.dispatch()
}
},
unsetMute: function() {
if (this._muted && !this._codeMuted) {
this._muted = !1,
this.usingWebAudio && (this.masterGain.gain.value = this._muteVolume);
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e].usingAudioTag && (this._sounds[e].mute = !1);
this.onUnMute.dispatch()
}
},
destroy: function() {
this.stopAll();
for (var e = 0; e < this._sounds.length; e++)
this._sounds[e] && this._sounds[e].destroy();
this._sounds = [],
this.onSoundDecode.dispose(),
this.context && (window.PhaserGlobal ? window.PhaserGlobal.audioContext = this.context : this.context.close && this.context.close())
}
},
W.SoundManager.prototype.constructor = W.SoundManager,
Object.defineProperty(W.SoundManager.prototype, "mute", {
get: function() {
return this._muted
},
set: function(e) {
if (e = e || !1) {
if (this._muted)
return;
this._codeMuted = !0,
this.setMute()
} else {
if (!this._muted)
return;
this._codeMuted = !1,
this.unsetMute()
}
}
}),
Object.defineProperty(W.SoundManager.prototype, "volume", {
get: function() {
return this._volume
},
set: function(e) {
if (e < 0 ? e = 0 : 1 < e && (e = 1),
this._volume !== e) {
if (this._volume = e,
this.usingWebAudio)
this.masterGain.gain.value = e;
else
for (var t = 0; t < this._sounds.length; t++)
this._sounds[t].usingAudioTag && this._sounds[t].updateGlobalVolume(e);
this.onVolumeChange.dispatch(e)
}
}
}),
W.ScaleManager = function(e, t, i) {
this.game = e,
this.dom = W.DOM,
this.grid = null,
this.width = 0,
this.height = 0,
this.minWidth = null,
this.maxWidth = null,
this.minHeight = null,
this.maxHeight = null,
this.offset = new W.Point,
this.forceLandscape = !1,
this.forcePortrait = !1,
this.incorrectOrientation = !1,
this._pageAlignHorizontally = !1,
this._pageAlignVertically = !1,
this.onOrientationChange = new W.Signal,
this.enterIncorrectOrientation = new W.Signal,
this.leaveIncorrectOrientation = new W.Signal,
this.hasPhaserSetFullScreen = !1,
this.fullScreenTarget = null,
this._createdFullScreenTarget = null,
this.onFullScreenInit = new W.Signal,
this.onFullScreenChange = new W.Signal,
this.onFullScreenError = new W.Signal,
this.screenOrientation = this.dom.getScreenOrientation(),
this.scaleFactor = new W.Point(1,1),
this.scaleFactorInversed = new W.Point(1,1),
this.margin = {
left: 0,
top: 0,
right: 0,
bottom: 0,
x: 0,
y: 0
},
this.bounds = new W.Rectangle,
this.aspectRatio = 0,
this.sourceAspectRatio = 0,
this.event = null,
this.windowConstraints = {
right: "layout",
bottom: ""
},
this.compatibility = {
supportsFullScreen: !1,
orientationFallback: null,
noMargins: !1,
scrollTo: null,
forceMinimumDocumentHeight: !1,
canExpandParent: !0,
clickTrampoline: ""
},
this._scaleMode = W.ScaleManager.NO_SCALE,
this._fullScreenScaleMode = W.ScaleManager.NO_SCALE,
this.parentIsWindow = !1,
this.parentNode = null,
this.parentScaleFactor = new W.Point(1,1),
this.trackParentInterval = 2e3,
this.onSizeChange = new W.Signal,
this.onResize = null,
this.onResizeContext = null,
this._pendingScaleMode = null,
this._fullScreenRestore = null,
this._gameSize = new W.Rectangle,
this._userScaleFactor = new W.Point(1,1),
this._userScaleTrim = new W.Point(0,0),
this._lastUpdate = 0,
this._updateThrottle = 0,
this._updateThrottleReset = 100,
this._parentBounds = new W.Rectangle,
this._tempBounds = new W.Rectangle,
this._lastReportedCanvasSize = new W.Rectangle,
this._lastReportedGameSize = new W.Rectangle,
this._booted = !1,
e.config && this.parseConfig(e.config),
this.setupScale(t, i)
}
,
W.ScaleManager.EXACT_FIT = 0,
W.ScaleManager.NO_SCALE = 1,
W.ScaleManager.SHOW_ALL = 2,
W.ScaleManager.RESIZE = 3,
W.ScaleManager.USER_SCALE = 4,
W.ScaleManager.prototype = {
boot: function() {
var e = this.compatibility;
e.supportsFullScreen = this.game.device.fullscreen && !this.game.device.cocoonJS,
this.game.device.iPad || this.game.device.webApp || this.game.device.desktop || (this.game.device.android && !this.game.device.chrome ? e.scrollTo = new W.Point(0,1) : e.scrollTo = new W.Point(0,0)),
this.game.device.desktop ? (e.orientationFallback = "screen",
e.clickTrampoline = "when-not-mouse") : (e.orientationFallback = "",
e.clickTrampoline = "");
var t = this;
this._orientationChange = function(e) {
return t.orientationChange(e)
}
,
this._windowResize = function(e) {
return t.windowResize(e)
}
,
window.addEventListener("orientationchange", this._orientationChange, !1),
window.addEventListener("resize", this._windowResize, !1),
this.compatibility.supportsFullScreen && (this._fullScreenChange = function(e) {
return t.fullScreenChange(e)
}
,
this._fullScreenError = function(e) {
return t.fullScreenError(e)
}
,
document.addEventListener("webkitfullscreenchange", this._fullScreenChange, !1),
document.addEventListener("mozfullscreenchange", this._fullScreenChange, !1),
document.addEventListener("MSFullscreenChange", this._fullScreenChange, !1),
document.addEventListener("fullscreenchange", this._fullScreenChange, !1),
document.addEventListener("webkitfullscreenerror", this._fullScreenError, !1),
document.addEventListener("mozfullscreenerror", this._fullScreenError, !1),
document.addEventListener("MSFullscreenError", this._fullScreenError, !1),
document.addEventListener("fullscreenerror", this._fullScreenError, !1)),
this.game.onResume.add(this._gameResumed, this),
this.dom.getOffset(this.game.canvas, this.offset),
this.bounds.setTo(this.offset.x, this.offset.y, this.width, this.height),
this.setGameSize(this.game.width, this.game.height),
this.screenOrientation = this.dom.getScreenOrientation(this.compatibility.orientationFallback),
W.FlexGrid && (this.grid = new W.FlexGrid(this,this.width,this.height)),
this._booted = !0,
null !== this._pendingScaleMode && (this.scaleMode = this._pendingScaleMode,
this._pendingScaleMode = null)
},
parseConfig: function(e) {
void 0 !== e.scaleMode && (this._booted ? this.scaleMode = e.scaleMode : this._pendingScaleMode = e.scaleMode),
void 0 !== e.fullScreenScaleMode && (this.fullScreenScaleMode = e.fullScreenScaleMode),
e.fullScreenTarget && (this.fullScreenTarget = e.fullScreenTarget)
},
setupScale: function(e, t) {
var i, r = new W.Rectangle;
"" !== this.game.parent && ("string" == typeof this.game.parent ? i = document.getElementById(this.game.parent) : this.game.parent && 1 === this.game.parent.nodeType && (i = this.game.parent)),
i ? (this.parentNode = i,
this.parentIsWindow = !1,
this.getParentBounds(this._parentBounds),
r.width = this._parentBounds.width,
r.height = this._parentBounds.height,
this.offset.set(this._parentBounds.x, this._parentBounds.y)) : (this.parentNode = null,
this.parentIsWindow = !0,
r.width = this.dom.visualBounds.width,
r.height = this.dom.visualBounds.height,
this.offset.set(0, 0));
var o = 0
, s = 0;
o = "number" == typeof e ? e : (this.parentScaleFactor.x = parseInt(e, 10) / 100,
r.width * this.parentScaleFactor.x),
s = "number" == typeof t ? t : (this.parentScaleFactor.y = parseInt(t, 10) / 100,
r.height * this.parentScaleFactor.y),
o = Math.floor(o),
s = Math.floor(s),
this._gameSize.setTo(0, 0, o, s),
this.updateDimensions(o, s, !1)
},
_gameResumed: function() {
this.queueUpdate(!0)
},
setGameSize: function(e, t) {
this._gameSize.setTo(0, 0, e, t),
this.currentScaleMode !== W.ScaleManager.RESIZE && this.updateDimensions(e, t, !0),
this.queueUpdate(!0)
},
setUserScale: function(e, t, i, r) {
this._userScaleFactor.setTo(e, t),
this._userScaleTrim.setTo(0 | i, 0 | r),
this.queueUpdate(!0)
},
setResizeCallback: function(e, t) {
this.onResize = e,
this.onResizeContext = t
},
signalSizeChange: function() {
if (!W.Rectangle.sameDimensions(this, this._lastReportedCanvasSize) || !W.Rectangle.sameDimensions(this.game, this._lastReportedGameSize)) {
var e = this.width
, t = this.height;
this._lastReportedCanvasSize.setTo(0, 0, e, t),
this._lastReportedGameSize.setTo(0, 0, this.game.width, this.game.height),
this.grid && this.grid.onResize(e, t),
this.onSizeChange.dispatch(this, e, t),
this.currentScaleMode === W.ScaleManager.RESIZE && (this.game.state.resize(e, t),
this.game.load.resize(e, t))
}
},
setMinMax: function(e, t, i, r) {
this.minWidth = e,
this.minHeight = t,
void 0 !== i && (this.maxWidth = i),
void 0 !== r && (this.maxHeight = r)
},
preUpdate: function() {
if (!(this.game.time.time < this._lastUpdate + this._updateThrottle)) {
var e = this._updateThrottle;
this._updateThrottleReset = 400 <= e ? 0 : 100,
this.dom.getOffset(this.game.canvas, this.offset);
var t = this._parentBounds.width
, i = this._parentBounds.height
, r = this.getParentBounds(this._parentBounds)
, o = r.width !== t || r.height !== i
, s = this.updateOrientationState();
(o || s) && (this.onResize && this.onResize.call(this.onResizeContext, this, r),
this.updateLayout(),
this.signalSizeChange());
var a = 2 * this._updateThrottle;
this._updateThrottle < e && (a = Math.min(e, this._updateThrottleReset)),
this._updateThrottle = W.Math.clamp(a, 25, this.trackParentInterval),
this._lastUpdate = this.game.time.time
}
},
pauseUpdate: function() {
this.preUpdate(),
this._updateThrottle = this.trackParentInterval
},
updateDimensions: function(e, t, i) {
this.width = e * this.parentScaleFactor.x,
this.height = t * this.parentScaleFactor.y,
this.game.width = this.width,
this.game.height = this.height,
this.sourceAspectRatio = this.width / this.height,
this.updateScalingAndBounds(),
i && (this.game.renderer.resize(this.width, this.height),
this.game.camera.setSize(this.width, this.height),
this.game.world.resize(this.width, this.height))
},
updateScalingAndBounds: function() {
this.scaleFactor.x = this.game.width / this.width,
this.scaleFactor.y = this.game.height / this.height,
this.scaleFactorInversed.x = this.width / this.game.width,
this.scaleFactorInversed.y = this.height / this.game.height,
this.aspectRatio = this.width / this.height,
this.game.canvas && this.dom.getOffset(this.game.canvas, this.offset),
this.bounds.setTo(this.offset.x, this.offset.y, this.width, this.height),
this.game.input && this.game.input.scale && this.game.input.scale.setTo(this.scaleFactor.x, this.scaleFactor.y)
},
forceOrientation: function(e, t) {
void 0 === t && (t = !1),
this.forceLandscape = e,
this.forcePortrait = t,
this.queueUpdate(!0)
},
classifyOrientation: function(e) {
return "portrait-primary" === e || "portrait-secondary" === e ? "portrait" : "landscape-primary" === e || "landscape-secondary" === e ? "landscape" : null
},
updateOrientationState: function() {
var e = this.screenOrientation
, t = this.incorrectOrientation;
this.screenOrientation = this.dom.getScreenOrientation(this.compatibility.orientationFallback),
this.incorrectOrientation = this.forceLandscape && !this.isLandscape || this.forcePortrait && !this.isPortrait;
var i = e !== this.screenOrientation
, r = t !== this.incorrectOrientation;
return r && (this.incorrectOrientation ? this.enterIncorrectOrientation.dispatch() : this.leaveIncorrectOrientation.dispatch()),
(i || r) && this.onOrientationChange.dispatch(this, e, t),
i || r
},
orientationChange: function(e) {
this.event = e,
this.queueUpdate(!0)
},
windowResize: function(e) {
this.event = e,
this.queueUpdate(!0)
},
scrollTop: function() {
var e = this.compatibility.scrollTo;
e && window.scrollTo(e.x, e.y)
},
refresh: function() {
this.scrollTop(),
this.queueUpdate(!0)
},
updateLayout: function() {
var e = this.currentScaleMode;
if (e !== W.ScaleManager.RESIZE) {
if (this.scrollTop(),
this.compatibility.forceMinimumDocumentHeight && (document.documentElement.style.minHeight = window.innerHeight + "px"),
this.incorrectOrientation ? this.setMaximum() : e === W.ScaleManager.EXACT_FIT ? this.setExactFit() : e === W.ScaleManager.SHOW_ALL ? (this.setShowAll(!0),
this.resetCanvas(),
this.setShowAll()) : e === W.ScaleManager.NO_SCALE ? (this.width = this.game.width,
this.height = this.game.height) : e === W.ScaleManager.USER_SCALE && (this.width = this.game.width * this._userScaleFactor.x - this._userScaleTrim.x,
this.height = this.game.height * this._userScaleFactor.y - this._userScaleTrim.y),
!this.compatibility.canExpandParent && (e === W.ScaleManager.SHOW_ALL || e === W.ScaleManager.USER_SCALE)) {
var t = this.getParentBounds(this._tempBounds);
this.width = Math.min(this.width, t.width),
this.height = Math.min(this.height, t.height)
}
this.width = 0 | this.width,
this.height = 0 | this.height,
this.reflowCanvas()
} else
this.reflowGame()
},
getParentBounds: function(e) {
var t = e || new W.Rectangle
, i = this.boundingParent
, r = this.dom.visualBounds
, o = this.dom.layoutBounds;
if (i) {
var s = i.getBoundingClientRect()
, a = i.offsetParent ? i.offsetParent.getBoundingClientRect() : i.getBoundingClientRect();
t.setTo(s.left - a.left, s.top - a.top, s.width, s.height);
var n = this.windowConstraints;
if (n.right) {
var h = "layout" === n.right ? o : r;
t.right = Math.min(t.right, h.width)
}
if (n.bottom) {
h = "layout" === n.bottom ? o : r;
t.bottom = Math.min(t.bottom, h.height)
}
} else
t.setTo(0, 0, r.width, r.height);
return t.setTo(Math.round(t.x), Math.round(t.y), Math.round(t.width), Math.round(t.height)),
t
},
alignCanvas: function(e, t) {
var i = this.getParentBounds(this._tempBounds)
, r = this.game.canvas
, o = this.margin;
if (e) {
o.left = o.right = 0;
var s = r.getBoundingClientRect();
if (this.width < i.width && !this.incorrectOrientation) {
var a = s.left - i.x
, n = i.width / 2 - this.width / 2
, h = (n = Math.max(n, 0)) - a;
o.left = Math.round(h)
}
r.style.marginLeft = o.left + "px",
0 !== o.left && (o.right = -(i.width - s.width - o.left),
r.style.marginRight = o.right + "px")
}
if (t) {
o.top = o.bottom = 0;
s = r.getBoundingClientRect();
if (this.height < i.height && !this.incorrectOrientation) {
a = s.top - i.y,
n = i.height / 2 - this.height / 2,
h = (n = Math.max(n, 0)) - a;
o.top = Math.round(h)
}
r.style.marginTop = o.top + "px",
0 !== o.top && (o.bottom = -(i.height - s.height - o.top),
r.style.marginBottom = o.bottom + "px")
}
o.x = o.left,
o.y = o.top
},
reflowGame: function() {
this.resetCanvas("", "");
var e = this.getParentBounds(this._tempBounds);
this.updateDimensions(e.width, e.height, !0)
},
reflowCanvas: function() {
this.incorrectOrientation || (this.width = W.Math.clamp(this.width, this.minWidth || 0, this.maxWidth || this.width),
this.height = W.Math.clamp(this.height, this.minHeight || 0, this.maxHeight || this.height)),
this.resetCanvas(),
this.compatibility.noMargins || (this.isFullScreen && this._createdFullScreenTarget ? this.alignCanvas(!0, !0) : this.alignCanvas(this.pageAlignHorizontally, this.pageAlignVertically)),
this.updateScalingAndBounds()
},
resetCanvas: function(e, t) {
void 0 === e && (e = this.width + "px"),
void 0 === t && (t = this.height + "px");
var i = this.game.canvas;
this.compatibility.noMargins || (i.style.marginLeft = "",
i.style.marginTop = "",
i.style.marginRight = "",
i.style.marginBottom = ""),
i.style.width = e,
i.style.height = t
},
queueUpdate: function(e) {
e && (this._parentBounds.width = 0,
this._parentBounds.height = 0),
this._updateThrottle = this._updateThrottleReset
},
reset: function(e) {
e && this.grid && this.grid.reset()
},
setMaximum: function() {
this.width = this.dom.visualBounds.width,
this.height = this.dom.visualBounds.height
},
setShowAll: function(e) {
var t, i = this.getParentBounds(this._tempBounds), r = i.width, o = i.height;
t = e ? Math.max(o / this.game.height, r / this.game.width) : Math.min(o / this.game.height, r / this.game.width),
this.width = Math.round(this.game.width * t),
this.height = Math.round(this.game.height * t)
},
setExactFit: function() {
var e = this.getParentBounds(this._tempBounds);
this.width = e.width,
this.height = e.height,
this.isFullScreen || (this.maxWidth && (this.width = Math.min(this.width, this.maxWidth)),
this.maxHeight && (this.height = Math.min(this.height, this.maxHeight)))
},
createFullScreenTarget: function() {
var e = document.createElement("div");
return e.style.margin = "0",
e.style.padding = "0",
e.style.background = "#000",
e
},
startFullScreen: function(e, t) {
if (this.isFullScreen)
return !1;
if (this.compatibility.supportsFullScreen) {
if ("when-not-mouse" === this.compatibility.clickTrampoline) {
var i = this.game.input;
if (i.activePointer && i.activePointer !== i.mousePointer && (t || !1 !== t))
return void i.activePointer.addClickTrampoline("startFullScreen", this.startFullScreen, this, [e, !1])
}
void 0 !== e && this.game.renderType === W.CANVAS && (this.game.stage.smoothed = e);
var r = this.fullScreenTarget;
r || (this.cleanupCreatedTarget(),
this._createdFullScreenTarget = this.createFullScreenTarget(),
r = this._createdFullScreenTarget);
var o = {
targetElement: r
};
if (this.hasPhaserSetFullScreen = !0,
this.onFullScreenInit.dispatch(this, o),
this._createdFullScreenTarget) {
var s = this.game.canvas;
s.parentNode.insertBefore(r, s),
r.appendChild(s)
}
return this.game.device.fullscreenKeyboard ? r[this.game.device.requestFullscreen](Element.ALLOW_KEYBOARD_INPUT) : r[this.game.device.requestFullscreen](),
!0
}
var a = this;
setTimeout(function() {
a.fullScreenError()
}, 10)
},
stopFullScreen: function() {
return !(!this.isFullScreen || !this.compatibility.supportsFullScreen) && (this.hasPhaserSetFullScreen = !1,
document[this.game.device.cancelFullscreen](),
!0)
},
cleanupCreatedTarget: function() {
var e = this._createdFullScreenTarget;
if (e && e.parentNode) {
var t = e.parentNode;
t.insertBefore(this.game.canvas, e),
t.removeChild(e)
}
this._createdFullScreenTarget = null
},
prepScreenMode: function(e) {
var t = !!this._createdFullScreenTarget
, i = this._createdFullScreenTarget || this.fullScreenTarget;
e ? (t || this.fullScreenScaleMode === W.ScaleManager.EXACT_FIT) && i !== this.game.canvas && (this._fullScreenRestore = {
targetWidth: i.style.width,
targetHeight: i.style.height
},
i.style.width = "100%",
i.style.height = "100%") : (this._fullScreenRestore && (i.style.width = this._fullScreenRestore.targetWidth,
i.style.height = this._fullScreenRestore.targetHeight,
this._fullScreenRestore = null),
this.updateDimensions(this._gameSize.width, this._gameSize.height, !0),
this.resetCanvas())
},
fullScreenChange: function(e) {
this.event = e,
this.isFullScreen ? this.prepScreenMode(!0) : (this.prepScreenMode(!1),
this.cleanupCreatedTarget()),
this.updateLayout(),
this.queueUpdate(!0),
this.onFullScreenChange.dispatch(this, this.width, this.height)
},
fullScreenError: function(e) {
this.event = e,
this.cleanupCreatedTarget(),
this.onFullScreenError.dispatch(this)
},
scaleSprite: function(e, t, i, r) {
if (void 0 === t && (t = this.width),
void 0 === i && (i = this.height),
void 0 === r && (r = !1),
!e || !e.scale)
return e;
if (e.scale.x = 1,
e.scale.y = 1,
e.width <= 0 || e.height <= 0 || t <= 0 || i <= 0)
return e;
var o = t
, s = e.height * t / e.width
, a = e.width * i / e.height
, n = i
, h = t < a;
return (h = h ? r : !r) ? (e.width = Math.floor(o),
e.height = Math.floor(s)) : (e.width = Math.floor(a),
e.height = Math.floor(n)),
e
},
destroy: function() {
this.game.onResume.remove(this._gameResumed, this),
window.removeEventListener("orientationchange", this._orientationChange, !1),
window.removeEventListener("resize", this._windowResize, !1),
this.compatibility.supportsFullScreen && (document.removeEventListener("webkitfullscreenchange", this._fullScreenChange, !1),
document.removeEventListener("mozfullscreenchange", this._fullScreenChange, !1),
document.removeEventListener("MSFullscreenChange", this._fullScreenChange, !1),
document.removeEventListener("fullscreenchange", this._fullScreenChange, !1),
document.removeEventListener("webkitfullscreenerror", this._fullScreenError, !1),
document.removeEventListener("mozfullscreenerror", this._fullScreenError, !1),
document.removeEventListener("MSFullscreenError", this._fullScreenError, !1),
document.removeEventListener("fullscreenerror", this._fullScreenError, !1))
}
},
W.ScaleManager.prototype.constructor = W.ScaleManager,
Object.defineProperty(W.ScaleManager.prototype, "boundingParent", {
get: function() {
return this.parentIsWindow || this.isFullScreen && this.hasPhaserSetFullScreen && !this._createdFullScreenTarget ? null : this.game.canvas && this.game.canvas.parentNode || null
}
}),
Object.defineProperty(W.ScaleManager.prototype, "scaleMode", {
get: function() {
return this._scaleMode
},
set: function(e) {
return e !== this._scaleMode && (this.isFullScreen || (this.updateDimensions(this._gameSize.width, this._gameSize.height, !0),
this.queueUpdate(!0)),
this._scaleMode = e),
this._scaleMode
}
}),
Object.defineProperty(W.ScaleManager.prototype, "fullScreenScaleMode", {
get: function() {
return this._fullScreenScaleMode
},
set: function(e) {
return e !== this._fullScreenScaleMode && (this.isFullScreen ? (this.prepScreenMode(!1),
this._fullScreenScaleMode = e,
this.prepScreenMode(!0),
this.queueUpdate(!0)) : this._fullScreenScaleMode = e),
this._fullScreenScaleMode
}
}),
Object.defineProperty(W.ScaleManager.prototype, "currentScaleMode", {
get: function() {
return this.isFullScreen ? this._fullScreenScaleMode : this._scaleMode
}
}),
Object.defineProperty(W.ScaleManager.prototype, "pageAlignHorizontally", {
get: function() {
return this._pageAlignHorizontally
},
set: function(e) {
e !== this._pageAlignHorizontally && (this._pageAlignHorizontally = e,
this.queueUpdate(!0))
}
}),
Object.defineProperty(W.ScaleManager.prototype, "pageAlignVertically", {
get: function() {
return this._pageAlignVertically
},
set: function(e) {
e !== this._pageAlignVertically && (this._pageAlignVertically = e,
this.queueUpdate(!0))
}
}),
Object.defineProperty(W.ScaleManager.prototype, "isFullScreen", {
get: function() {
return !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement)
}
}),
Object.defineProperty(W.ScaleManager.prototype, "isPortrait", {
get: function() {
return "portrait" === this.classifyOrientation(this.screenOrientation)
}
}),
Object.defineProperty(W.ScaleManager.prototype, "isLandscape", {
get: function() {
return "landscape" === this.classifyOrientation(this.screenOrientation)
}
}),
Object.defineProperty(W.ScaleManager.prototype, "isGamePortrait", {
get: function() {
return this.height > this.width
}
}),
Object.defineProperty(W.ScaleManager.prototype, "isGameLandscape", {
get: function() {
return this.width > this.height
}
}),
W.Utils.Debug = function(e) {
this.game = e,
this.sprite = null,
this.bmd = null,
this.canvas = null,
this.context = null,
this.font = "14px Courier",
this.columnWidth = 100,
this.lineHeight = 16,
this.renderShadow = !0,
this.currentX = 0,
this.currentY = 0,
this.currentAlpha = 1,
this.dirty = !1
}
,
W.Utils.Debug.prototype = {
boot: function() {
this.game.renderType === W.CANVAS ? this.context = this.game.context : (this.bmd = new W.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),
this.sprite = this.game.make.image(0, 0, this.bmd),
this.game.stage.addChild(this.sprite),
this.game.scale.onSizeChange.add(this.resize, this),
this.canvas = PIXI.CanvasPool.create(this, this.game.width, this.game.height),
this.context = this.canvas.getContext("2d"))
},
resize: function(e, t, i) {
this.bmd.resize(t, i),
this.canvas.width = t,
this.canvas.height = i
},
preUpdate: function() {
this.dirty && this.sprite && (this.bmd.clear(),
this.bmd.draw(this.canvas, 0, 0),
this.context.clearRect(0, 0, this.game.width, this.game.height),
this.dirty = !1)
},
reset: function() {
this.context && this.context.clearRect(0, 0, this.game.width, this.game.height),
this.sprite && this.bmd.clear()
},
start: function(e, t, i, r) {
"number" != typeof e && (e = 0),
"number" != typeof t && (t = 0),
i = i || "rgb(255,255,255)",
void 0 === r && (r = 0),
this.currentX = e,
this.currentY = t,
this.currentColor = i,
this.columnWidth = r,
this.dirty = !0,
this.context.save(),
this.context.setTransform(1, 0, 0, 1, 0, 0),
this.context.strokeStyle = i,
this.context.fillStyle = i,
this.context.font = this.font,
this.context.globalAlpha = this.currentAlpha
},
stop: function() {
this.context.restore()
},
line: function() {
for (var e = this.currentX, t = 0; t < arguments.length; t++)
this.renderShadow && (this.context.fillStyle = "rgb(0,0,0)",
this.context.fillText(arguments[t], e + 1, this.currentY + 1),
this.context.fillStyle = this.currentColor),
this.context.fillText(arguments[t], e, this.currentY),
e += this.columnWidth;
this.currentY += this.lineHeight
},
soundInfo: function(e, t, i, r) {
this.start(t, i, r),
this.line("Sound: " + e.key + " Locked: " + e.game.sound.touchLocked),
this.line("Is Ready?: " + this.game.cache.isSoundReady(e.key) + " Pending Playback: " + e.pendingPlayback),
this.line("Decoded: " + e.isDecoded + " Decoding: " + e.isDecoding),
this.line("Total Duration: " + e.totalDuration + " Playing: " + e.isPlaying),
this.line("Time: " + e.currentTime),
this.line("Volume: " + e.volume + " Muted: " + e.mute),
this.line("WebAudio: " + e.usingWebAudio + " Audio: " + e.usingAudioTag),
"" !== e.currentMarker && (this.line("Marker: " + e.currentMarker + " Duration: " + e.duration + " (ms: " + e.durationMS + ")"),
this.line("Start: " + e.markers[e.currentMarker].start + " Stop: " + e.markers[e.currentMarker].stop),
this.line("Position: " + e.position)),
this.stop()
},
cameraInfo: function(e, t, i, r) {
this.start(t, i, r),
this.line("Camera (" + e.width + " x " + e.height + ")"),
this.line("X: " + e.x + " Y: " + e.y),
e.bounds && this.line("Bounds x: " + e.bounds.x + " Y: " + e.bounds.y + " w: " + e.bounds.width + " h: " + e.bounds.height),
this.line("View x: " + e.view.x + " Y: " + e.view.y + " w: " + e.view.width + " h: " + e.view.height),
this.line("Total in view: " + e.totalInView),
this.stop()
},
timer: function(e, t, i, r) {
this.start(t, i, r),
this.line("Timer (running: " + e.running + " expired: " + e.expired + ")"),
this.line("Next Tick: " + e.next + " Duration: " + e.duration),
this.line("Paused: " + e.paused + " Length: " + e.length),
this.stop()
},
pointer: function(e, t, i, r, o) {
null != e && (void 0 === t && (t = !1),
i = i || "rgba(0,255,0,0.5)",
r = r || "rgba(255,0,0,0.5)",
!0 === t && !0 === e.isUp || (this.start(e.x, e.y - 100, o),
this.context.beginPath(),
this.context.arc(e.x, e.y, e.circle.radius, 0, 2 * Math.PI),
e.active ? this.context.fillStyle = i : this.context.fillStyle = r,
this.context.fill(),
this.context.closePath(),
this.context.beginPath(),
this.context.moveTo(e.positionDown.x, e.positionDown.y),
this.context.lineTo(e.position.x, e.position.y),
this.context.lineWidth = 2,
this.context.stroke(),
this.context.closePath(),
this.line("ID: " + e.id + " Active: " + e.active),
this.line("World X: " + e.worldX + " World Y: " + e.worldY),
this.line("Screen X: " + e.x + " Screen Y: " + e.y + " In: " + e.withinGame),
this.line("Duration: " + e.duration + " ms"),
this.line("is Down: " + e.isDown + " is Up: " + e.isUp),
this.stop()))
},
spriteInputInfo: function(e, t, i, r) {
this.start(t, i, r),
this.line("Sprite Input: (" + e.width + " x " + e.height + ")"),
this.line("x: " + e.input.pointerX().toFixed(1) + " y: " + e.input.pointerY().toFixed(1)),
this.line("over: " + e.input.pointerOver() + " duration: " + e.input.overDuration().toFixed(0)),
this.line("down: " + e.input.pointerDown() + " duration: " + e.input.downDuration().toFixed(0)),
this.line("just over: " + e.input.justOver() + " just out: " + e.input.justOut()),
this.stop()
},
key: function(e, t, i, r) {
this.start(t, i, r, 150),
this.line("Key:", e.keyCode, "isDown:", e.isDown),
this.line("justDown:", e.justDown, "justUp:", e.justUp),
this.line("Time Down:", e.timeDown.toFixed(0), "duration:", e.duration.toFixed(0)),
this.stop()
},
inputInfo: function(e, t, i) {
this.start(e, t, i),
this.line("Input"),
this.line("X: " + this.game.input.x + " Y: " + this.game.input.y),
this.line("World X: " + this.game.input.worldX + " World Y: " + this.game.input.worldY),
this.line("Scale X: " + this.game.input.scale.x.toFixed(1) + " Scale Y: " + this.game.input.scale.x.toFixed(1)),
this.line("Screen X: " + this.game.input.activePointer.screenX + " Screen Y: " + this.game.input.activePointer.screenY),
this.stop()
},
spriteBounds: function(e, t, i) {
var r = e.getBounds();
r.x += this.game.camera.x,
r.y += this.game.camera.y,
this.rectangle(r, t, i)
},
ropeSegments: function(e, t, i) {
var r = e.segments
, o = this;
r.forEach(function(e) {
o.rectangle(e, t, i)
}, this)
},
spriteInfo: function(e, t, i, r) {
this.start(t, i, r),
this.line("Sprite: (" + e.width + " x " + e.height + ") anchor: " + e.anchor.x + " x " + e.anchor.y),
this.line("x: " + e.x.toFixed(1) + " y: " + e.y.toFixed(1)),
this.line("angle: " + e.angle.toFixed(1) + " rotation: " + e.rotation.toFixed(1)),
this.line("visible: " + e.visible + " in camera: " + e.inCamera),
this.line("bounds x: " + e._bounds.x.toFixed(1) + " y: " + e._bounds.y.toFixed(1) + " w: " + e._bounds.width.toFixed(1) + " h: " + e._bounds.height.toFixed(1)),
this.stop()
},
spriteCoords: function(e, t, i, r) {
this.start(t, i, r, 100),
e.name && this.line(e.name),
this.line("x:", e.x.toFixed(2), "y:", e.y.toFixed(2)),
this.line("pos x:", e.position.x.toFixed(2), "pos y:", e.position.y.toFixed(2)),
this.line("world x:", e.world.x.toFixed(2), "world y:", e.world.y.toFixed(2)),
this.stop()
},
lineInfo: function(e, t, i, r) {
this.start(t, i, r, 80),
this.line("start.x:", e.start.x.toFixed(2), "start.y:", e.start.y.toFixed(2)),
this.line("end.x:", e.end.x.toFixed(2), "end.y:", e.end.y.toFixed(2)),
this.line("length:", e.length.toFixed(2), "angle:", e.angle),
this.stop()
},
pixel: function(e, t, i, r) {
r = r || 2,
this.start(),
this.context.fillStyle = i,
this.context.fillRect(e, t, r, r),
this.stop()
},
geom: function(e, t, i, r) {
void 0 === i && (i = !0),
void 0 === r && (r = 0),
t = t || "rgba(0,255,0,0.4)",
this.start(),
this.context.fillStyle = t,
this.context.strokeStyle = t,
e instanceof W.Rectangle || 1 === r ? i ? this.context.fillRect(e.x - this.game.camera.x, e.y - this.game.camera.y, e.width, e.height) : this.context.strokeRect(e.x - this.game.camera.x, e.y - this.game.camera.y, e.width, e.height) : e instanceof W.Circle || 2 === r ? (this.context.beginPath(),
this.context.arc(e.x - this.game.camera.x, e.y - this.game.camera.y, e.radius, 0, 2 * Math.PI, !1),
this.context.closePath(),
i ? this.context.fill() : this.context.stroke()) : e instanceof W.Point || 3 === r ? this.context.fillRect(e.x - this.game.camera.x, e.y - this.game.camera.y, 4, 4) : (e instanceof W.Line || 4 === r) && (this.context.lineWidth = 1,
this.context.beginPath(),
this.context.moveTo(e.start.x + .5 - this.game.camera.x, e.start.y + .5 - this.game.camera.y),
this.context.lineTo(e.end.x + .5 - this.game.camera.x, e.end.y + .5 - this.game.camera.y),
this.context.closePath(),
this.context.stroke()),
this.stop()
},
rectangle: function(e, t, i) {
void 0 === i && (i = !0),
t = t || "rgba(0, 255, 0, 0.4)",
this.start(),
i ? (this.context.fillStyle = t,
this.context.fillRect(e.x - this.game.camera.x, e.y - this.game.camera.y, e.width, e.height)) : (this.context.strokeStyle = t,
this.context.strokeRect(e.x - this.game.camera.x, e.y - this.game.camera.y, e.width, e.height)),
this.stop()
},
text: function(e, t, i, r, o) {
r = r || "rgb(255,255,255)",
o = o || "16px Courier",
this.start(),
this.context.font = o,
this.renderShadow && (this.context.fillStyle = "rgb(0,0,0)",
this.context.fillText(e, t + 1, i + 1)),
this.context.fillStyle = r,
this.context.fillText(e, t, i),
this.stop()
},
quadTree: function(e, t) {
t = t || "rgba(255,0,0,0.3)",
this.start();
var i = e.bounds;
if (0 === e.nodes.length) {
this.context.strokeStyle = t,
this.context.strokeRect(i.x, i.y, i.width, i.height),
this.text("size: " + e.objects.length, i.x + 4, i.y + 16, "rgb(0,200,0)", "12px Courier"),
this.context.strokeStyle = "rgb(0,255,0)";
for (var r = 0; r < e.objects.length; r++)
this.context.strokeRect(e.objects[r].x, e.objects[r].y, e.objects[r].width, e.objects[r].height)
} else
for (r = 0; r < e.nodes.length; r++)
this.quadTree(e.nodes[r]);
this.stop()
},
body: function(e, t, i) {
e.body && (this.start(),
e.body.type === W.Physics.ARCADE ? W.Physics.Arcade.Body.render(this.context, e.body, t, i) : e.body.type === W.Physics.NINJA ? W.Physics.Ninja.Body.render(this.context, e.body, t, i) : e.body.type === W.Physics.BOX2D && W.Physics.Box2D.renderBody(this.context, e.body, t),
this.stop())
},
bodyInfo: function(e, t, i, r) {
e.body && (this.start(t, i, r, 210),
e.body.type === W.Physics.ARCADE ? W.Physics.Arcade.Body.renderBodyInfo(this, e.body) : e.body.type === W.Physics.BOX2D && this.game.physics.box2d.renderBodyInfo(this, e.body),
this.stop())
},
box2dWorld: function() {
this.start(),
this.context.translate(-this.game.camera.view.x, -this.game.camera.view.y, 0),
this.game.physics.box2d.renderDebugDraw(this.context),
this.stop()
},
box2dBody: function(e, t) {
this.start(),
W.Physics.Box2D.renderBody(this.context, e, t),
this.stop()
},
displayList: function(e) {
if (void 0 === e && (e = this.game.world),
e.hasOwnProperty("renderOrderID"),
e.children && 0 < e.children.length)
for (var t = 0; t < e.children.length; t++)
this.game.debug.displayList(e.children[t])
},
destroy: function() {
PIXI.CanvasPool.remove(this)
}
},
W.Utils.Debug.prototype.constructor = W.Utils.Debug,
W.DOM = {
getOffset: function(e, t) {
t = t || new W.Point;
var i = e.getBoundingClientRect()
, r = W.DOM.scrollY
, o = W.DOM.scrollX
, s = document.documentElement.clientTop
, a = document.documentElement.clientLeft;
return t.x = i.left + o - a,
t.y = i.top + r - s,
t
},
getBounds: function(e, t) {
return void 0 === t && (t = 0),
!(!(e = e && !e.nodeType ? e[0] : e) || 1 !== e.nodeType) && this.calibrate(e.getBoundingClientRect(), t)
},
calibrate: function(e, t) {
t = +t || 0;
var i = {
width: 0,
height: 0,
left: 0,
right: 0,
top: 0,
bottom: 0
};
return i.width = (i.right = e.right + t) - (i.left = e.left - t),
i.height = (i.bottom = e.bottom + t) - (i.top = e.top - t),
i
},
getAspectRatio: function(e) {
var t = (e = null == e ? this.visualBounds : 1 === e.nodeType ? this.getBounds(e) : e).width
, i = e.height;
return "function" == typeof t && (t = t.call(e)),
"function" == typeof i && (i = i.call(e)),
t / i
},
inLayoutViewport: function(e, t) {
var i = this.getBounds(e, t);
return !!i && 0 <= i.bottom && 0 <= i.right && i.top <= this.layoutBounds.width && i.left <= this.layoutBounds.height
},
getScreenOrientation: function(e) {
var t = window.screen
, i = t.orientation || t.mozOrientation || t.msOrientation;
if (i && "string" == typeof i.type)
return i.type;
if ("string" == typeof i)
return i;
var r = "portrait-primary"
, o = "landscape-primary";
if ("screen" === e)
return t.height > t.width ? r : o;
if ("viewport" === e)
return this.visualBounds.height > this.visualBounds.width ? r : o;
if ("window.orientation" === e && "number" == typeof window.orientation)
return 0 === window.orientation || 180 === window.orientation ? r : o;
if (window.matchMedia) {
if (window.matchMedia("(orientation: portrait)").matches)
return r;
if (window.matchMedia("(orientation: landscape)").matches)
return o
}
return this.visualBounds.height > this.visualBounds.width ? r : o
},
visualBounds: new W.Rectangle,
layoutBounds: new W.Rectangle,
documentBounds: new W.Rectangle
},
W.Device.whenReady(function(e) {
var t = window && "pageXOffset"in window ? function() {
return window.pageXOffset
}
: function() {
return document.documentElement.scrollLeft
}
, i = window && "pageYOffset"in window ? function() {
return window.pageYOffset
}
: function() {
return document.documentElement.scrollTop
}
;
if (Object.defineProperty(W.DOM, "scrollX", {
get: t
}),
Object.defineProperty(W.DOM, "scrollY", {
get: i
}),
Object.defineProperty(W.DOM.visualBounds, "x", {
get: t
}),
Object.defineProperty(W.DOM.visualBounds, "y", {
get: i
}),
Object.defineProperty(W.DOM.layoutBounds, "x", {
value: 0
}),
Object.defineProperty(W.DOM.layoutBounds, "y", {
value: 0
}),
e.desktop && document.documentElement.clientWidth <= window.innerWidth && document.documentElement.clientHeight <= window.innerHeight) {
var r = function() {
return Math.max(window.innerWidth, document.documentElement.clientWidth)
}
, o = function() {
return Math.max(window.innerHeight, document.documentElement.clientHeight)
};
Object.defineProperty(W.DOM.visualBounds, "width", {
get: r
}),
Object.defineProperty(W.DOM.visualBounds, "height", {
get: o
}),
Object.defineProperty(W.DOM.layoutBounds, "width", {
get: r
}),
Object.defineProperty(W.DOM.layoutBounds, "height", {
get: o
})
} else
Object.defineProperty(W.DOM.visualBounds, "width", {
get: function() {
return window.innerWidth
}
}),
Object.defineProperty(W.DOM.visualBounds, "height", {
get: function() {
return window.innerHeight
}
}),
Object.defineProperty(W.DOM.layoutBounds, "width", {
get: function() {
var e = document.documentElement.clientWidth
, t = window.innerWidth;
return e < t ? t : e
}
}),
Object.defineProperty(W.DOM.layoutBounds, "height", {
get: function() {
var e = document.documentElement.clientHeight
, t = window.innerHeight;
return e < t ? t : e
}
});
Object.defineProperty(W.DOM.documentBounds, "x", {
value: 0
}),
Object.defineProperty(W.DOM.documentBounds, "y", {
value: 0
}),
Object.defineProperty(W.DOM.documentBounds, "width", {
get: function() {
var e = document.documentElement;
return Math.max(e.clientWidth, e.offsetWidth, e.scrollWidth)
}
}),
Object.defineProperty(W.DOM.documentBounds, "height", {
get: function() {
var e = document.documentElement;
return Math.max(e.clientHeight, e.offsetHeight, e.scrollHeight)
}
})
}, null, !0),
W.ArraySet = function(e) {
this.position = 0,
this.list = e || []
}
,
W.ArraySet.prototype = {
add: function(e) {
return this.exists(e) || this.list.push(e),
e
},
getIndex: function(e) {
return this.list.indexOf(e)
},
getByKey: function(e, t) {
for (var i = this.list.length; i--; )
if (this.list[i][e] === t)
return this.list[i];
return null
},
exists: function(e) {
return -1 < this.list.indexOf(e)
},
reset: function() {
this.list.length = 0
},
remove: function(e) {
var t = this.list.indexOf(e);
if (-1 < t)
return this.list.splice(t, 1),
e
},
setAll: function(e, t) {
for (var i = this.list.length; i--; )
this.list[i] && (this.list[i][e] = t)
},
callAll: function(e) {
for (var t = Array.prototype.slice.call(arguments, 1), i = this.list.length; i--; )
this.list[i] && this.list[i][e] && this.list[i][e].apply(this.list[i], t)
},
removeAll: function(e) {
void 0 === e && (e = !1);
for (var t = this.list.length; t--; )
if (this.list[t]) {
var i = this.remove(this.list[t]);
e && i.destroy()
}
this.position = 0,
this.list = []
}
},
Object.defineProperty(W.ArraySet.prototype, "total", {
get: function() {
return this.list.length
}
}),
Object.defineProperty(W.ArraySet.prototype, "first", {
get: function() {
return (this.position = 0) < this.list.length ? this.list[0] : null
}
}),
Object.defineProperty(W.ArraySet.prototype, "next", {
get: function() {
return this.position < this.list.length ? (this.position++,
this.list[this.position]) : null
}
}),
W.ArraySet.prototype.constructor = W.ArraySet,
W.ArrayUtils = {
getRandomItem: function(e, t, i) {
if (null === e)
return null;
void 0 === t && (t = 0),
void 0 === i && (i = e.length);
var r = t + Math.floor(Math.random() * i);
return void 0 === e[r] ? null : e[r]
},
removeRandomItem: function(e, t, i) {
if (null == e)
return null;
void 0 === t && (t = 0),
void 0 === i && (i = e.length);
var r = t + Math.floor(Math.random() * i);
if (r < e.length) {
var o = e.splice(r, 1);
return void 0 === o[0] ? null : o[0]
}
return null
},
shuffle: function(e) {
for (var t = e.length - 1; 0 < t; t--) {
var i = Math.floor(Math.random() * (t + 1))
, r = e[t];
e[t] = e[i],
e[i] = r
}
return e
},
transposeMatrix: function(e) {
for (var t = e.length, i = e[0].length, r = new Array(i), o = 0; o < i; o++) {
r[o] = new Array(t);
for (var s = t - 1; -1 < s; s--)
r[o][s] = e[s][o]
}
return r
},
rotateMatrix: function(e, t) {
if ("string" != typeof t && (t = (t % 360 + 360) % 360),
90 === t || -270 === t || "rotateLeft" === t)
e = (e = W.ArrayUtils.transposeMatrix(e)).reverse();
else if (-90 === t || 270 === t || "rotateRight" === t)
e = e.reverse(),
e = W.ArrayUtils.transposeMatrix(e);
else if (180 === Math.abs(t) || "rotate180" === t) {
for (var i = 0; i < e.length; i++)
e[i].reverse();
e = e.reverse()
}
return e
},
findClosest: function(e, t) {
if (!t.length)
return NaN;
if (1 === t.length || e < t[0])
return t[0];
for (var i = 1; t[i] < e; )
i++;
var r = t[i - 1]
, o = i < t.length ? t[i] : Number.POSITIVE_INFINITY;
return o - e <= e - r ? o : r
},
rotateRight: function(e) {
var t = e.pop();
return e.unshift(t),
t
},
rotateLeft: function(e) {
var t = e.shift();
return e.push(t),
t
},
rotate: function(e) {
var t = e.shift();
return e.push(t),
t
},
numberArray: function(e, t) {
for (var i = [], r = e; r <= t; r++)
i.push(r);
return i
},
numberArrayStep: function(e, t, i) {
null == e && (e = 0),
null == t && (t = e,
e = 0),
void 0 === i && (i = 1);
for (var r = [], o = Math.max(W.Math.roundAwayFromZero((t - e) / (i || 1)), 0), s = 0; s < o; s++)
r.push(e),
e += i;
return r
}
},
W.LinkedList = function() {
this.next = null,
this.prev = null,
this.first = null,
this.last = null,
this.total = 0
}
,
W.LinkedList.prototype = {
add: function(e) {
return 0 === this.total && null === this.first && null === this.last ? (this.first = e,
this.last = e,
((this.next = e).prev = this).total++) : ((this.last.next = e).prev = this.last,
this.last = e,
this.total++),
e
},
reset: function() {
this.first = null,
this.last = null,
this.next = null,
this.prev = null,
this.total = 0
},
remove: function(e) {
if (1 === this.total)
return this.reset(),
void (e.next = e.prev = null);
e === this.first ? this.first = this.first.next : e === this.last && (this.last = this.last.prev),
e.prev && (e.prev.next = e.next),
e.next && (e.next.prev = e.prev),
e.next = e.prev = null,
null === this.first && (this.last = null),
this.total--
},
callAll: function(e) {
if (this.first && this.last)
for (var t = this.first; t && t[e] && t[e].call(t),
(t = t.next) !== this.last.next; )
;
}
},
W.LinkedList.prototype.constructor = W.LinkedList,
W.Create = function(e) {
this.game = e,
this.bmd = null,
this.canvas = null,
this.ctx = null,
this.palettes = [{
0: "#000",
1: "#9D9D9D",
2: "#FFF",
3: "#BE2633",
4: "#E06F8B",
5: "#493C2B",
6: "#A46422",
7: "#EB8931",
8: "#F7E26B",
9: "#2F484E",
A: "#44891A",
B: "#A3CE27",
C: "#1B2632",
D: "#005784",
E: "#31A2F2",
F: "#B2DCEF"
}, {
0: "#000",
1: "#191028",
2: "#46af45",
3: "#a1d685",
4: "#453e78",
5: "#7664fe",
6: "#833129",
7: "#9ec2e8",
8: "#dc534b",
9: "#e18d79",
A: "#d6b97b",
B: "#e9d8a1",
C: "#216c4b",
D: "#d365c8",
E: "#afaab9",
F: "#f5f4eb"
}, {
0: "#000",
1: "#2234d1",
2: "#0c7e45",
3: "#44aacc",
4: "#8a3622",
5: "#5c2e78",
6: "#aa5c3d",
7: "#b5b5b5",
8: "#5e606e",
9: "#4c81fb",
A: "#6cd947",
B: "#7be2f9",
C: "#eb8a60",
D: "#e23d69",
E: "#ffd93f",
F: "#fff"
}, {
0: "#000",
1: "#fff",
2: "#8b4131",
3: "#7bbdc5",
4: "#8b41ac",
5: "#6aac41",
6: "#3931a4",
7: "#d5de73",
8: "#945a20",
9: "#5a4100",
A: "#bd736a",
B: "#525252",
C: "#838383",
D: "#acee8b",
E: "#7b73de",
F: "#acacac"
}, {
0: "#000",
1: "#191028",
2: "#46af45",
3: "#a1d685",
4: "#453e78",
5: "#7664fe",
6: "#833129",
7: "#9ec2e8",
8: "#dc534b",
9: "#e18d79",
A: "#d6b97b",
B: "#e9d8a1",
C: "#216c4b",
D: "#d365c8",
E: "#afaab9",
F: "#fff"
}]
}
,
W.Create.PALETTE_ARNE = 0,
W.Create.PALETTE_JMP = 1,
W.Create.PALETTE_CGA = 2,
W.Create.PALETTE_C64 = 3,
W.Create.PALETTE_JAPANESE_MACHINE = 4,
W.Create.prototype = {
texture: function(e, t, i, r, o) {
void 0 === i && (i = 8),
void 0 === r && (r = i),
void 0 === o && (o = 0);
var s = t[0].length * i
, a = t.length * r;
null === this.bmd && (this.bmd = this.game.make.bitmapData(),
this.canvas = this.bmd.canvas,
this.ctx = this.bmd.context),
this.bmd.resize(s, a),
this.bmd.clear();
for (var n = 0; n < t.length; n++)
for (var h = t[n], c = 0; c < h.length; c++) {
var l = h[c];
"." !== l && " " !== l && (this.ctx.fillStyle = this.palettes[o][l],
this.ctx.fillRect(c * i, n * r, i, r))
}
return this.bmd.generateTexture(e)
},
grid: function(e, t, i, r, o, s) {
null === this.bmd && (this.bmd = this.game.make.bitmapData(),
this.canvas = this.bmd.canvas,
this.ctx = this.bmd.context),
this.bmd.resize(t, i),
this.ctx.fillStyle = s;
for (var a = 0; a < i; a += o)
this.ctx.fillRect(0, a, t, 1);
for (var n = 0; n < t; n += r)
this.ctx.fillRect(n, 0, 1, i);
return this.bmd.generateTexture(e)
}
},
W.Create.prototype.constructor = W.Create,
W.FlexGrid = function(e, t, i) {
this.game = e.game,
this.manager = e,
this.width = t,
this.height = i,
this.boundsCustom = new W.Rectangle(0,0,t,i),
this.boundsFluid = new W.Rectangle(0,0,t,i),
this.boundsFull = new W.Rectangle(0,0,t,i),
this.boundsNone = new W.Rectangle(0,0,t,i),
this.positionCustom = new W.Point(0,0),
this.positionFluid = new W.Point(0,0),
this.positionFull = new W.Point(0,0),
this.positionNone = new W.Point(0,0),
this.scaleCustom = new W.Point(1,1),
this.scaleFluid = new W.Point(1,1),
this.scaleFluidInversed = new W.Point(1,1),
this.scaleFull = new W.Point(1,1),
this.scaleNone = new W.Point(1,1),
this.customWidth = 0,
this.customHeight = 0,
this.customOffsetX = 0,
this.customOffsetY = 0,
this.ratioH = t / i,
this.ratioV = i / t,
this.multiplier = 0,
this.layers = []
}
,
W.FlexGrid.prototype = {
setSize: function(e, t) {
this.width = e,
this.height = t,
this.ratioH = e / t,
this.ratioV = t / e,
this.scaleNone = new W.Point(1,1),
this.boundsNone.width = this.width,
this.boundsNone.height = this.height,
this.refresh()
},
createCustomLayer: function(e, t, i, r) {
void 0 === r && (r = !0),
this.customWidth = e,
this.customHeight = t,
this.boundsCustom.width = e,
this.boundsCustom.height = t;
var o = new W.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);
return r && this.game.world.add(o),
this.layers.push(o),
void 0 !== i && null !== typeof i && o.addMultiple(i),
o
},
createFluidLayer: function(e, t) {
void 0 === t && (t = !0);
var i = new W.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);
return t && this.game.world.add(i),
this.layers.push(i),
void 0 !== e && null !== typeof e && i.addMultiple(e),
i
},
createFullLayer: function(e) {
var t = new W.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);
return this.game.world.add(t),
this.layers.push(t),
void 0 !== e && t.addMultiple(e),
t
},
createFixedLayer: function(e) {
var t = new W.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);
return this.game.world.add(t),
this.layers.push(t),
void 0 !== e && t.addMultiple(e),
t
},
reset: function() {
for (var e = this.layers.length; e--; )
this.layers[e].persist || (this.layers[e].position = null,
this.layers[e].scale = null,
this.layers.slice(e, 1))
},
onResize: function(e, t) {
this.ratioH = e / t,
this.ratioV = t / e,
this.refresh(e, t)
},
refresh: function() {
this.multiplier = Math.min(this.manager.height / this.height, this.manager.width / this.width),
this.boundsFluid.width = Math.round(this.width * this.multiplier),
this.boundsFluid.height = Math.round(this.height * this.multiplier),
this.scaleFluid.set(this.boundsFluid.width / this.width, this.boundsFluid.height / this.height),
this.scaleFluidInversed.set(this.width / this.boundsFluid.width, this.height / this.boundsFluid.height),
this.scaleFull.set(this.boundsFull.width / this.width, this.boundsFull.height / this.height),
this.boundsFull.width = Math.round(this.manager.width * this.scaleFluidInversed.x),
this.boundsFull.height = Math.round(this.manager.height * this.scaleFluidInversed.y),
this.boundsFluid.centerOn(this.manager.bounds.centerX, this.manager.bounds.centerY),
this.boundsNone.centerOn(this.manager.bounds.centerX, this.manager.bounds.centerY),
this.positionFluid.set(this.boundsFluid.x, this.boundsFluid.y),
this.positionNone.set(this.boundsNone.x, this.boundsNone.y)
},
fitSprite: function(e) {
this.manager.scaleSprite(e),
e.x = this.manager.bounds.centerX,
e.y = this.manager.bounds.centerY
},
debug: function() {
this.game.debug.text(this.boundsFluid.width + " x " + this.boundsFluid.height, this.boundsFluid.x + 4, this.boundsFluid.y + 16),
this.game.debug.geom(this.boundsFluid, "rgba(255,0,0,0.9", !1)
}
},
W.FlexGrid.prototype.constructor = W.FlexGrid,
W.FlexLayer = function(e, t, i, r) {
W.Group.call(this, e.game, null, "__flexLayer" + e.game.rnd.uuid(), !1),
this.manager = e.manager,
this.grid = e,
this.persist = !1,
this.position = t,
this.bounds = i,
this.scale = r,
this.topLeft = i.topLeft,
this.topMiddle = new W.Point(i.halfWidth,0),
this.topRight = i.topRight,
this.bottomLeft = i.bottomLeft,
this.bottomMiddle = new W.Point(i.halfWidth,i.bottom),
this.bottomRight = i.bottomRight
}
,
W.FlexLayer.prototype = Object.create(W.Group.prototype),
W.FlexLayer.prototype.constructor = W.FlexLayer,
W.FlexLayer.prototype.resize = function() {}
,
W.FlexLayer.prototype.debug = function() {
this.game.debug.text(this.bounds.width + " x " + this.bounds.height, this.bounds.x + 4, this.bounds.y + 16),
this.game.debug.geom(this.bounds, "rgba(0,0,255,0.9", !1),
this.game.debug.geom(this.topLeft, "rgba(255,255,255,0.9"),
this.game.debug.geom(this.topMiddle, "rgba(255,255,255,0.9"),
this.game.debug.geom(this.topRight, "rgba(255,255,255,0.9")
}
,
W.Color = {
packPixel: function(e, t, i, r) {
return W.Device.LITTLE_ENDIAN ? (r << 24 | i << 16 | t << 8 | e) >>> 0 : (e << 24 | t << 16 | i << 8 | r) >>> 0
},
unpackPixel: function(e, t, i, r) {
return null == t && (t = W.Color.createColor()),
null == i && (i = !1),
null == r && (r = !1),
W.Device.LITTLE_ENDIAN ? (t.a = (4278190080 & e) >>> 24,
t.b = (16711680 & e) >>> 16,
t.g = (65280 & e) >>> 8,
t.r = 255 & e) : (t.r = (4278190080 & e) >>> 24,
t.g = (16711680 & e) >>> 16,
t.b = (65280 & e) >>> 8,
t.a = 255 & e),
t.color = e,
t.rgba = "rgba(" + t.r + "," + t.g + "," + t.b + "," + t.a / 255 + ")",
i && W.Color.RGBtoHSL(t.r, t.g, t.b, t),
r && W.Color.RGBtoHSV(t.r, t.g, t.b, t),
t
},
fromRGBA: function(e, t) {
return t || (t = W.Color.createColor()),
t.r = (4278190080 & e) >>> 24,
t.g = (16711680 & e) >>> 16,
t.b = (65280 & e) >>> 8,
t.a = 255 & e,
t.rgba = "rgba(" + t.r + "," + t.g + "," + t.b + "," + t.a + ")",
t
},
toRGBA: function(e, t, i, r) {
return e << 24 | t << 16 | i << 8 | r
},
toABGR: function(e, t, i, r) {
return (r << 24 | i << 16 | t << 8 | e) >>> 0
},
RGBtoHSL: function(e, t, i, r) {
r || (r = W.Color.createColor(e, t, i, 1)),
e /= 255,
t /= 255,
i /= 255;
var o = Math.min(e, t, i)
, s = Math.max(e, t, i);
if (r.h = 0,
r.s = 0,
r.l = (s + o) / 2,
s !== o) {
var a = s - o;
r.s = .5 < r.l ? a / (2 - s - o) : a / (s + o),
s === e ? r.h = (t - i) / a + (t < i ? 6 : 0) : s === t ? r.h = (i - e) / a + 2 : s === i && (r.h = (e - t) / a + 4),
r.h /= 6
}
return r
},
HSLtoRGB: function(e, t, i, r) {
if (r ? (r.r = i,
r.g = i,
r.b = i) : r = W.Color.createColor(i, i, i),
0 !== t) {
var o = i < .5 ? i * (1 + t) : i + t - i * t
, s = 2 * i - o;
r.r = W.Color.hueToColor(s, o, e + 1 / 3),
r.g = W.Color.hueToColor(s, o, e),
r.b = W.Color.hueToColor(s, o, e - 1 / 3)
}
return r.r = Math.floor(255 * r.r | 0),
r.g = Math.floor(255 * r.g | 0),
r.b = Math.floor(255 * r.b | 0),
W.Color.updateColor(r),
r
},
RGBtoHSV: function(e, t, i, r) {
r || (r = W.Color.createColor(e, t, i, 255)),
e /= 255,
t /= 255,
i /= 255;
var o = Math.min(e, t, i)
, s = Math.max(e, t, i)
, a = s - o;
return r.h = 0,
r.s = 0 === s ? 0 : a / s,
(r.v = s) !== o && (s === e ? r.h = (t - i) / a + (t < i ? 6 : 0) : s === t ? r.h = (i - e) / a + 2 : s === i && (r.h = (e - t) / a + 4),
r.h /= 6),
r
},
HSVtoRGB: function(e, t, i, r) {
var o, s, a;
void 0 === r && (r = W.Color.createColor(0, 0, 0, 1, e, t, 0, i));
var n = Math.floor(6 * e)
, h = 6 * e - n
, c = i * (1 - t)
, l = i * (1 - h * t)
, m = i * (1 - (1 - h) * t);
switch (n % 6) {
case 0:
o = i,
s = m,
a = c;
break;
case 1:
o = l,
s = i,
a = c;
break;
case 2:
o = c,
s = i,
a = m;
break;
case 3:
o = c,
s = l,
a = i;
break;
case 4:
o = m,
s = c,
a = i;
break;
case 5:
o = i,
s = c,
a = l
}
return r.r = Math.floor(255 * o),
r.g = Math.floor(255 * s),
r.b = Math.floor(255 * a),
W.Color.updateColor(r),
r
},
hueToColor: function(e, t, i) {
return i < 0 && (i += 1),
1 < i && (i -= 1),
i < 1 / 6 ? e + 6 * (t - e) * i : i < .5 ? t : i < 2 / 3 ? e + (t - e) * (2 / 3 - i) * 6 : e
},
createColor: function(e, t, i, r, o, s, a, n) {
var h = {
r: e || 0,
g: t || 0,
b: i || 0,
a: r || 1,
h: o || 0,
s: s || 0,
l: a || 0,
v: n || 0,
color: 0,
color32: 0,
rgba: ""
};
return W.Color.updateColor(h)
},
updateColor: function(e) {
return e.rgba = "rgba(" + e.r.toString() + "," + e.g.toString() + "," + e.b.toString() + "," + e.a.toString() + ")",
e.color = W.Color.getColor(e.r, e.g, e.b),
e.color32 = W.Color.getColor32(255 * e.a, e.r, e.g, e.b),
e
},
getColor32: function(e, t, i, r) {
return e << 24 | t << 16 | i << 8 | r
},
getColor: function(e, t, i) {
return e << 16 | t << 8 | i
},
RGBtoString: function(e, t, i, r, o) {
return void 0 === r && (r = 255),
void 0 === o && (o = "#"),
"#" === o ? "#" + ((1 << 24) + (e << 16) + (t << 8) + i).toString(16).slice(1) : "0x" + W.Color.componentToHex(r) + W.Color.componentToHex(e) + W.Color.componentToHex(t) + W.Color.componentToHex(i)
},
hexToRGB: function(e) {
var t = W.Color.hexToColor(e);
if (t)
return W.Color.getColor32(t.a, t.r, t.g, t.b)
},
hexToColor: function(e, t) {
e = e.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i, function(e, t, i, r) {
return t + t + i + i + r + r
});
var i = /^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);
if (i) {
var r = parseInt(i[1], 16)
, o = parseInt(i[2], 16)
, s = parseInt(i[3], 16);
t ? (t.r = r,
t.g = o,
t.b = s) : t = W.Color.createColor(r, o, s)
}
return t
},
webToColor: function(e, t) {
t || (t = W.Color.createColor());
var i = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(e);
return i && (t.r = parseInt(i[1], 10),
t.g = parseInt(i[2], 10),
t.b = parseInt(i[3], 10),
t.a = void 0 !== i[4] ? parseFloat(i[4]) : 1,
W.Color.updateColor(t)),
t
},
valueToColor: function(e, t) {
if (t || (t = W.Color.createColor()),
"string" == typeof e)
return 0 === e.indexOf("rgb") ? W.Color.webToColor(e, t) : (t.a = 1,
W.Color.hexToColor(e, t));
if ("number" != typeof e)
return t;
var i = W.Color.getRGB(e);
return t.r = i.r,
t.g = i.g,
t.b = i.b,
t.a = i.a / 255,
t
},
componentToHex: function(e) {
var t = e.toString(16);
return 1 === t.length ? "0" + t : t
},
HSVColorWheel: function(e, t) {
void 0 === e && (e = 1),
void 0 === t && (t = 1);
for (var i = [], r = 0; r <= 359; r++)
i.push(W.Color.HSVtoRGB(r / 359, e, t));
return i
},
HSLColorWheel: function(e, t) {
void 0 === e && (e = .5),
void 0 === t && (t = .5);
for (var i = [], r = 0; r <= 359; r++)
i.push(W.Color.HSLtoRGB(r / 359, e, t));
return i
},
interpolateColor: function(e, t, i, r, o) {
void 0 === o && (o = 255);
var s = W.Color.getRGB(e)
, a = W.Color.getRGB(t)
, n = (a.red - s.red) * r / i + s.red
, h = (a.green - s.green) * r / i + s.green
, c = (a.blue - s.blue) * r / i + s.blue;
return W.Color.getColor32(o, n, h, c)
},
interpolateColorWithRGB: function(e, t, i, r, o, s) {
var a = W.Color.getRGB(e)
, n = (t - a.red) * s / o + a.red
, h = (i - a.green) * s / o + a.green
, c = (r - a.blue) * s / o + a.blue;
return W.Color.getColor(n, h, c)
},
interpolateRGB: function(e, t, i, r, o, s, a, n) {
var h = (r - e) * n / a + e
, c = (o - t) * n / a + t
, l = (s - i) * n / a + i;
return W.Color.getColor(h, c, l)
},
getRandomColor: function(e, t, i) {
if (void 0 === e && (e = 0),
void 0 === t && (t = 255),
void 0 === i && (i = 255),
255 < t || t < e)
return W.Color.getColor(255, 255, 255);
var r = e + Math.round(Math.random() * (t - e))
, o = e + Math.round(Math.random() * (t - e))
, s = e + Math.round(Math.random() * (t - e));
return W.Color.getColor32(i, r, o, s)
},
getRGB: function(e) {
return 16777215 < e ? {
alpha: e >>> 24,
red: e >> 16 & 255,
green: e >> 8 & 255,
blue: 255 & e,
a: e >>> 24,
r: e >> 16 & 255,
g: e >> 8 & 255,
b: 255 & e
} : {
alpha: 255,
red: e >> 16 & 255,
green: e >> 8 & 255,
blue: 255 & e,
a: 255,
r: e >> 16 & 255,
g: e >> 8 & 255,
b: 255 & e
}
},
getWebRGB: function(e) {
if ("object" == typeof e)
return "rgba(" + e.r.toString() + "," + e.g.toString() + "," + e.b.toString() + "," + (e.a / 255).toString() + ")";
var t = W.Color.getRGB(e);
return "rgba(" + t.r.toString() + "," + t.g.toString() + "," + t.b.toString() + "," + (t.a / 255).toString() + ")"
},
getAlpha: function(e) {
return e >>> 24
},
getAlphaFloat: function(e) {
return (e >>> 24) / 255
},
getRed: function(e) {
return e >> 16 & 255
},
getGreen: function(e) {
return e >> 8 & 255
},
getBlue: function(e) {
return 255 & e
},
blendNormal: function(e) {
return e
},
blendLighten: function(e, t) {
return e < t ? t : e
},
blendDarken: function(e, t) {
return e < t ? e : t
},
blendMultiply: function(e, t) {
return e * t / 255
},
blendAverage: function(e, t) {
return (e + t) / 2
},
blendAdd: function(e, t) {
return Math.min(255, e + t)
},
blendSubtract: function(e, t) {
return Math.max(0, e + t - 255)
},
blendDifference: function(e, t) {
return Math.abs(e - t)
},
blendNegation: function(e, t) {
return 255 - Math.abs(255 - e - t)
},
blendScreen: function(e, t) {
return 255 - ((255 - e) * (255 - t) >> 8)
},
blendExclusion: function(e, t) {
return e + t - 2 * e * t / 255
},
blendOverlay: function(e, t) {
return t < 128 ? 2 * e * t / 255 : 255 - 2 * (255 - e) * (255 - t) / 255
},
blendSoftLight: function(e, t) {
return t < 128 ? 2 * (64 + (e >> 1)) * (t / 255) : 255 - 2 * (255 - (64 + (e >> 1))) * (255 - t) / 255
},
blendHardLight: function(e, t) {
return W.Color.blendOverlay(t, e)
},
blendColorDodge: function(e, t) {
return 255 === t ? t : Math.min(255, (e << 8) / (255 - t))
},
blendColorBurn: function(e, t) {
return 0 === t ? t : Math.max(0, 255 - (255 - e << 8) / t)
},
blendLinearDodge: function(e, t) {
return W.Color.blendAdd(e, t)
},
blendLinearBurn: function(e, t) {
return W.Color.blendSubtract(e, t)
},
blendLinearLight: function(e, t) {
return t < 128 ? W.Color.blendLinearBurn(e, 2 * t) : W.Color.blendLinearDodge(e, 2 * (t - 128))
},
blendVividLight: function(e, t) {
return t < 128 ? W.Color.blendColorBurn(e, 2 * t) : W.Color.blendColorDodge(e, 2 * (t - 128))
},
blendPinLight: function(e, t) {
return t < 128 ? W.Color.blendDarken(e, 2 * t) : W.Color.blendLighten(e, 2 * (t - 128))
},
blendHardMix: function(e, t) {
return W.Color.blendVividLight(e, t) < 128 ? 0 : 255
},
blendReflect: function(e, t) {
return 255 === t ? t : Math.min(255, e * e / (255 - t))
},
blendGlow: function(e, t) {
return W.Color.blendReflect(t, e)
},
blendPhoenix: function(e, t) {
return Math.min(e, t) - Math.max(e, t) + 255
}
},
W.Physics = function(e, t) {
t = t || {},
this.game = e,
this.config = t,
this.arcade = null,
this.p2 = null,
this.ninja = null,
this.box2d = null,
this.chipmunk = null,
this.matter = null,
this.parseConfig()
}
,
W.Physics.ARCADE = 0,
W.Physics.P2JS = 1,
W.Physics.NINJA = 2,
W.Physics.BOX2D = 3,
W.Physics.CHIPMUNK = 4,
W.Physics.MATTERJS = 5,
W.Physics.prototype = {
parseConfig: function() {
this.config.hasOwnProperty("arcade") && !0 !== this.config.arcade || !W.Physics.hasOwnProperty("Arcade") || (this.arcade = new W.Physics.Arcade(this.game)),
this.config.hasOwnProperty("ninja") && !0 === this.config.ninja && W.Physics.hasOwnProperty("Ninja") && (this.ninja = new W.Physics.Ninja(this.game)),
this.config.hasOwnProperty("p2") && !0 === this.config.p2 && W.Physics.hasOwnProperty("P2") && (this.p2 = new W.Physics.P2(this.game,this.config)),
this.config.hasOwnProperty("box2d") && !0 === this.config.box2d && W.Physics.hasOwnProperty("BOX2D") && (this.box2d = new W.Physics.BOX2D(this.game,this.config)),
this.config.hasOwnProperty("matter") && !0 === this.config.matter && W.Physics.hasOwnProperty("Matter") && (this.matter = new W.Physics.Matter(this.game,this.config))
},
startSystem: function(e) {
e === W.Physics.ARCADE ? this.arcade = new W.Physics.Arcade(this.game) : e === W.Physics.P2JS ? null === this.p2 ? this.p2 = new W.Physics.P2(this.game,this.config) : this.p2.reset() : e === W.Physics.NINJA ? this.ninja = new W.Physics.Ninja(this.game) : e === W.Physics.BOX2D ? null === this.box2d ? this.box2d = new W.Physics.Box2D(this.game,this.config) : this.box2d.reset() : e === W.Physics.MATTERJS && (null === this.matter ? this.matter = new W.Physics.Matter(this.game,this.config) : this.matter.reset())
},
enable: function(e, t, i) {
void 0 === t && (t = W.Physics.ARCADE),
void 0 === i && (i = !1),
t === W.Physics.ARCADE ? this.arcade.enable(e) : t === W.Physics.P2JS && this.p2 ? this.p2.enable(e, i) : t === W.Physics.NINJA && this.ninja ? this.ninja.enableAABB(e) : t === W.Physics.BOX2D && this.box2d ? this.box2d.enable(e) : t === W.Physics.MATTERJS && this.matter && this.matter.enable(e)
},
preUpdate: function() {
this.p2 && this.p2.preUpdate(),
this.box2d && this.box2d.preUpdate(),
this.matter && this.matter.preUpdate()
},
update: function() {
this.p2 && this.p2.update(),
this.box2d && this.box2d.update(),
this.matter && this.matter.update()
},
setBoundsToWorld: function() {
this.arcade && this.arcade.setBoundsToWorld(),
this.ninja && this.ninja.setBoundsToWorld(),
this.p2 && this.p2.setBoundsToWorld(),
this.box2d && this.box2d.setBoundsToWorld(),
this.matter && this.matter.setBoundsToWorld()
},
clear: function() {
this.p2 && this.p2.clear(),
this.box2d && this.box2d.clear(),
this.matter && this.matter.clear()
},
reset: function() {
this.p2 && this.p2.reset(),
this.box2d && this.box2d.reset(),
this.matter && this.matter.reset()
},
destroy: function() {
this.p2 && this.p2.destroy(),
this.box2d && this.box2d.destroy(),
this.matter && this.matter.destroy(),
this.arcade = null,
this.ninja = null,
this.p2 = null,
this.box2d = null,
this.matter = null
}
},
W.Physics.prototype.constructor = W.Physics,
W.Physics.Arcade = function(e) {
this.game = e,
this.gravity = new W.Point,
this.bounds = new W.Rectangle(0,0,e.world.width,e.world.height),
this.checkCollision = {
up: !0,
down: !0,
left: !0,
right: !0
},
this.maxObjects = 10,
this.maxLevels = 4,
this.OVERLAP_BIAS = 4,
this.forceX = !1,
this.sortDirection = W.Physics.Arcade.LEFT_RIGHT,
this.skipQuadTree = !0,
this.isPaused = !1,
this.quadTree = new W.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),
this._total = 0,
this.setBoundsToWorld()
}
,
W.Physics.Arcade.prototype.constructor = W.Physics.Arcade,
W.Physics.Arcade.SORT_NONE = 0,
W.Physics.Arcade.LEFT_RIGHT = 1,
W.Physics.Arcade.RIGHT_LEFT = 2,
W.Physics.Arcade.TOP_BOTTOM = 3,
W.Physics.Arcade.BOTTOM_TOP = 4,
W.Physics.Arcade.prototype = {
setBounds: function(e, t, i, r) {
this.bounds.setTo(e, t, i, r)
},
setBoundsToWorld: function() {
this.bounds.copyFrom(this.game.world.bounds)
},
enable: function(e, t) {
void 0 === t && (t = !0);
var i = 1;
if (Array.isArray(e))
for (i = e.length; i--; )
e[i]instanceof W.Group ? this.enable(e[i].children, t) : (this.enableBody(e[i]),
t && e[i].hasOwnProperty("children") && 0 < e[i].children.length && this.enable(e[i], !0));
else
e instanceof W.Group ? this.enable(e.children, t) : (this.enableBody(e),
t && e.hasOwnProperty("children") && 0 < e.children.length && this.enable(e.children, !0))
},
enableBody: function(e) {
e.hasOwnProperty("body") && null === e.body && (e.body = new W.Physics.Arcade.Body(e),
e.parent && e.parent instanceof W.Group && e.parent.addToHash(e))
},
updateMotion: function(e) {
var t = this.computeVelocity(0, e, e.angularVelocity, e.angularAcceleration, e.angularDrag, e.maxAngular) - e.angularVelocity;
e.angularVelocity += t,
e.rotation += e.angularVelocity * this.game.time.physicsElapsed,
e.velocity.x = this.computeVelocity(1, e, e.velocity.x, e.acceleration.x, e.drag.x, e.maxVelocity.x),
e.velocity.y = this.computeVelocity(2, e, e.velocity.y, e.acceleration.y, e.drag.y, e.maxVelocity.y)
},
computeVelocity: function(e, t, i, r, o, s) {
return void 0 === s && (s = 1e4),
1 === e && t.allowGravity ? i += (this.gravity.x + t.gravity.x) * this.game.time.physicsElapsed : 2 === e && t.allowGravity && (i += (this.gravity.y + t.gravity.y) * this.game.time.physicsElapsed),
r ? i += r * this.game.time.physicsElapsed : o && (0 < i - (o *= this.game.time.physicsElapsed) ? i -= o : i + o < 0 ? i += o : i = 0),
s < i ? i = s : i < -s && (i = -s),
i
},
overlap: function(e, t, i, r, o) {
if (i = i || null,
r = r || null,
o = o || i,
this._total = 0,
!Array.isArray(e) && Array.isArray(t))
for (var s = 0; s < t.length; s++)
this.collideHandler(e, t[s], i, r, o, !0);
else if (Array.isArray(e) && !Array.isArray(t))
for (s = 0; s < e.length; s++)
this.collideHandler(e[s], t, i, r, o, !0);
else if (Array.isArray(e) && Array.isArray(t))
for (s = 0; s < e.length; s++)
for (var a = 0; a < t.length; a++)
this.collideHandler(e[s], t[a], i, r, o, !0);
else
this.collideHandler(e, t, i, r, o, !0);
return 0 < this._total
},
collide: function(e, t, i, r, o) {
if (i = i || null,
r = r || null,
o = o || i,
this._total = 0,
!Array.isArray(e) && Array.isArray(t))
for (var s = 0; s < t.length; s++)
this.collideHandler(e, t[s], i, r, o, !1);
else if (Array.isArray(e) && !Array.isArray(t))
for (s = 0; s < e.length; s++)
this.collideHandler(e[s], t, i, r, o, !1);
else if (Array.isArray(e) && Array.isArray(t))
for (s = 0; s < e.length; s++)
for (var a = 0; a < t.length; a++)
this.collideHandler(e[s], t[a], i, r, o, !1);
else
this.collideHandler(e, t, i, r, o, !1);
return 0 < this._total
},
sortLeftRight: function(e, t) {
return e.body && t.body ? e.body.x - t.body.x : 0
},
sortRightLeft: function(e, t) {
return e.body && t.body ? t.body.x - e.body.x : 0
},
sortTopBottom: function(e, t) {
return e.body && t.body ? e.body.y - t.body.y : 0
},
sortBottomTop: function(e, t) {
return e.body && t.body ? t.body.y - e.body.y : 0
},
sort: function(e, t) {
null !== e.physicsSortDirection ? t = e.physicsSortDirection : void 0 === t && (t = this.sortDirection),
t === W.Physics.Arcade.LEFT_RIGHT ? e.hash.sort(this.sortLeftRight) : t === W.Physics.Arcade.RIGHT_LEFT ? e.hash.sort(this.sortRightLeft) : t === W.Physics.Arcade.TOP_BOTTOM ? e.hash.sort(this.sortTopBottom) : t === W.Physics.Arcade.BOTTOM_TOP && e.hash.sort(this.sortBottomTop)
},
collideHandler: function(e, t, i, r, o, s) {
if (void 0 === t && e.physicsType === W.GROUP)
return this.sort(e),
void this.collideGroupVsSelf(e, i, r, o, s);
e && t && e.exists && t.exists && (this.sortDirection !== W.Physics.Arcade.SORT_NONE && (e.physicsType === W.GROUP && this.sort(e),
t.physicsType === W.GROUP && this.sort(t)),
e.physicsType === W.SPRITE ? t.physicsType === W.SPRITE ? this.collideSpriteVsSprite(e, t, i, r, o, s) : t.physicsType === W.GROUP ? this.collideSpriteVsGroup(e, t, i, r, o, s) : t.physicsType === W.TILEMAPLAYER && this.collideSpriteVsTilemapLayer(e, t, i, r, o, s) : e.physicsType === W.GROUP ? t.physicsType === W.SPRITE ? this.collideSpriteVsGroup(t, e, i, r, o, s) : t.physicsType === W.GROUP ? this.collideGroupVsGroup(e, t, i, r, o, s) : t.physicsType === W.TILEMAPLAYER && this.collideGroupVsTilemapLayer(e, t, i, r, o, s) : e.physicsType === W.TILEMAPLAYER && (t.physicsType === W.SPRITE ? this.collideSpriteVsTilemapLayer(t, e, i, r, o, s) : t.physicsType === W.GROUP && this.collideGroupVsTilemapLayer(t, e, i, r, o, s)))
},
collideSpriteVsSprite: function(e, t, i, r, o, s) {
return !(!e.body || !t.body) && (this.separate(e.body, t.body, r, o, s) && (i && i.call(o, e, t),
this._total++),
!0)
},
collideSpriteVsGroup: function(e, t, i, r, o, s) {
if (0 !== t.length && e.body)
if (this.skipQuadTree || e.body.skipQuadTree)
for (var a = {}, n = 0; n < t.hash.length; n++) {
var h = t.hash[n];
if (h && h.exists && h.body) {
if (a = h.body.getBounds(a),
this.sortDirection === W.Physics.Arcade.LEFT_RIGHT) {
if (e.body.right < a.x)
break;
if (a.right < e.body.x)
continue
} else if (this.sortDirection === W.Physics.Arcade.RIGHT_LEFT) {
if (e.body.x > a.right)
break;
if (a.x > e.body.right)
continue
} else if (this.sortDirection === W.Physics.Arcade.TOP_BOTTOM) {
if (e.body.bottom < a.y)
break;
if (a.bottom < e.body.y)
continue
} else if (this.sortDirection === W.Physics.Arcade.BOTTOM_TOP) {
if (e.body.y > a.bottom)
break;
if (a.y > e.body.bottom)
continue
}
this.collideSpriteVsSprite(e, h, i, r, o, s)
}
}
else {
this.quadTree.clear(),
this.quadTree.reset(this.game.world.bounds.x, this.game.world.bounds.y, this.game.world.bounds.width, this.game.world.bounds.height, this.maxObjects, this.maxLevels),
this.quadTree.populate(t);
var c = this.quadTree.retrieve(e);
for (n = 0; n < c.length; n++)
this.separate(e.body, c[n], r, o, s) && (i && i.call(o, e, c[n].sprite),
this._total++)
}
},
collideGroupVsSelf: function(e, t, i, r, o) {
if (0 !== e.length)
for (var s = 0; s < e.hash.length; s++) {
var a = {}
, n = e.hash[s];
if (n && n.exists && n.body) {
a = n.body.getBounds(a);
for (var h = s + 1; h < e.hash.length; h++) {
var c = {}
, l = e.hash[h];
if (l && l.exists && l.body) {
if (c = l.body.getBounds(c),
this.sortDirection === W.Physics.Arcade.LEFT_RIGHT) {
if (a.right < c.x)
break;
if (c.right < a.x)
continue
} else if (this.sortDirection === W.Physics.Arcade.RIGHT_LEFT) {
if (a.x > c.right)
continue;
if (c.x > a.right)
break
} else if (this.sortDirection === W.Physics.Arcade.TOP_BOTTOM) {
if (a.bottom < c.y)
continue;
if (c.bottom < a.y)
break
} else if (this.sortDirection === W.Physics.Arcade.BOTTOM_TOP) {
if (a.y > c.bottom)
continue;
if (c.y > n.body.bottom)
break
}
this.collideSpriteVsSprite(n, l, t, i, r, o)
}
}
}
}
},
collideGroupVsGroup: function(e, t, i, r, o, s) {
if (0 !== e.length && 0 !== t.length)
for (var a = 0; a < e.children.length; a++)
e.children[a].exists && (e.children[a].physicsType === W.GROUP ? this.collideGroupVsGroup(e.children[a], t, i, r, o, s) : this.collideSpriteVsGroup(e.children[a], t, i, r, o, s))
},
separate: function(e, t, i, r, o) {
if (!e.enable || !t.enable || e.checkCollision.none || t.checkCollision.none || !this.intersects(e, t))
return !1;
if (i && !1 === i.call(r, e.sprite, t.sprite))
return !1;
if (e.isCircle && t.isCircle)
return this.separateCircle(e, t, o);
if (e.isCircle !== t.isCircle) {
var s = e.isCircle ? t : e
, a = e.isCircle ? e : t
, n = s.x
, h = s.y
, c = s.right
, l = s.bottom
, m = a.x + a.radius
, u = a.y + a.radius;
if ((u < h || l < u) && (m < n || c < m))
return this.separateCircle(e, t, o)
}
var d = !1
, p = !1;
this.forceX || Math.abs(this.gravity.y + e.gravity.y) < Math.abs(this.gravity.x + e.gravity.x) ? (d = this.separateX(e, t, o),
this.intersects(e, t) && (p = this.separateY(e, t, o))) : (p = this.separateY(e, t, o),
this.intersects(e, t) && (d = this.separateX(e, t, o)));
var f = d || p;
return f && (o ? (e.onOverlap && e.onOverlap.dispatch(e.sprite, t.sprite),
t.onOverlap && t.onOverlap.dispatch(t.sprite, e.sprite)) : (e.onCollide && e.onCollide.dispatch(e.sprite, t.sprite),
t.onCollide && t.onCollide.dispatch(t.sprite, e.sprite))),
f
},
intersects: function(e, t) {
return e !== t && (e.isCircle ? t.isCircle ? W.Math.distance(e.center.x, e.center.y, t.center.x, t.center.y) <= e.radius + t.radius : this.circleBodyIntersects(e, t) : t.isCircle ? this.circleBodyIntersects(t, e) : !(e.right <= t.position.x) && (!(e.bottom <= t.position.y) && (!(e.position.x >= t.right) && !(e.position.y >= t.bottom))))
},
circleBodyIntersects: function(e, t) {
var i = W.Math.clamp(e.center.x, t.left, t.right)
, r = W.Math.clamp(e.center.y, t.top, t.bottom);
return (e.center.x - i) * (e.center.x - i) + (e.center.y - r) * (e.center.y - r) <= e.radius * e.radius
},
separateCircle: function(e, t, i) {
this.getOverlapX(e, t),
this.getOverlapY(e, t);
var r = t.center.x - e.center.x
, o = t.center.y - e.center.y
, s = Math.atan2(o, r)
, a = 0;
if (e.isCircle !== t.isCircle) {
var n = {
x: t.isCircle ? e.position.x : t.position.x,
y: t.isCircle ? e.position.y : t.position.y,
right: t.isCircle ? e.right : t.right,
bottom: t.isCircle ? e.bottom : t.bottom
}
, h = {
x: e.isCircle ? e.position.x + e.radius : t.position.x + t.radius,
y: e.isCircle ? e.position.y + e.radius : t.position.y + t.radius,
radius: e.isCircle ? e.radius : t.radius
};
h.y < n.y ? h.x < n.x ? a = W.Math.distance(h.x, h.y, n.x, n.y) - h.radius : n.right < h.x && (a = W.Math.distance(h.x, h.y, n.right, n.y) - h.radius) : n.bottom < h.y && (h.x < n.x ? a = W.Math.distance(h.x, h.y, n.x, n.bottom) - h.radius : n.right < h.x && (a = W.Math.distance(h.x, h.y, n.right, n.bottom) - h.radius)),
a *= -1
} else
a = e.radius + t.radius - W.Math.distance(e.center.x, e.center.y, t.center.x, t.center.y);
if (i || 0 === a || e.immovable && t.immovable || e.customSeparateX || t.customSeparateX)
return 0 !== a && (e.onOverlap && e.onOverlap.dispatch(e.sprite, t.sprite),
t.onOverlap && t.onOverlap.dispatch(t.sprite, e.sprite)),
0 !== a;
var c = e.velocity.x * Math.cos(s) + e.velocity.y * Math.sin(s)
, l = e.velocity.x * Math.sin(s) - e.velocity.y * Math.cos(s)
, m = t.velocity.x * Math.cos(s) + t.velocity.y * Math.sin(s)
, u = t.velocity.x * Math.sin(s) - t.velocity.y * Math.cos(s)
, d = ((e.mass - t.mass) * c + 2 * t.mass * m) / (e.mass + t.mass)
, p = (2 * e.mass * c + (t.mass - e.mass) * m) / (e.mass + t.mass);
return e.immovable || (e.velocity.x = (d * Math.cos(s) - l * Math.sin(s)) * e.bounce.x,
e.velocity.y = (l * Math.cos(s) + d * Math.sin(s)) * e.bounce.y),
t.immovable || (t.velocity.x = (p * Math.cos(s) - u * Math.sin(s)) * t.bounce.x,
t.velocity.y = (u * Math.cos(s) + p * Math.sin(s)) * t.bounce.y),
Math.abs(s) < Math.PI / 2 ? 0 < e.velocity.x && !e.immovable && t.velocity.x > e.velocity.x ? e.velocity.x *= -1 : t.velocity.x < 0 && !t.immovable && e.velocity.x < t.velocity.x ? t.velocity.x *= -1 : 0 < e.velocity.y && !e.immovable && t.velocity.y > e.velocity.y ? e.velocity.y *= -1 : t.velocity.y < 0 && !t.immovable && e.velocity.y < t.velocity.y && (t.velocity.y *= -1) : Math.abs(s) > Math.PI / 2 && (e.velocity.x < 0 && !e.immovable && t.velocity.x < e.velocity.x ? e.velocity.x *= -1 : 0 < t.velocity.x && !t.immovable && e.velocity.x > t.velocity.x ? t.velocity.x *= -1 : e.velocity.y < 0 && !e.immovable && t.velocity.y < e.velocity.y ? e.velocity.y *= -1 : 0 < t.velocity.y && !t.immovable && e.velocity.x > t.velocity.y && (t.velocity.y *= -1)),
e.immovable || (e.x += e.velocity.x * this.game.time.physicsElapsed - a * Math.cos(s),
e.y += e.velocity.y * this.game.time.physicsElapsed - a * Math.sin(s)),
t.immovable || (t.x += t.velocity.x * this.game.time.physicsElapsed + a * Math.cos(s),
t.y += t.velocity.y * this.game.time.physicsElapsed + a * Math.sin(s)),
e.onCollide && e.onCollide.dispatch(e.sprite, t.sprite),
t.onCollide && t.onCollide.dispatch(t.sprite, e.sprite),
!0
},
getOverlapX: function(e, t, i) {
var r = 0
, o = e.deltaAbsX() + t.deltaAbsX() + this.OVERLAP_BIAS;
return 0 === e.deltaX() && 0 === t.deltaX() ? (e.embedded = !0,
t.embedded = !0) : e.deltaX() > t.deltaX() ? o < (r = e.right - t.x) && !i || !1 === e.checkCollision.right || !1 === t.checkCollision.left ? r = 0 : (e.touching.none = !1,
e.touching.right = !0,
t.touching.none = !1,
t.touching.left = !0) : e.deltaX() < t.deltaX() && (o < -(r = e.x - t.width - t.x) && !i || !1 === e.checkCollision.left || !1 === t.checkCollision.right ? r = 0 : (e.touching.none = !1,
e.touching.left = !0,
t.touching.none = !1,
t.touching.right = !0)),
e.overlapX = r,
t.overlapX = r
},
getOverlapY: function(e, t, i) {
var r = 0
, o = e.deltaAbsY() + t.deltaAbsY() + this.OVERLAP_BIAS;
return 0 === e.deltaY() && 0 === t.deltaY() ? (e.embedded = !0,
t.embedded = !0) : e.deltaY() > t.deltaY() ? o < (r = e.bottom - t.y) && !i || !1 === e.checkCollision.down || !1 === t.checkCollision.up ? r = 0 : (e.touching.none = !1,
e.touching.down = !0,
t.touching.none = !1,
t.touching.up = !0) : e.deltaY() < t.deltaY() && (o < -(r = e.y - t.bottom) && !i || !1 === e.checkCollision.up || !1 === t.checkCollision.down ? r = 0 : (e.touching.none = !1,
e.touching.up = !0,
t.touching.none = !1,
t.touching.down = !0)),
e.overlapY = r,
t.overlapY = r
},
separateX: function(e, t, i) {
var r = this.getOverlapX(e, t, i);
if (i || 0 === r || e.immovable && t.immovable || e.customSeparateX || t.customSeparateX)
return 0 !== r || e.embedded && t.embedded;
var o = e.velocity.x
, s = t.velocity.x;
if (e.immovable || t.immovable)
e.immovable ? (t.x += r,
t.velocity.x = o - s * t.bounce.x,
e.moves && (t.y += (e.y - e.prev.y) * e.friction.y)) : (e.x -= r,
e.velocity.x = s - o * e.bounce.x,
t.moves && (e.y += (t.y - t.prev.y) * t.friction.y));
else {
r *= .5,
e.x -= r,
t.x += r;
var a = Math.sqrt(s * s * t.mass / e.mass) * (0 < s ? 1 : -1)
, n = Math.sqrt(o * o * e.mass / t.mass) * (0 < o ? 1 : -1)
, h = .5 * (a + n);
a -= h,
n -= h,
e.velocity.x = h + a * e.bounce.x,
t.velocity.x = h + n * t.bounce.x
}
return !0
},
separateY: function(e, t, i) {
var r = this.getOverlapY(e, t, i);
if (i || 0 === r || e.immovable && t.immovable || e.customSeparateY || t.customSeparateY)
return 0 !== r || e.embedded && t.embedded;
var o = e.velocity.y
, s = t.velocity.y;
if (e.immovable || t.immovable)
e.immovable ? (t.y += r,
t.velocity.y = o - s * t.bounce.y,
e.moves && (t.x += (e.x - e.prev.x) * e.friction.x)) : (e.y -= r,
e.velocity.y = s - o * e.bounce.y,
t.moves && (e.x += (t.x - t.prev.x) * t.friction.x));
else {
r *= .5,
e.y -= r,
t.y += r;
var a = Math.sqrt(s * s * t.mass / e.mass) * (0 < s ? 1 : -1)
, n = Math.sqrt(o * o * e.mass / t.mass) * (0 < o ? 1 : -1)
, h = .5 * (a + n);
a -= h,
n -= h,
e.velocity.y = h + a * e.bounce.y,
t.velocity.y = h + n * t.bounce.y
}
return !0
},
getObjectsUnderPointer: function(e, t, i, r) {
if (0 !== t.length && e.exists)
return this.getObjectsAtLocation(e.x, e.y, t, i, r, e)
},
getObjectsAtLocation: function(e, t, i, r, o, s) {
this.quadTree.clear(),
this.quadTree.reset(this.game.world.bounds.x, this.game.world.bounds.y, this.game.world.bounds.width, this.game.world.bounds.height, this.maxObjects, this.maxLevels),
this.quadTree.populate(i);
for (var a = new W.Rectangle(e,t,1,1), n = [], h = this.quadTree.retrieve(a), c = 0; c < h.length; c++)
h[c].hitTest(e, t) && (r && r.call(o, s, h[c].sprite),
n.push(h[c].sprite));
return n
},
moveToObject: function(e, t, i, r) {
void 0 === i && (i = 60),
void 0 === r && (r = 0);
var o = Math.atan2(t.y - e.y, t.x - e.x);
return 0 < r && (i = this.distanceBetween(e, t) / (r / 1e3)),
e.body.velocity.x = Math.cos(o) * i,
e.body.velocity.y = Math.sin(o) * i,
o
},
moveToPointer: function(e, t, i, r) {
void 0 === t && (t = 60),
i = i || this.game.input.activePointer,
void 0 === r && (r = 0);
var o = this.angleToPointer(e, i);
return 0 < r && (t = this.distanceToPointer(e, i) / (r / 1e3)),
e.body.velocity.x = Math.cos(o) * t,
e.body.velocity.y = Math.sin(o) * t,
o
},
moveToXY: function(e, t, i, r, o) {
void 0 === r && (r = 60),
void 0 === o && (o = 0);
var s = Math.atan2(i - e.y, t - e.x);
return 0 < o && (r = this.distanceToXY(e, t, i) / (o / 1e3)),
e.body.velocity.x = Math.cos(s) * r,
e.body.velocity.y = Math.sin(s) * r,
s
},
velocityFromAngle: function(e, t, i) {
return void 0 === t && (t = 60),
(i = i || new W.Point).setTo(Math.cos(this.game.math.degToRad(e)) * t, Math.sin(this.game.math.degToRad(e)) * t)
},
velocityFromRotation: function(e, t, i) {
return void 0 === t && (t = 60),
(i = i || new W.Point).setTo(Math.cos(e) * t, Math.sin(e) * t)
},
accelerationFromRotation: function(e, t, i) {
return void 0 === t && (t = 60),
(i = i || new W.Point).setTo(Math.cos(e) * t, Math.sin(e) * t)
},
accelerateToObject: function(e, t, i, r, o) {
void 0 === i && (i = 60),
void 0 === r && (r = 1e3),
void 0 === o && (o = 1e3);
var s = this.angleBetween(e, t);
return e.body.acceleration.setTo(Math.cos(s) * i, Math.sin(s) * i),
e.body.maxVelocity.setTo(r, o),
s
},
accelerateToPointer: function(e, t, i, r, o) {
void 0 === i && (i = 60),
void 0 === t && (t = this.game.input.activePointer),
void 0 === r && (r = 1e3),
void 0 === o && (o = 1e3);
var s = this.angleToPointer(e, t);
return e.body.acceleration.setTo(Math.cos(s) * i, Math.sin(s) * i),
e.body.maxVelocity.setTo(r, o),
s
},
accelerateToXY: function(e, t, i, r, o, s) {
void 0 === r && (r = 60),
void 0 === o && (o = 1e3),
void 0 === s && (s = 1e3);
var a = this.angleToXY(e, t, i);
return e.body.acceleration.setTo(Math.cos(a) * r, Math.sin(a) * r),
e.body.maxVelocity.setTo(o, s),
a
},
distanceBetween: function(e, t, i) {
void 0 === i && (i = !1);
var r = i ? e.world.x - t.world.x : e.x - t.x
, o = i ? e.world.y - t.world.y : e.y - t.y;
return Math.sqrt(r * r + o * o)
},
distanceToXY: function(e, t, i, r) {
void 0 === r && (r = !1);
var o = r ? e.world.x - t : e.x - t
, s = r ? e.world.y - i : e.y - i;
return Math.sqrt(o * o + s * s)
},
distanceToPointer: function(e, t, i) {
void 0 === t && (t = this.game.input.activePointer),
void 0 === i && (i = !1);
var r = i ? e.world.x - t.worldX : e.x - t.worldX
, o = i ? e.world.y - t.worldY : e.y - t.worldY;
return Math.sqrt(r * r + o * o)
},
angleBetween: function(e, t, i) {
return void 0 === i && (i = !1),
i ? Math.atan2(t.world.y - e.world.y, t.world.x - e.world.x) : Math.atan2(t.y - e.y, t.x - e.x)
},
angleBetweenCenters: function(e, t) {
var i = t.centerX - e.centerX
, r = t.centerY - e.centerY;
return Math.atan2(r, i)
},
angleToXY: function(e, t, i, r) {
return void 0 === r && (r = !1),
r ? Math.atan2(i - e.world.y, t - e.world.x) : Math.atan2(i - e.y, t - e.x)
},
angleToPointer: function(e, t, i) {
return void 0 === t && (t = this.game.input.activePointer),
void 0 === i && (i = !1),
i ? Math.atan2(t.worldY - e.world.y, t.worldX - e.world.x) : Math.atan2(t.worldY - e.y, t.worldX - e.x)
},
worldAngleToPointer: function(e, t) {
return this.angleToPointer(e, t, !0)
}
},
W.Physics.Arcade.Body = function(e) {
this.sprite = e,
this.game = e.game,
this.type = W.Physics.ARCADE,
this.enable = !0,
this.isCircle = !1,
this.radius = 0,
this.offset = new W.Point,
this.position = new W.Point(e.x,e.y),
this.prev = new W.Point(this.position.x,this.position.y),
this.allowRotation = !0,
this.rotation = e.angle,
this.preRotation = e.angle,
this.width = e.width,
this.height = e.height,
this.sourceWidth = e.width,
this.sourceHeight = e.height,
e.texture && (this.sourceWidth = e.texture.frame.width,
this.sourceHeight = e.texture.frame.height),
this.halfWidth = Math.abs(e.width / 2),
this.halfHeight = Math.abs(e.height / 2),
this.center = new W.Point(e.x + this.halfWidth,e.y + this.halfHeight),
this.velocity = new W.Point,
this.newVelocity = new W.Point,
this.deltaMax = new W.Point,
this.acceleration = new W.Point,
this.drag = new W.Point,
this.allowGravity = !0,
this.gravity = new W.Point,
this.bounce = new W.Point,
this.worldBounce = null,
this.onWorldBounds = null,
this.onCollide = null,
this.onOverlap = null,
this.maxVelocity = new W.Point(1e4,1e4),
this.friction = new W.Point(1,0),
this.angularVelocity = 0,
this.angularAcceleration = 0,
this.angularDrag = 0,
this.maxAngular = 1e3,
this.mass = 1,
this.angle = 0,
this.speed = 0,
this.facing = W.NONE,
this.immovable = !1,
this.moves = !0,
this.customSeparateX = !1,
this.customSeparateY = !1,
this.overlapX = 0,
this.overlapY = 0,
this.overlapR = 0,
this.embedded = !1,
this.collideWorldBounds = !1,
this.checkCollision = {
none: !1,
any: !0,
up: !0,
down: !0,
left: !0,
right: !0
},
this.touching = {
none: !0,
up: !1,
down: !1,
left: !1,
right: !1
},
this.wasTouching = {
none: !0,
up: !1,
down: !1,
left: !1,
right: !1
},
this.blocked = {
up: !1,
down: !1,
left: !1,
right: !1
},
this.tilePadding = new W.Point,
this.dirty = !1,
this.skipQuadTree = !1,
this.syncBounds = !1,
this.isMoving = !1,
this.stopVelocityOnCollide = !0,
this.moveTimer = 0,
this.moveDistance = 0,
this.moveDuration = 0,
this.moveTarget = null,
this.moveEnd = null,
this.onMoveComplete = new W.Signal,
this.movementCallback = null,
this.movementCallbackContext = null,
this._reset = !0,
this._sx = e.scale.x,
this._sy = e.scale.y,
this._dx = 0,
this._dy = 0
}
,
W.Physics.Arcade.Body.prototype = {
updateBounds: function() {
if (this.syncBounds) {
var e = this.sprite.getBounds();
e.ceilAll(),
e.width === this.width && e.height === this.height || (this.width = e.width,
this.height = e.height,
this._reset = !0)
} else {
var t = Math.abs(this.sprite.scale.x)
, i = Math.abs(this.sprite.scale.y);
t === this._sx && i === this._sy || (this.width = this.sourceWidth * t,
this.height = this.sourceHeight * i,
this._sx = t,
this._sy = i,
this._reset = !0)
}
this._reset && (this.halfWidth = Math.floor(this.width / 2),
this.halfHeight = Math.floor(this.height / 2),
this.center.setTo(this.position.x + this.halfWidth, this.position.y + this.halfHeight))
},
preUpdate: function() {
this.enable && !this.game.physics.arcade.isPaused && (this.dirty = !0,
this.wasTouching.none = this.touching.none,
this.wasTouching.up = this.touching.up,
this.wasTouching.down = this.touching.down,
this.wasTouching.left = this.touching.left,
this.wasTouching.right = this.touching.right,
this.touching.none = !0,
this.touching.up = !1,
this.touching.down = !1,
this.touching.left = !1,
this.touching.right = !1,
this.blocked.up = !1,
this.blocked.down = !1,
this.blocked.left = !1,
this.blocked.right = !1,
this.embedded = !1,
this.updateBounds(),
this.position.x = this.sprite.world.x - this.sprite.anchor.x * this.sprite.width + this.sprite.scale.x * this.offset.x,
this.position.x -= this.sprite.scale.x < 0 ? this.width : 0,
this.position.y = this.sprite.world.y - this.sprite.anchor.y * this.sprite.height + this.sprite.scale.y * this.offset.y,
this.position.y -= this.sprite.scale.y < 0 ? this.height : 0,
this.rotation = this.sprite.angle,
this.preRotation = this.rotation,
(this._reset || this.sprite.fresh) && (this.prev.x = this.position.x,
this.prev.y = this.position.y),
this.moves && (this.game.physics.arcade.updateMotion(this),
this.newVelocity.set(this.velocity.x * this.game.time.physicsElapsed, this.velocity.y * this.game.time.physicsElapsed),
this.position.x += this.newVelocity.x,
this.position.y += this.newVelocity.y,
this.position.x === this.prev.x && this.position.y === this.prev.y || (this.angle = Math.atan2(this.velocity.y, this.velocity.x)),
this.speed = Math.sqrt(this.velocity.x * this.velocity.x + this.velocity.y * this.velocity.y),
this.collideWorldBounds && this.checkWorldBounds() && this.onWorldBounds && this.onWorldBounds.dispatch(this.sprite, this.blocked.up, this.blocked.down, this.blocked.left, this.blocked.right)),
this._dx = this.deltaX(),
this._dy = this.deltaY(),
this._reset = !1)
},
updateMovement: function() {
var e = 0
, t = 0 !== this.overlapX || 0 !== this.overlapY;
if (e = 0 < this.moveDuration ? (this.moveTimer += this.game.time.elapsedMS,
this.moveTimer / this.moveDuration) : (this.moveTarget.end.set(this.position.x, this.position.y),
this.moveTarget.length / this.moveDistance),
this.movementCallback)
var i = this.movementCallback.call(this.movementCallbackContext, this, this.velocity, e);
return !(t || 1 <= e || void 0 !== i && !0 !== i) || (this.stopMovement(1 <= e || this.stopVelocityOnCollide && t),
!1)
},
stopMovement: function(e) {
this.isMoving && (this.isMoving = !1,
e && this.velocity.set(0),
this.onMoveComplete.dispatch(this.sprite, 0 !== this.overlapX || 0 !== this.overlapY))
},
postUpdate: function() {
this.enable && this.dirty && (this.isMoving && this.updateMovement(),
this.dirty = !1,
this.deltaX() < 0 ? this.facing = W.LEFT : 0 < this.deltaX() && (this.facing = W.RIGHT),
this.deltaY() < 0 ? this.facing = W.UP : 0 < this.deltaY() && (this.facing = W.DOWN),
this.moves && (this._dx = this.deltaX(),
this._dy = this.deltaY(),
0 !== this.deltaMax.x && 0 !== this._dx && (this._dx < 0 && this._dx < -this.deltaMax.x ? this._dx = -this.deltaMax.x : 0 < this._dx && this._dx > this.deltaMax.x && (this._dx = this.deltaMax.x)),
0 !== this.deltaMax.y && 0 !== this._dy && (this._dy < 0 && this._dy < -this.deltaMax.y ? this._dy = -this.deltaMax.y : 0 < this._dy && this._dy > this.deltaMax.y && (this._dy = this.deltaMax.y)),
this.sprite.position.x += this._dx,
this.sprite.position.y += this._dy,
this._reset = !0),
this.center.setTo(this.position.x + this.halfWidth, this.position.y + this.halfHeight),
this.allowRotation && (this.sprite.angle += this.deltaZ()),
this.prev.x = this.position.x,
this.prev.y = this.position.y)
},
checkWorldBounds: function() {
var e = this.position
, t = this.game.physics.arcade.bounds
, i = this.game.physics.arcade.checkCollision
, r = this.worldBounce ? -this.worldBounce.x : -this.bounce.x
, o = this.worldBounce ? -this.worldBounce.y : -this.bounce.y;
if (this.isCircle) {
var s = this.center.x - this.radius
, a = this.center.y - this.radius
, n = this.center.x + this.radius
, h = this.center.y + this.radius;
s < t.x && i.left ? (e.x = t.x - this.halfWidth + this.radius,
this.velocity.x *= r,
this.blocked.left = !0) : n > t.right && i.right && (e.x = t.right - this.halfWidth - this.radius,
this.velocity.x *= r,
this.blocked.right = !0),
a < t.y && i.up ? (e.y = t.y - this.halfHeight + this.radius,
this.velocity.y *= o,
this.blocked.up = !0) : h > t.bottom && i.down && (e.y = t.bottom - this.halfHeight - this.radius,
this.velocity.y *= o,
this.blocked.down = !0)
} else
e.x < t.x && i.left ? (e.x = t.x,
this.velocity.x *= r,
this.blocked.left = !0) : this.right > t.right && i.right && (e.x = t.right - this.width,
this.velocity.x *= r,
this.blocked.right = !0),
e.y < t.y && i.up ? (e.y = t.y,
this.velocity.y *= o,
this.blocked.up = !0) : this.bottom > t.bottom && i.down && (e.y = t.bottom - this.height,
this.velocity.y *= o,
this.blocked.down = !0);
return this.blocked.up || this.blocked.down || this.blocked.left || this.blocked.right
},
moveFrom: function(e, t, i) {
return void 0 === t && (t = this.speed),
0 !== t && (void 0 === i ? (r = this.angle,
i = this.game.math.radToDeg(r)) : r = this.game.math.degToRad(i),
this.moveTimer = 0,
this.moveDuration = e,
0 === i || 180 === i ? this.velocity.set(Math.cos(r) * t, 0) : 90 === i || 270 === i ? this.velocity.set(0, Math.sin(r) * t) : this.velocity.set(Math.cos(r) * t, Math.sin(r) * t),
this.isMoving = !0);
var r
},
moveTo: function(e, t, i) {
var r, o = t / (e / 1e3);
return 0 !== o && (void 0 === i ? (r = this.angle,
i = this.game.math.radToDeg(r)) : r = this.game.math.degToRad(i),
t = Math.abs(t),
this.moveDuration = 0,
this.moveDistance = t,
null === this.moveTarget && (this.moveTarget = new W.Line,
this.moveEnd = new W.Point),
this.moveTarget.fromAngle(this.x, this.y, r, t),
this.moveEnd.set(this.moveTarget.end.x, this.moveTarget.end.y),
this.moveTarget.setTo(this.x, this.y, this.x, this.y),
0 === i || 180 === i ? this.velocity.set(Math.cos(r) * o, 0) : 90 === i || 270 === i ? this.velocity.set(0, Math.sin(r) * o) : this.velocity.set(Math.cos(r) * o, Math.sin(r) * o),
this.isMoving = !0)
},
setSize: function(e, t, i, r) {
void 0 === i && (i = this.offset.x),
void 0 === r && (r = this.offset.y),
this.sourceWidth = e,
this.sourceHeight = t,
this.width = this.sourceWidth * this._sx,
this.height = this.sourceHeight * this._sy,
this.halfWidth = Math.floor(this.width / 2),
this.halfHeight = Math.floor(this.height / 2),
this.offset.setTo(i, r),
this.center.setTo(this.position.x + this.halfWidth, this.position.y + this.halfHeight),
this.isCircle = !1,
this.radius = 0
},
setCircle: function(e, t, i) {
void 0 === t && (t = this.offset.x),
void 0 === i && (i = this.offset.y),
0 < e ? (this.isCircle = !0,
this.radius = e,
this.sourceWidth = 2 * e,
this.sourceHeight = 2 * e,
this.width = this.sourceWidth * this._sx,
this.height = this.sourceHeight * this._sy,
this.halfWidth = Math.floor(this.width / 2),
this.halfHeight = Math.floor(this.height / 2),
this.offset.setTo(t, i),
this.center.setTo(this.position.x + this.halfWidth, this.position.y + this.halfHeight)) : this.isCircle = !1
},
reset: function(e, t) {
this.velocity.set(0),
this.acceleration.set(0),
this.speed = 0,
this.angularVelocity = 0,
this.angularAcceleration = 0,
this.position.x = e - this.sprite.anchor.x * this.sprite.width + this.sprite.scale.x * this.offset.x,
this.position.x -= this.sprite.scale.x < 0 ? this.width : 0,
this.position.y = t - this.sprite.anchor.y * this.sprite.height + this.sprite.scale.y * this.offset.y,
this.position.y -= this.sprite.scale.y < 0 ? this.height : 0,
this.prev.x = this.position.x,
this.prev.y = this.position.y,
this.rotation = this.sprite.angle,
this.preRotation = this.rotation,
this._sx = this.sprite.scale.x,
this._sy = this.sprite.scale.y,
this.center.setTo(this.position.x + this.halfWidth, this.position.y + this.halfHeight)
},
getBounds: function(e) {
return this.isCircle ? (e.x = this.center.x - this.radius,
e.y = this.center.y - this.radius,
e.right = this.center.x + this.radius,
e.bottom = this.center.y + this.radius) : (e.x = this.x,
e.y = this.y,
e.right = this.right,
e.bottom = this.bottom),
e
},
hitTest: function(e, t) {
return this.isCircle ? W.Circle.contains(this, e, t) : W.Rectangle.contains(this, e, t)
},
onFloor: function() {
return this.blocked.down
},
onCeiling: function() {
return this.blocked.up
},
onWall: function() {
return this.blocked.left || this.blocked.right
},
deltaAbsX: function() {
return 0 < this.deltaX() ? this.deltaX() : -this.deltaX()
},
deltaAbsY: function() {
return 0 < this.deltaY() ? this.deltaY() : -this.deltaY()
},
deltaX: function() {
return this.position.x - this.prev.x
},
deltaY: function() {
return this.position.y - this.prev.y
},
deltaZ: function() {
return this.rotation - this.preRotation
},
destroy: function() {
this.sprite.parent && this.sprite.parent instanceof W.Group && this.sprite.parent.removeFromHash(this.sprite),
this.sprite.body = null,
this.sprite = null
}
},
Object.defineProperty(W.Physics.Arcade.Body.prototype, "left", {
get: function() {
return this.position.x
}
}),
Object.defineProperty(W.Physics.Arcade.Body.prototype, "right", {
get: function() {
return this.position.x + this.width
}
}),
Object.defineProperty(W.Physics.Arcade.Body.prototype, "top", {
get: function() {
return this.position.y
}
}),
Object.defineProperty(W.Physics.Arcade.Body.prototype, "bottom", {
get: function() {
return this.position.y + this.height
}
}),
Object.defineProperty(W.Physics.Arcade.Body.prototype, "x", {
get: function() {
return this.position.x
},
set: function(e) {
this.position.x = e
}
}),
Object.defineProperty(W.Physics.Arcade.Body.prototype, "y", {
get: function() {
return this.position.y
},
set: function(e) {
this.position.y = e
}
}),
W.Physics.Arcade.Body.render = function(e, t, i, r) {
void 0 === r && (r = !0),
i = i || "rgba(0,255,0,0.4)",
e.fillStyle = i,
e.strokeStyle = i,
t.isCircle ? (e.beginPath(),
e.arc(t.center.x - t.game.camera.x, t.center.y - t.game.camera.y, t.radius, 0, 2 * Math.PI),
r ? e.fill() : e.stroke()) : r ? e.fillRect(t.position.x - t.game.camera.x, t.position.y - t.game.camera.y, t.width, t.height) : e.strokeRect(t.position.x - t.game.camera.x, t.position.y - t.game.camera.y, t.width, t.height)
}
,
W.Physics.Arcade.Body.renderBodyInfo = function(e, t) {
e.line("x: " + t.x.toFixed(2), "y: " + t.y.toFixed(2), "width: " + t.width, "height: " + t.height),
e.line("velocity x: " + t.velocity.x.toFixed(2), "y: " + t.velocity.y.toFixed(2), "deltaX: " + t._dx.toFixed(2), "deltaY: " + t._dy.toFixed(2)),
e.line("acceleration x: " + t.acceleration.x.toFixed(2), "y: " + t.acceleration.y.toFixed(2), "speed: " + t.speed.toFixed(2), "angle: " + t.angle.toFixed(2)),
e.line("gravity x: " + t.gravity.x, "y: " + t.gravity.y, "bounce x: " + t.bounce.x.toFixed(2), "y: " + t.bounce.y.toFixed(2)),
e.line("touching left: " + t.touching.left, "right: " + t.touching.right, "up: " + t.touching.up, "down: " + t.touching.down),
e.line("blocked left: " + t.blocked.left, "right: " + t.blocked.right, "up: " + t.blocked.up, "down: " + t.blocked.down)
}
,
W.Physics.Arcade.Body.prototype.constructor = W.Physics.Arcade.Body,
W.Physics.Arcade.TilemapCollision = function() {}
,
W.Physics.Arcade.TilemapCollision.prototype = {
TILE_BIAS: 16,
collideSpriteVsTilemapLayer: function(e, t, i, r, o, s) {
if (e.body) {
var a = t.getTiles(e.body.position.x - e.body.tilePadding.x, e.body.position.y - e.body.tilePadding.y, e.body.width + e.body.tilePadding.x, e.body.height + e.body.tilePadding.y, !1, !1);
if (0 !== a.length)
for (var n = 0; n < a.length; n++)
r ? r.call(o, e, a[n]) && this.separateTile(n, e.body, a[n], t, s) && (this._total++,
i && i.call(o, e, a[n])) : this.separateTile(n, e.body, a[n], t, s) && (this._total++,
i && i.call(o, e, a[n]))
}
},
collideGroupVsTilemapLayer: function(e, t, i, r, o, s) {
if (0 !== e.length)
for (var a = 0; a < e.children.length; a++)
e.children[a].exists && this.collideSpriteVsTilemapLayer(e.children[a], t, i, r, o, s)
},
separateTile: function(e, t, i, r, o) {
if (!t.enable)
return !1;
var s = r.fixedToCamera ? 0 : r.position.x
, a = r.fixedToCamera ? 0 : r.position.y;
if (!i.intersects(t.position.x - s, t.position.y - a, t.right - s, t.bottom - a))
return !1;
if (o)
return !0;
if (i.collisionCallback && !i.collisionCallback.call(i.collisionCallbackContext, t.sprite, i))
return !1;
if (void 0 !== i.layer.callbacks && i.layer.callbacks[i.index] && !i.layer.callbacks[i.index].callback.call(i.layer.callbacks[i.index].callbackContext, t.sprite, i))
return !1;
if (!(i.faceLeft || i.faceRight || i.faceTop || i.faceBottom))
return !1;
var n = 0
, h = 0
, c = 0
, l = 1;
if (t.deltaAbsX() > t.deltaAbsY() ? c = -1 : t.deltaAbsX() < t.deltaAbsY() && (l = -1),
0 !== t.deltaX() && 0 !== t.deltaY() && (i.faceLeft || i.faceRight) && (i.faceTop || i.faceBottom) && (c = Math.min(Math.abs(t.position.x - s - i.right), Math.abs(t.right - s - i.left)),
l = Math.min(Math.abs(t.position.y - a - i.bottom), Math.abs(t.bottom - a - i.top))),
c < l) {
if ((i.faceLeft || i.faceRight) && 0 !== (n = this.tileCheckX(t, i, r)) && !i.intersects(t.position.x - s, t.position.y - a, t.right - s, t.bottom - a))
return !0;
(i.faceTop || i.faceBottom) && (h = this.tileCheckY(t, i, r))
} else {
if ((i.faceTop || i.faceBottom) && 0 !== (h = this.tileCheckY(t, i, r)) && !i.intersects(t.position.x - s, t.position.y - a, t.right - s, t.bottom - a))
return !0;
(i.faceLeft || i.faceRight) && (n = this.tileCheckX(t, i, r))
}
return 0 !== n || 0 !== h
},
tileCheckX: function(e, t, i) {
var r = 0
, o = i.fixedToCamera ? 0 : i.position.x;
return e.deltaX() < 0 && !e.blocked.left && t.collideRight && e.checkCollision.left ? t.faceRight && e.x - o < t.right && (r = e.x - o - t.right) < -this.TILE_BIAS && (r = 0) : 0 < e.deltaX() && !e.blocked.right && t.collideLeft && e.checkCollision.right && t.faceLeft && e.right - o > t.left && (r = e.right - o - t.left) > this.TILE_BIAS && (r = 0),
0 !== r && (e.customSeparateX ? e.overlapX = r : this.processTileSeparationX(e, r)),
r
},
tileCheckY: function(e, t, i) {
var r = 0
, o = i.fixedToCamera ? 0 : i.position.y;
return e.deltaY() < 0 && !e.blocked.up && t.collideDown && e.checkCollision.up ? t.faceBottom && e.y - o < t.bottom && (r = e.y - o - t.bottom) < -this.TILE_BIAS && (r = 0) : 0 < e.deltaY() && !e.blocked.down && t.collideUp && e.checkCollision.down && t.faceTop && e.bottom - o > t.top && (r = e.bottom - o - t.top) > this.TILE_BIAS && (r = 0),
0 !== r && (e.customSeparateY ? e.overlapY = r : this.processTileSeparationY(e, r)),
r
},
processTileSeparationX: function(e, t) {
t < 0 ? e.blocked.left = !0 : 0 < t && (e.blocked.right = !0),
e.position.x -= t,
0 === e.bounce.x ? e.velocity.x = 0 : e.velocity.x = -e.velocity.x * e.bounce.x
},
processTileSeparationY: function(e, t) {
t < 0 ? e.blocked.up = !0 : 0 < t && (e.blocked.down = !0),
e.position.y -= t,
0 === e.bounce.y ? e.velocity.y = 0 : e.velocity.y = -e.velocity.y * e.bounce.y
}
},
W.Utils.mixinPrototype(W.Physics.Arcade.prototype, W.Physics.Arcade.TilemapCollision.prototype),
p2.Body.prototype.parent = null,
p2.Spring.prototype.parent = null,
W.Physics.P2 = function(e, t) {
this.game = e,
void 0 === t ? t = {
gravity: [0, 0],
broadphase: new p2.SAPBroadphase
} : (t.hasOwnProperty("gravity") || (t.gravity = [0, 0]),
t.hasOwnProperty("broadphase") || (t.broadphase = new p2.SAPBroadphase)),
this.config = t,
this.world = new p2.World(this.config),
this.frameRate = 1 / 60,
this.useElapsedTime = !1,
this.paused = !1,
this.materials = [],
this.gravity = new W.Physics.P2.InversePointProxy(this,this.world.gravity),
this.walls = {
left: null,
right: null,
top: null,
bottom: null
},
this.onBodyAdded = new W.Signal,
this.onBodyRemoved = new W.Signal,
this.onSpringAdded = new W.Signal,
this.onSpringRemoved = new W.Signal,
this.onConstraintAdded = new W.Signal,
this.onConstraintRemoved = new W.Signal,
this.onContactMaterialAdded = new W.Signal,
this.onContactMaterialRemoved = new W.Signal,
this.postBroadphaseCallback = null,
this.callbackContext = null,
this.onBeginContact = new W.Signal,
this.onEndContact = new W.Signal,
t.hasOwnProperty("mpx") && t.hasOwnProperty("pxm") && t.hasOwnProperty("mpxi") && t.hasOwnProperty("pxmi") && (this.mpx = t.mpx,
this.mpxi = t.mpxi,
this.pxm = t.pxm,
this.pxmi = t.pxmi),
this.world.on("beginContact", this.beginContactHandler, this),
this.world.on("endContact", this.endContactHandler, this),
this.collisionGroups = [],
this.nothingCollisionGroup = new W.Physics.P2.CollisionGroup(1),
this.boundsCollisionGroup = new W.Physics.P2.CollisionGroup(2),
this.everythingCollisionGroup = new W.Physics.P2.CollisionGroup(2147483648),
this.boundsCollidesWith = [],
this._toRemove = [],
this._collisionGroupID = 2,
this._boundsLeft = !0,
this._boundsRight = !0,
this._boundsTop = !0,
this._boundsBottom = !0,
this._boundsOwnGroup = !1,
this.setBoundsToWorld(!0, !0, !0, !0, !1)
}
,
W.Physics.P2.prototype = {
removeBodyNextStep: function(e) {
this._toRemove.push(e)
},
preUpdate: function() {
for (var e = this._toRemove.length; e--; )
this.removeBody(this._toRemove[e]);
this._toRemove.length = 0
},
enable: function(e, t, i) {
void 0 === t && (t = !1),
void 0 === i && (i = !0);
var r = 1;
if (Array.isArray(e))
for (r = e.length; r--; )
e[r]instanceof W.Group ? this.enable(e[r].children, t, i) : (this.enableBody(e[r], t),
i && e[r].hasOwnProperty("children") && 0 < e[r].children.length && this.enable(e[r], t, !0));
else
e instanceof W.Group ? this.enable(e.children, t, i) : (this.enableBody(e, t),
i && e.hasOwnProperty("children") && 0 < e.children.length && this.enable(e.children, t, !0))
},
enableBody: function(e, t) {
e.hasOwnProperty("body") && null === e.body && (e.body = new W.Physics.P2.Body(this.game,e,e.x,e.y,1),
e.body.debug = t,
void 0 !== e.anchor && e.anchor.set(.5))
},
setImpactEvents: function(e) {
e ? this.world.on("impact", this.impactHandler, this) : this.world.off("impact", this.impactHandler, this)
},
setPostBroadphaseCallback: function(e, t) {
this.postBroadphaseCallback = e,
this.callbackContext = t,
null !== e ? this.world.on("postBroadphase", this.postBroadphaseHandler, this) : this.world.off("postBroadphase", this.postBroadphaseHandler, this)
},
postBroadphaseHandler: function(e) {
if (this.postBroadphaseCallback && 0 !== e.pairs.length)
for (var t = e.pairs.length - 2; 0 <= t; t -= 2)
e.pairs[t].parent && e.pairs[t + 1].parent && !this.postBroadphaseCallback.call(this.callbackContext, e.pairs[t].parent, e.pairs[t + 1].parent) && e.pairs.splice(t, 2)
},
impactHandler: function(e) {
if (e.bodyA.parent && e.bodyB.parent) {
var t = e.bodyA.parent
, i = e.bodyB.parent;
t._bodyCallbacks[e.bodyB.id] && t._bodyCallbacks[e.bodyB.id].call(t._bodyCallbackContext[e.bodyB.id], t, i, e.shapeA, e.shapeB),
i._bodyCallbacks[e.bodyA.id] && i._bodyCallbacks[e.bodyA.id].call(i._bodyCallbackContext[e.bodyA.id], i, t, e.shapeB, e.shapeA),
t._groupCallbacks[e.shapeB.collisionGroup] && t._groupCallbacks[e.shapeB.collisionGroup].call(t._groupCallbackContext[e.shapeB.collisionGroup], t, i, e.shapeA, e.shapeB),
i._groupCallbacks[e.shapeA.collisionGroup] && i._groupCallbacks[e.shapeA.collisionGroup].call(i._groupCallbackContext[e.shapeA.collisionGroup], i, t, e.shapeB, e.shapeA)
}
},
beginContactHandler: function(e) {
e.bodyA && e.bodyB && (this.onBeginContact.dispatch(e.bodyA, e.bodyB, e.shapeA, e.shapeB, e.contactEquations),
e.bodyA.parent && e.bodyA.parent.onBeginContact.dispatch(e.bodyB.parent, e.bodyB, e.shapeA, e.shapeB, e.contactEquations),
e.bodyB.parent && e.bodyB.parent.onBeginContact.dispatch(e.bodyA.parent, e.bodyA, e.shapeB, e.shapeA, e.contactEquations))
},
endContactHandler: function(e) {
e.bodyA && e.bodyB && (this.onEndContact.dispatch(e.bodyA, e.bodyB, e.shapeA, e.shapeB),
e.bodyA.parent && e.bodyA.parent.onEndContact.dispatch(e.bodyB.parent, e.bodyB, e.shapeA, e.shapeB),
e.bodyB.parent && e.bodyB.parent.onEndContact.dispatch(e.bodyA.parent, e.bodyA, e.shapeB, e.shapeA))
},
setBoundsToWorld: function(e, t, i, r, o) {
this.setBounds(this.game.world.bounds.x, this.game.world.bounds.y, this.game.world.bounds.width, this.game.world.bounds.height, e, t, i, r, o)
},
setWorldMaterial: function(e, t, i, r, o) {
void 0 === t && (t = !0),
void 0 === i && (i = !0),
void 0 === r && (r = !0),
void 0 === o && (o = !0),
t && this.walls.left && (this.walls.left.shapes[0].material = e),
i && this.walls.right && (this.walls.right.shapes[0].material = e),
r && this.walls.top && (this.walls.top.shapes[0].material = e),
o && this.walls.bottom && (this.walls.bottom.shapes[0].material = e)
},
updateBoundsCollisionGroup: function(e) {
void 0 === e && (e = !0);
var t = e ? this.boundsCollisionGroup.mask : this.everythingCollisionGroup.mask;
this.walls.left && (this.walls.left.shapes[0].collisionGroup = t),
this.walls.right && (this.walls.right.shapes[0].collisionGroup = t),
this.walls.top && (this.walls.top.shapes[0].collisionGroup = t),
this.walls.bottom && (this.walls.bottom.shapes[0].collisionGroup = t),
this._boundsOwnGroup = e
},
setBounds: function(e, t, i, r, o, s, a, n, h) {
void 0 === o && (o = this._boundsLeft),
void 0 === s && (s = this._boundsRight),
void 0 === a && (a = this._boundsTop),
void 0 === n && (n = this._boundsBottom),
void 0 === h && (h = this._boundsOwnGroup),
this.setupWall(o, "left", e, t, 1.5707963267948966, h),
this.setupWall(s, "right", e + i, t, -1.5707963267948966, h),
this.setupWall(a, "top", e, t, -3.141592653589793, h),
this.setupWall(n, "bottom", e, t + r, 0, h),
this._boundsLeft = o,
this._boundsRight = s,
this._boundsTop = a,
this._boundsBottom = n,
this._boundsOwnGroup = h
},
setupWall: function(e, t, i, r, o, s) {
e ? (this.walls[t] ? this.walls[t].position = [this.pxmi(i), this.pxmi(r)] : (this.walls[t] = new p2.Body({
mass: 0,
position: [this.pxmi(i), this.pxmi(r)],
angle: o
}),
this.walls[t].addShape(new p2.Plane),
this.world.addBody(this.walls[t])),
s && (this.walls[t].shapes[0].collisionGroup = this.boundsCollisionGroup.mask)) : this.walls[t] && (this.world.removeBody(this.walls[t]),
this.walls[t] = null)
},
pause: function() {
this.paused = !0
},
resume: function() {
this.paused = !1
},
update: function() {
this.paused || (this.useElapsedTime ? this.world.step(this.game.time.physicsElapsed) : this.world.step(this.frameRate))
},
reset: function() {
this.world.on("beginContact", this.beginContactHandler, this),
this.world.on("endContact", this.endContactHandler, this),
this.nothingCollisionGroup = new W.Physics.P2.CollisionGroup(1),
this.boundsCollisionGroup = new W.Physics.P2.CollisionGroup(2),
this.everythingCollisionGroup = new W.Physics.P2.CollisionGroup(2147483648),
this._collisionGroupID = 2,
this.setBoundsToWorld(!0, !0, !0, !0, !1)
},
clear: function() {
this.world.time = 0,
this.world.fixedStepTime = 0,
this.world.solver && this.world.solver.equations.length && this.world.solver.removeAllEquations();
for (var e = this.world.constraints, t = e.length - 1; 0 <= t; t--)
this.world.removeConstraint(e[t]);
var i = this.world.bodies;
for (t = i.length - 1; 0 <= t; t--)
this.world.removeBody(i[t]);
var r = this.world.springs;
for (t = r.length - 1; 0 <= t; t--)
this.world.removeSpring(r[t]);
var o = this.world.contactMaterials;
for (t = o.length - 1; 0 <= t; t--)
this.world.removeContactMaterial(o[t]);
this.world.off("beginContact", this.beginContactHandler, this),
this.world.off("endContact", this.endContactHandler, this),
this.postBroadphaseCallback = null,
this.callbackContext = null,
this.impactCallback = null,
this.collisionGroups = [],
this._toRemove = [],
this.boundsCollidesWith = [],
this.walls = {
left: null,
right: null,
top: null,
bottom: null
}
},
destroy: function() {
this.clear(),
this.game = null
},
addBody: function(e) {
return !e.data.world && (this.world.addBody(e.data),
this.onBodyAdded.dispatch(e),
!0)
},
removeBody: function(e) {
return e.data.world === this.world && (this.world.removeBody(e.data),
this.onBodyRemoved.dispatch(e)),
e
},
addSpring: function(e) {
return e instanceof W.Physics.P2.Spring || e instanceof W.Physics.P2.RotationalSpring ? this.world.addSpring(e.data) : this.world.addSpring(e),
this.onSpringAdded.dispatch(e),
e
},
removeSpring: function(e) {
return e instanceof W.Physics.P2.Spring || e instanceof W.Physics.P2.RotationalSpring ? this.world.removeSpring(e.data) : this.world.removeSpring(e),
this.onSpringRemoved.dispatch(e),
e
},
createDistanceConstraint: function(e, t, i, r, o, s) {
if (e = this.getBody(e),
t = this.getBody(t),
e && t)
return this.addConstraint(new W.Physics.P2.DistanceConstraint(this,e,t,i,r,o,s))
},
createGearConstraint: function(e, t, i, r) {
if (e = this.getBody(e),
t = this.getBody(t),
e && t)
return this.addConstraint(new W.Physics.P2.GearConstraint(this,e,t,i,r))
},
createRevoluteConstraint: function(e, t, i, r, o, s) {
if (e = this.getBody(e),
i = this.getBody(i),
e && i)
return this.addConstraint(new W.Physics.P2.RevoluteConstraint(this,e,t,i,r,o,s))
},
createLockConstraint: function(e, t, i, r, o) {
if (e = this.getBody(e),
t = this.getBody(t),
e && t)
return this.addConstraint(new W.Physics.P2.LockConstraint(this,e,t,i,r,o))
},
createPrismaticConstraint: function(e, t, i, r, o, s, a) {
if (e = this.getBody(e),
t = this.getBody(t),
e && t)
return this.addConstraint(new W.Physics.P2.PrismaticConstraint(this,e,t,i,r,o,s,a))
},
addConstraint: function(e) {
return this.world.addConstraint(e),
this.onConstraintAdded.dispatch(e),
e
},
removeConstraint: function(e) {
return this.world.removeConstraint(e),
this.onConstraintRemoved.dispatch(e),
e
},
addContactMaterial: function(e) {
return this.world.addContactMaterial(e),
this.onContactMaterialAdded.dispatch(e),
e
},
removeContactMaterial: function(e) {
return this.world.removeContactMaterial(e),
this.onContactMaterialRemoved.dispatch(e),
e
},
getContactMaterial: function(e, t) {
return this.world.getContactMaterial(e, t)
},
setMaterial: function(e, t) {
for (var i = t.length; i--; )
t[i].setMaterial(e)
},
createMaterial: function(e, t) {
e = e || "";
var i = new W.Physics.P2.Material(e);
return this.materials.push(i),
void 0 !== t && t.setMaterial(i),
i
},
createContactMaterial: function(e, t, i) {
void 0 === e && (e = this.createMaterial()),
void 0 === t && (t = this.createMaterial());
var r = new W.Physics.P2.ContactMaterial(e,t,i);
return this.addContactMaterial(r)
},
getBodies: function() {
for (var e = [], t = this.world.bodies.length; t--; )
e.push(this.world.bodies[t].parent);
return e
},
getBody: function(e) {
return e instanceof p2.Body ? e : e instanceof W.Physics.P2.Body ? e.data : e.body && e.body.type === W.Physics.P2JS ? e.body.data : null
},
getSprings: function() {
for (var e = [], t = this.world.springs.length; t--; )
e.push(this.world.springs[t].parent);
return e
},
getConstraints: function() {
for (var e = [], t = this.world.constraints.length; t--; )
e.push(this.world.constraints[t]);
return e
},
hitTest: function(e, t, i, r) {
void 0 === t && (t = this.world.bodies),
void 0 === i && (i = 5),
void 0 === r && (r = !1);
for (var o = [this.pxmi(e.x), this.pxmi(e.y)], s = [], a = t.length; a--; )
t[a]instanceof W.Physics.P2.Body && (!r || t[a].data.type !== p2.Body.STATIC) ? s.push(t[a].data) : t[a]instanceof p2.Body && t[a].parent && (!r || t[a].type !== p2.Body.STATIC) ? s.push(t[a]) : t[a]instanceof W.Sprite && t[a].hasOwnProperty("body") && (!r || t[a].body.data.type !== p2.Body.STATIC) && s.push(t[a].body.data);
return this.world.hitTest(o, s, i)
},
toJSON: function() {
return this.world.toJSON()
},
createCollisionGroup: function(e) {
var t = Math.pow(2, this._collisionGroupID);
this.walls.left && (this.walls.left.shapes[0].collisionMask = this.walls.left.shapes[0].collisionMask | t),
this.walls.right && (this.walls.right.shapes[0].collisionMask = this.walls.right.shapes[0].collisionMask | t),
this.walls.top && (this.walls.top.shapes[0].collisionMask = this.walls.top.shapes[0].collisionMask | t),
this.walls.bottom && (this.walls.bottom.shapes[0].collisionMask = this.walls.bottom.shapes[0].collisionMask | t),
this._collisionGroupID++;
var i = new W.Physics.P2.CollisionGroup(t);
return this.collisionGroups.push(i),
e && this.setCollisionGroup(e, i),
i
},
setCollisionGroup: function(e, t) {
if (e instanceof W.Group)
for (var i = 0; i < e.total; i++)
e.children[i].body && e.children[i].body.type === W.Physics.P2JS && e.children[i].body.setCollisionGroup(t);
else
e.body.setCollisionGroup(t)
},
createSpring: function(e, t, i, r, o, s, a, n, h) {
if (e = this.getBody(e),
t = this.getBody(t),
e && t)
return this.addSpring(new W.Physics.P2.Spring(this,e,t,i,r,o,s,a,n,h))
},
createRotationalSpring: function(e, t, i, r, o) {
if (e = this.getBody(e),
t = this.getBody(t),
e && t)
return this.addSpring(new W.Physics.P2.RotationalSpring(this,e,t,i,r,o))
},
createBody: function(e, t, i, r, o, s) {
void 0 === r && (r = !1);
var a = new W.Physics.P2.Body(this.game,null,e,t,i);
if (s && !a.addPolygon(o, s))
return !1;
return r && this.world.addBody(a.data),
a
},
createParticle: function(e, t, i, r, o, s) {
void 0 === r && (r = !1);
var a = new W.Physics.P2.Body(this.game,null,e,t,i);
if (s && !a.addPolygon(o, s))
return !1;
return r && this.world.addBody(a.data),
a
},
convertCollisionObjects: function(e, t, i) {
void 0 === i && (i = !0);
for (var r = [], o = 0, s = e.collision[t].length; o < s; o++) {
var a = e.collision[t][o]
, n = this.createBody(a.x, a.y, 0, i, {}, a.polyline);
n && r.push(n)
}
return r
},
clearTilemapLayerBodies: function(e, t) {
t = e.getLayer(t);
for (var i = e.layers[t].bodies.length; i--; )
e.layers[t].bodies[i].destroy();
e.layers[t].bodies.length = 0
},
convertTilemap: function(e, t, i, r) {
t = e.getLayer(t),
void 0 === i && (i = !0),
void 0 === r && (r = !0),
this.clearTilemapLayerBodies(e, t);
for (var o = 0, s = 0, a = 0, n = 0, h = e.layers[t].height; n < h; n++)
for (var c = o = 0, l = e.layers[t].width; c < l; c++) {
var m = e.layers[t].data[n][c];
if (m && -1 < m.index && m.collides)
if (r) {
var u = e.getTileRight(t, c, n);
if (0 === o && (s = m.x * m.width,
a = m.y * m.height,
o = m.width),
u && u.collides)
o += m.width;
else
(d = this.createBody(s, a, 0, !1)).addRectangle(o, m.height, o / 2, m.height / 2, 0),
i && this.addBody(d),
e.layers[t].bodies.push(d),
o = 0
} else {
var d;
(d = this.createBody(m.x * m.width, m.y * m.height, 0, !1)).addRectangle(m.width, m.height, m.width / 2, m.height / 2, 0),
i && this.addBody(d),
e.layers[t].bodies.push(d)
}
}
return e.layers[t].bodies
},
mpx: function(e) {
return 20 * e
},
pxm: function(e) {
return .05 * e
},
mpxi: function(e) {
return -20 * e
},
pxmi: function(e) {
return -.05 * e
}
},
Object.defineProperty(W.Physics.P2.prototype, "friction", {
get: function() {
return this.world.defaultContactMaterial.friction
},
set: function(e) {
this.world.defaultContactMaterial.friction = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "restitution", {
get: function() {
return this.world.defaultContactMaterial.restitution
},
set: function(e) {
this.world.defaultContactMaterial.restitution = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "contactMaterial", {
get: function() {
return this.world.defaultContactMaterial
},
set: function(e) {
this.world.defaultContactMaterial = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "applySpringForces", {
get: function() {
return this.world.applySpringForces
},
set: function(e) {
this.world.applySpringForces = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "applyDamping", {
get: function() {
return this.world.applyDamping
},
set: function(e) {
this.world.applyDamping = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "applyGravity", {
get: function() {
return this.world.applyGravity
},
set: function(e) {
this.world.applyGravity = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "solveConstraints", {
get: function() {
return this.world.solveConstraints
},
set: function(e) {
this.world.solveConstraints = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "time", {
get: function() {
return this.world.time
}
}),
Object.defineProperty(W.Physics.P2.prototype, "emitImpactEvent", {
get: function() {
return this.world.emitImpactEvent
},
set: function(e) {
this.world.emitImpactEvent = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "sleepMode", {
get: function() {
return this.world.sleepMode
},
set: function(e) {
this.world.sleepMode = e
}
}),
Object.defineProperty(W.Physics.P2.prototype, "total", {
get: function() {
return this.world.bodies.length
}
}),
W.Physics.P2.FixtureList = function(e) {
Array.isArray(e) || (e = [e]),
this.rawList = e,
this.init(),
this.parse(this.rawList)
}
,
W.Physics.P2.FixtureList.prototype = {
init: function() {
this.namedFixtures = {},
this.groupedFixtures = [],
this.allFixtures = []
},
setCategory: function(t, e) {
this.getFixtures(e).forEach(function(e) {
e.collisionGroup = t
})
},
setMask: function(t, e) {
this.getFixtures(e).forEach(function(e) {
e.collisionMask = t
})
},
setSensor: function(t, e) {
this.getFixtures(e).forEach(function(e) {
e.sensor = t
})
},
setMaterial: function(t, e) {
this.getFixtures(e).forEach(function(e) {
e.material = t
})
},
getFixtures: function(e) {
var t = [];
if (e) {
e instanceof Array || (e = [e]);
var i = this;
return e.forEach(function(e) {
i.namedFixtures[e] && t.push(i.namedFixtures[e])
}),
this.flatten(t)
}
return this.allFixtures
},
getFixtureByKey: function(e) {
return this.namedFixtures[e]
},
getGroup: function(e) {
return this.groupedFixtures[e]
},
parse: function() {
var e, t, i, r;
for (e in r = [],
i = this.rawList)
t = i[e],
isNaN(e - 0) ? this.namedFixtures[e] = this.flatten(t) : (this.groupedFixtures[e] = this.groupedFixtures[e] || [],
this.groupedFixtures[e] = this.groupedFixtures[e].concat(t)),
r.push(this.allFixtures = this.flatten(this.groupedFixtures))
},
flatten: function(e) {
var t, i;
return t = [],
i = arguments.callee,
e.forEach(function(e) {
return Array.prototype.push.apply(t, Array.isArray(e) ? i(e) : [e])
}),
t
}
},
W.Physics.P2.PointProxy = function(e, t) {
this.world = e,
this.destination = t
}
,
W.Physics.P2.PointProxy.prototype.constructor = W.Physics.P2.PointProxy,
Object.defineProperty(W.Physics.P2.PointProxy.prototype, "x", {
get: function() {
return this.world.mpx(this.destination[0])
},
set: function(e) {
this.destination[0] = this.world.pxm(e)
}
}),
Object.defineProperty(W.Physics.P2.PointProxy.prototype, "y", {
get: function() {
return this.world.mpx(this.destination[1])
},
set: function(e) {
this.destination[1] = this.world.pxm(e)
}
}),
Object.defineProperty(W.Physics.P2.PointProxy.prototype, "mx", {
get: function() {
return this.destination[0]
},
set: function(e) {
this.destination[0] = e
}
}),
Object.defineProperty(W.Physics.P2.PointProxy.prototype, "my", {
get: function() {
return this.destination[1]
},
set: function(e) {
this.destination[1] = e
}
}),
W.Physics.P2.InversePointProxy = function(e, t) {
this.world = e,
this.destination = t
}
,
W.Physics.P2.InversePointProxy.prototype.constructor = W.Physics.P2.InversePointProxy,
Object.defineProperty(W.Physics.P2.InversePointProxy.prototype, "x", {
get: function() {
return this.world.mpxi(this.destination[0])
},
set: function(e) {
this.destination[0] = this.world.pxmi(e)
}
}),
Object.defineProperty(W.Physics.P2.InversePointProxy.prototype, "y", {
get: function() {
return this.world.mpxi(this.destination[1])
},
set: function(e) {
this.destination[1] = this.world.pxmi(e)
}
}),
Object.defineProperty(W.Physics.P2.InversePointProxy.prototype, "mx", {
get: function() {
return this.destination[0]
},
set: function(e) {
this.destination[0] = -e
}
}),
Object.defineProperty(W.Physics.P2.InversePointProxy.prototype, "my", {
get: function() {
return this.destination[1]
},
set: function(e) {
this.destination[1] = -e
}
}),
W.Physics.P2.Body = function(e, t, i, r, o) {
t = t || null,
i = i || 0,
r = r || 0,
void 0 === o && (o = 1),
this.game = e,
this.world = e.physics.p2,
this.sprite = t,
this.type = W.Physics.P2JS,
this.offset = new W.Point,
this.data = new p2.Body({
position: [this.world.pxmi(i), this.world.pxmi(r)],
mass: o
}),
(this.data.parent = this).velocity = new W.Physics.P2.InversePointProxy(this.world,this.data.velocity),
this.force = new W.Physics.P2.InversePointProxy(this.world,this.data.force),
this.gravity = new W.Point,
this.onBeginContact = new W.Signal,
this.onEndContact = new W.Signal,
this.collidesWith = [],
this.removeNextStep = !1,
this.debugBody = null,
this.dirty = !1,
this._collideWorldBounds = !0,
this._bodyCallbacks = {},
this._bodyCallbackContext = {},
this._groupCallbacks = {},
this._groupCallbackContext = {},
this._reset = !1,
t && (this.setRectangleFromSprite(t),
t.exists && this.game.physics.p2.addBody(this))
}
,
W.Physics.P2.Body.prototype = {
createBodyCallback: function(e, t, i) {
var r = -1;
e.id ? r = e.id : e.body && (r = e.body.id),
-1 < r && (null === t ? (delete this._bodyCallbacks[r],
delete this._bodyCallbackContext[r]) : (this._bodyCallbacks[r] = t,
this._bodyCallbackContext[r] = i))
},
createGroupCallback: function(e, t, i) {
null === t ? (delete this._groupCallbacks[e.mask],
delete this._groupCallbackContext[e.mask]) : (this._groupCallbacks[e.mask] = t,
this._groupCallbackContext[e.mask] = i)
},
getCollisionMask: function() {
var e = 0;
this._collideWorldBounds && (e = this.game.physics.p2.boundsCollisionGroup.mask);
for (var t = 0; t < this.collidesWith.length; t++)
e |= this.collidesWith[t].mask;
return e
},
updateCollisionMask: function(e) {
var t = this.getCollisionMask();
if (void 0 === e)
for (var i = this.data.shapes.length - 1; 0 <= i; i--)
this.data.shapes[i].collisionMask = t;
else
e.collisionMask = t
},
setCollisionGroup: function(e, t) {
var i = this.getCollisionMask();
if (void 0 === t)
for (var r = this.data.shapes.length - 1; 0 <= r; r--)
this.data.shapes[r].collisionGroup = e.mask,
this.data.shapes[r].collisionMask = i;
else
t.collisionGroup = e.mask,
t.collisionMask = i
},
clearCollision: function(e, t, i) {
if (void 0 === e && (e = !0),
void 0 === t && (t = !0),
void 0 === i)
for (var r = this.data.shapes.length - 1; 0 <= r; r--)
e && (this.data.shapes[r].collisionGroup = null),
t && (this.data.shapes[r].collisionMask = null);
else
e && (i.collisionGroup = null),
t && (i.collisionMask = null);
e && (this.collidesWith.length = 0)
},
removeCollisionGroup: function(e, t, i) {
var r;
if (void 0 === t && (t = !0),
Array.isArray(e))
for (var o = 0; o < e.length; o++)
-1 < (r = this.collidesWith.indexOf(e[o])) && (this.collidesWith.splice(r, 1),
t && (delete this._groupCallbacks[e.mask],
delete this._groupCallbackContext[e.mask]));
else
-1 < (r = this.collidesWith.indexOf(e)) && (this.collidesWith.splice(r, 1),
t && (delete this._groupCallbacks[e.mask],
delete this._groupCallbackContext[e.mask]));
var s = this.getCollisionMask();
if (void 0 === i)
for (o = this.data.shapes.length - 1; 0 <= o; o--)
this.data.shapes[o].collisionMask = s;
else
i.collisionMask = s
},
collides: function(e, t, i, r) {
if (Array.isArray(e))
for (var o = 0; o < e.length; o++)
-1 === this.collidesWith.indexOf(e[o]) && (this.collidesWith.push(e[o]),
t && this.createGroupCallback(e[o], t, i));
else
-1 === this.collidesWith.indexOf(e) && (this.collidesWith.push(e),
t && this.createGroupCallback(e, t, i));
var s = this.getCollisionMask();
if (void 0 === r)
for (o = this.data.shapes.length - 1; 0 <= o; o--)
this.data.shapes[o].collisionMask = s;
else
r.collisionMask = s
},
adjustCenterOfMass: function() {
this.data.adjustCenterOfMass(),
this.shapeChanged()
},
getVelocityAtPoint: function(e, t) {
return this.data.getVelocityAtPoint(e, t)
},
applyDamping: function(e) {
this.data.applyDamping(e)
},
applyImpulse: function(e, t, i) {
this.data.applyImpulse(e, [this.world.pxmi(t), this.world.pxmi(i)])
},
applyImpulseLocal: function(e, t, i) {
this.data.applyImpulseLocal(e, [this.world.pxmi(t), this.world.pxmi(i)])
},
applyForce: function(e, t, i) {
this.data.applyForce(e, [this.world.pxmi(t), this.world.pxmi(i)])
},
setZeroForce: function() {
this.data.setZeroForce()
},
setZeroRotation: function() {
this.data.angularVelocity = 0
},
setZeroVelocity: function() {
this.data.velocity[0] = 0,
this.data.velocity[1] = 0
},
setZeroDamping: function() {
this.data.damping = 0,
this.data.angularDamping = 0
},
toLocalFrame: function(e, t) {
return this.data.toLocalFrame(e, t)
},
toWorldFrame: function(e, t) {
return this.data.toWorldFrame(e, t)
},
rotateLeft: function(e) {
this.data.angularVelocity = this.world.pxm(-e)
},
rotateRight: function(e) {
this.data.angularVelocity = this.world.pxm(e)
},
moveForward: function(e) {
var t = this.world.pxmi(-e)
, i = this.data.angle + Math.PI / 2;
this.data.velocity[0] = t * Math.cos(i),
this.data.velocity[1] = t * Math.sin(i)
},
moveBackward: function(e) {
var t = this.world.pxmi(-e)
, i = this.data.angle + Math.PI / 2;
this.data.velocity[0] = -t * Math.cos(i),
this.data.velocity[1] = -t * Math.sin(i)
},
thrust: function(e) {
var t = this.world.pxmi(-e)
, i = this.data.angle + Math.PI / 2;
this.data.force[0] += t * Math.cos(i),
this.data.force[1] += t * Math.sin(i)
},
thrustLeft: function(e) {
var t = this.world.pxmi(-e)
, i = this.data.angle;
this.data.force[0] += t * Math.cos(i),
this.data.force[1] += t * Math.sin(i)
},
thrustRight: function(e) {
var t = this.world.pxmi(-e)
, i = this.data.angle;
this.data.force[0] -= t * Math.cos(i),
this.data.force[1] -= t * Math.sin(i)
},
reverse: function(e) {
var t = this.world.pxmi(-e)
, i = this.data.angle + Math.PI / 2;
this.data.force[0] -= t * Math.cos(i),
this.data.force[1] -= t * Math.sin(i)
},
moveLeft: function(e) {
this.data.velocity[0] = this.world.pxmi(-e)
},
moveRight: function(e) {
this.data.velocity[0] = this.world.pxmi(e)
},
moveUp: function(e) {
this.data.velocity[1] = this.world.pxmi(-e)
},
moveDown: function(e) {
this.data.velocity[1] = this.world.pxmi(e)
},
preUpdate: function() {
this.dirty = !0,
this.removeNextStep && (this.removeFromWorld(),
this.removeNextStep = !1)
},
postUpdate: function() {
this.sprite.x = this.world.mpxi(this.data.position[0]) + this.offset.x,
this.sprite.y = this.world.mpxi(this.data.position[1]) + this.offset.y,
this.fixedRotation || (this.sprite.rotation = this.data.angle),
this.debugBody && this.debugBody.updateSpriteTransform(),
this.dirty = !1
},
reset: function(e, t, i, r) {
void 0 === i && (i = !1),
void 0 === r && (r = !1),
this.setZeroForce(),
this.setZeroVelocity(),
this.setZeroRotation(),
i && this.setZeroDamping(),
r && (this.mass = 1),
this.x = e,
this.y = t
},
addToWorld: function() {
if (this.game.physics.p2._toRemove)
for (var e = 0; e < this.game.physics.p2._toRemove.length; e++)
this.game.physics.p2._toRemove[e] === this && this.game.physics.p2._toRemove.splice(e, 1);
this.data.world !== this.game.physics.p2.world && this.game.physics.p2.addBody(this)
},
removeFromWorld: function() {
this.data.world === this.game.physics.p2.world && this.game.physics.p2.removeBodyNextStep(this)
},
destroy: function() {
this.removeFromWorld(),
this.clearShapes(),
this._bodyCallbacks = {},
this._bodyCallbackContext = {},
this._groupCallbacks = {},
this._groupCallbackContext = {},
this.debugBody && this.debugBody.destroy(!0, !0),
this.debugBody = null,
this.sprite && (this.sprite.body = null,
this.sprite = null)
},
clearShapes: function() {
for (var e = this.data.shapes.length; e--; )
this.data.removeShape(this.data.shapes[e]);
this.shapeChanged()
},
addShape: function(e, t, i, r) {
return void 0 === t && (t = 0),
void 0 === i && (i = 0),
void 0 === r && (r = 0),
this.data.addShape(e, [this.world.pxmi(t), this.world.pxmi(i)], r),
this.shapeChanged(),
e
},
addCircle: function(e, t, i, r) {
var o = new p2.Circle({
radius: this.world.pxm(e)
});
return this.addShape(o, t, i, r)
},
addRectangle: function(e, t, i, r, o) {
var s = new p2.Box({
width: this.world.pxm(e),
height: this.world.pxm(t)
});
return this.addShape(s, i, r, o)
},
addPlane: function(e, t, i) {
var r = new p2.Plane;
return this.addShape(r, e, t, i)
},
addParticle: function(e, t, i) {
var r = new p2.Particle;
return this.addShape(r, e, t, i)
},
addLine: function(e, t, i, r) {
var o = new p2.Line({
length: this.world.pxm(e)
});
return this.addShape(o, t, i, r)
},
addCapsule: function(e, t, i, r, o) {
var s = new p2.Capsule({
length: this.world.pxm(e),
radius: this.world.pxm(t)
});
return this.addShape(s, i, r, o)
},
addPolygon: function(e, t) {
e = e || {},
Array.isArray(t) || (t = Array.prototype.slice.call(arguments, 1));
var i = [];
if (1 === t.length && Array.isArray(t[0]))
i = t[0].slice(0);
else if (Array.isArray(t[0]))
i = t.slice();
else if ("number" == typeof t[0])
for (var r = 0, o = t.length; r < o; r += 2)
i.push([t[r], t[r + 1]]);
var s = i.length - 1;
i[s][0] === i[0][0] && i[s][1] === i[0][1] && i.pop();
for (var a = 0; a < i.length; a++)
i[a][0] = this.world.pxmi(i[a][0]),
i[a][1] = this.world.pxmi(i[a][1]);
var n = this.data.fromPolygon(i, e);
return this.shapeChanged(),
n
},
removeShape: function(e) {
var t = this.data.removeShape(e);
return this.shapeChanged(),
t
},
setCircle: function(e, t, i, r) {
return this.clearShapes(),
this.addCircle(e, t, i, r)
},
setRectangle: function(e, t, i, r, o) {
return void 0 === e && (e = 16),
void 0 === t && (t = 16),
this.clearShapes(),
this.addRectangle(e, t, i, r, o)
},
setRectangleFromSprite: function(e) {
return void 0 === e && (e = this.sprite),
this.clearShapes(),
this.addRectangle(e.width, e.height, 0, 0, e.rotation)
},
setMaterial: function(e, t) {
if (void 0 === t)
for (var i = this.data.shapes.length - 1; 0 <= i; i--)
this.data.shapes[i].material = e;
else
t.material = e
},
shapeChanged: function() {
this.debugBody && this.debugBody.draw()
},
addPhaserPolygon: function(e, t) {
for (var i = this.game.cache.getPhysicsData(e, t), r = [], o = 0; o < i.length; o++) {
var s = i[o]
, a = this.addFixture(s);
r[s.filter.group] = r[s.filter.group] || [],
r[s.filter.group] = r[s.filter.group].concat(a),
s.fixtureKey && (r[s.fixtureKey] = a)
}
return this.data.aabbNeedsUpdate = !0,
this.shapeChanged(),
r
},
addFixture: function(e) {
var t = [];
if (e.circle) {
(c = new p2.Circle({
radius: this.world.pxm(e.circle.radius)
})).collisionGroup = e.filter.categoryBits,
c.collisionMask = e.filter.maskBits,
c.sensor = e.isSensor;
var i = p2.vec2.create();
i[0] = this.world.pxmi(e.circle.position[0] - this.sprite.width / 2),
i[1] = this.world.pxmi(e.circle.position[1] - this.sprite.height / 2),
this.data.addShape(c, i),
t.push(c)
} else
for (var r = e.polygons, o = p2.vec2.create(), s = 0; s < r.length; s++) {
for (var a = r[s], n = [], h = 0; h < a.length; h += 2)
n.push([this.world.pxmi(a[h]), this.world.pxmi(a[h + 1])]);
for (var c = new p2.Convex({
vertices: n
}), l = 0; l !== c.vertices.length; l++) {
var m = c.vertices[l];
p2.vec2.sub(m, m, c.centerOfMass)
}
p2.vec2.scale(o, c.centerOfMass, 1),
o[0] -= this.world.pxmi(this.sprite.width / 2),
o[1] -= this.world.pxmi(this.sprite.height / 2),
c.updateTriangles(),
c.updateCenterOfMass(),
c.updateBoundingRadius(),
c.collisionGroup = e.filter.categoryBits,
c.collisionMask = e.filter.maskBits,
c.sensor = e.isSensor,
this.data.addShape(c, o),
t.push(c)
}
return t
},
loadPolygon: function(e, t) {
if (null === e)
var i = t;
else
i = this.game.cache.getPhysicsData(e, t);
for (var r = p2.vec2.create(), o = 0; o < i.length; o++) {
for (var s = [], a = 0; a < i[o].shape.length; a += 2)
s.push([this.world.pxmi(i[o].shape[a]), this.world.pxmi(i[o].shape[a + 1])]);
for (var n = new p2.Convex({
vertices: s
}), h = 0; h !== n.vertices.length; h++) {
var c = n.vertices[h];
p2.vec2.sub(c, c, n.centerOfMass)
}
p2.vec2.scale(r, n.centerOfMass, 1),
r[0] -= this.world.pxmi(this.sprite.width / 2),
r[1] -= this.world.pxmi(this.sprite.height / 2),
n.updateTriangles(),
n.updateCenterOfMass(),
n.updateBoundingRadius(),
this.data.addShape(n, r)
}
return this.data.aabbNeedsUpdate = !0,
this.shapeChanged(),
!0
}
},
W.Physics.P2.Body.prototype.constructor = W.Physics.P2.Body,
W.Physics.P2.Body.DYNAMIC = 1,
W.Physics.P2.Body.STATIC = 2,
W.Physics.P2.Body.KINEMATIC = 4,
Object.defineProperty(W.Physics.P2.Body.prototype, "static", {
get: function() {
return this.data.type === W.Physics.P2.Body.STATIC
},
set: function(e) {
e && this.data.type !== W.Physics.P2.Body.STATIC ? (this.data.type = W.Physics.P2.Body.STATIC,
this.mass = 0) : e || this.data.type !== W.Physics.P2.Body.STATIC || (this.data.type = W.Physics.P2.Body.DYNAMIC,
this.mass = 1)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "dynamic", {
get: function() {
return this.data.type === W.Physics.P2.Body.DYNAMIC
},
set: function(e) {
e && this.data.type !== W.Physics.P2.Body.DYNAMIC ? (this.data.type = W.Physics.P2.Body.DYNAMIC,
this.mass = 1) : e || this.data.type !== W.Physics.P2.Body.DYNAMIC || (this.data.type = W.Physics.P2.Body.STATIC,
this.mass = 0)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "kinematic", {
get: function() {
return this.data.type === W.Physics.P2.Body.KINEMATIC
},
set: function(e) {
e && this.data.type !== W.Physics.P2.Body.KINEMATIC ? (this.data.type = W.Physics.P2.Body.KINEMATIC,
this.mass = 4) : e || this.data.type !== W.Physics.P2.Body.KINEMATIC || (this.data.type = W.Physics.P2.Body.STATIC,
this.mass = 0)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "allowSleep", {
get: function() {
return this.data.allowSleep
},
set: function(e) {
e !== this.data.allowSleep && (this.data.allowSleep = e)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "angle", {
get: function() {
return W.Math.wrapAngle(W.Math.radToDeg(this.data.angle))
},
set: function(e) {
this.data.angle = W.Math.degToRad(W.Math.wrapAngle(e))
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "angularDamping", {
get: function() {
return this.data.angularDamping
},
set: function(e) {
this.data.angularDamping = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "angularForce", {
get: function() {
return this.data.angularForce
},
set: function(e) {
this.data.angularForce = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "angularVelocity", {
get: function() {
return this.data.angularVelocity
},
set: function(e) {
this.data.angularVelocity = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "damping", {
get: function() {
return this.data.damping
},
set: function(e) {
this.data.damping = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "fixedRotation", {
get: function() {
return this.data.fixedRotation
},
set: function(e) {
e !== this.data.fixedRotation && (this.data.fixedRotation = e)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "inertia", {
get: function() {
return this.data.inertia
},
set: function(e) {
this.data.inertia = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "mass", {
get: function() {
return this.data.mass
},
set: function(e) {
e !== this.data.mass && (this.data.mass = e,
this.data.updateMassProperties())
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "motionState", {
get: function() {
return this.data.type
},
set: function(e) {
e !== this.data.type && (this.data.type = e)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "rotation", {
get: function() {
return this.data.angle
},
set: function(e) {
this.data.angle = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "sleepSpeedLimit", {
get: function() {
return this.data.sleepSpeedLimit
},
set: function(e) {
this.data.sleepSpeedLimit = e
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "x", {
get: function() {
return this.world.mpxi(this.data.position[0])
},
set: function(e) {
this.data.position[0] = this.world.pxmi(e)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "y", {
get: function() {
return this.world.mpxi(this.data.position[1])
},
set: function(e) {
this.data.position[1] = this.world.pxmi(e)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "id", {
get: function() {
return this.data.id
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "debug", {
get: function() {
return null !== this.debugBody
},
set: function(e) {
e && !this.debugBody ? this.debugBody = new W.Physics.P2.BodyDebug(this.game,this.data) : !e && this.debugBody && (this.debugBody.destroy(),
this.debugBody = null)
}
}),
Object.defineProperty(W.Physics.P2.Body.prototype, "collideWorldBounds", {
get: function() {
return this._collideWorldBounds
},
set: function(e) {
e && !this._collideWorldBounds ? (this._collideWorldBounds = !0,
this.updateCollisionMask()) : !e && this._collideWorldBounds && (this._collideWorldBounds = !1,
this.updateCollisionMask())
}
}),
W.Physics.P2.BodyDebug = function(e, t, i) {
W.Group.call(this, e);
var r = {
pixelsPerLengthUnit: e.physics.p2.mpx(1),
debugPolygons: !1,
lineWidth: 1,
alpha: .5
};
this.settings = W.Utils.extend(r, i),
this.ppu = this.settings.pixelsPerLengthUnit,
this.ppu = -1 * this.ppu,
this.body = t,
this.canvas = new W.Graphics(e),
this.canvas.alpha = this.settings.alpha,
this.add(this.canvas),
this.draw(),
this.updateSpriteTransform()
}
,
W.Physics.P2.BodyDebug.prototype = Object.create(W.Group.prototype),
W.Physics.P2.BodyDebug.prototype.constructor = W.Physics.P2.BodyDebug,
W.Utils.extend(W.Physics.P2.BodyDebug.prototype, {
updateSpriteTransform: function() {
this.position.x = this.body.position[0] * this.ppu,
this.position.y = this.body.position[1] * this.ppu,
this.rotation = this.body.angle
},
draw: function() {
var e, t, i, r, o, s, a, n, h, c, l, m, u, d, p;
if (n = this.body,
(c = this.canvas).clear(),
i = parseInt(this.randomPastelHex(), 16),
s = 16711680,
a = this.lineWidth,
n instanceof p2.Body && n.shapes.length) {
var f = n.shapes.length;
for (r = 0; r !== f; ) {
if (h = (t = n.shapes[r]).position || 0,
e = t.angle || 0,
t instanceof p2.Circle)
this.drawCircle(c, h[0] * this.ppu, h[1] * this.ppu, e, t.radius * this.ppu, i, a);
else if (t instanceof p2.Capsule)
this.drawCapsule(c, h[0] * this.ppu, h[1] * this.ppu, e, t.length * this.ppu, t.radius * this.ppu, s, i, a);
else if (t instanceof p2.Plane)
this.drawPlane(c, h[0] * this.ppu, -h[1] * this.ppu, i, s, 5 * a, 10 * a, 10 * a, 100 * this.ppu, e);
else if (t instanceof p2.Line)
this.drawLine(c, t.length * this.ppu, s, a);
else if (t instanceof p2.Box)
this.drawRectangle(c, h[0] * this.ppu, h[1] * this.ppu, e, t.width * this.ppu, t.height * this.ppu, s, i, a);
else if (t instanceof p2.Convex) {
for (m = [],
u = p2.vec2.create(),
o = d = 0,
p = t.vertices.length; 0 <= p ? d < p : p < d; o = 0 <= p ? ++d : --d)
l = t.vertices[o],
p2.vec2.rotate(u, l, e),
m.push([(u[0] + h[0]) * this.ppu, -(u[1] + h[1]) * this.ppu]);
this.drawConvex(c, m, t.triangles, s, i, a, this.settings.debugPolygons, [h[0] * this.ppu, -h[1] * this.ppu])
}
r++
}
}
},
drawRectangle: function(e, t, i, r, o, s, a, n, h) {
void 0 === h && (h = 1),
void 0 === a && (a = 0),
e.lineStyle(h, a, 1),
e.beginFill(n),
e.drawRect(t - o / 2, i - s / 2, o, s)
},
drawCircle: function(e, t, i, r, o, s, a) {
void 0 === a && (a = 1),
void 0 === s && (s = 16777215),
e.lineStyle(a, 0, 1),
e.beginFill(s, 1),
e.drawCircle(t, i, 2 * -o),
e.endFill(),
e.moveTo(t, i),
e.lineTo(t + o * Math.cos(-r), i + o * Math.sin(-r))
},
drawLine: function(e, t, i, r) {
void 0 === r && (r = 1),
void 0 === i && (i = 0),
e.lineStyle(5 * r, i, 1),
e.moveTo(-t / 2, 0),
e.lineTo(t / 2, 0)
},
drawConvex: function(e, t, i, r, o, s, a, n) {
var h, c, l, m, u, d, p, f, y, S, w;
if (void 0 === s && (s = 1),
void 0 === r && (r = 0),
a) {
for (h = [16711680, 65280, 255],
c = 0; c !== t.length + 1; )
m = t[c % t.length],
u = t[(c + 1) % t.length],
p = m[0],
S = m[1],
f = u[0],
w = u[1],
e.lineStyle(s, h[c % h.length], 1),
e.moveTo(p, -S),
e.lineTo(f, -w),
e.drawCircle(p, -S, 2 * s),
c++;
return e.lineStyle(s, 0, 1),
e.drawCircle(n[0], n[1], 2 * s)
}
for (e.lineStyle(s, r, 1),
e.beginFill(o),
c = 0; c !== t.length; )
d = (l = t[c])[0],
y = l[1],
0 === c ? e.moveTo(d, -y) : e.lineTo(d, -y),
c++;
if (e.endFill(),
2 < t.length)
return e.moveTo(t[t.length - 1][0], -t[t.length - 1][1]),
e.lineTo(t[0][0], -t[0][1])
},
drawPath: function(e, t, i, r, o) {
var s, a, n, h, c, l, m, u, d, p, f;
for (void 0 === o && (o = 1),
void 0 === i && (i = 0),
e.lineStyle(o, i, 1),
"number" == typeof r && e.beginFill(r),
n = a = null,
s = 0; s < t.length; )
p = (d = t[s])[0],
f = d[1],
p === a && f === n || (0 === s ? e.moveTo(p, f) : (h = a,
c = n,
l = p,
m = f,
u = t[(s + 1) % t.length][0],
0 !== (l - h) * (t[(s + 1) % t.length][1] - c) - (u - h) * (m - c) && e.lineTo(p, f)),
a = p,
n = f),
s++;
"number" == typeof r && e.endFill(),
2 < t.length && "number" == typeof r && (e.moveTo(t[t.length - 1][0], t[t.length - 1][1]),
e.lineTo(t[0][0], t[0][1]))
},
drawPlane: function(e, t, i, r, o, s, a, n, h, c) {
var l, m;
void 0 === s && (s = 1),
void 0 === r && (r = 16777215),
e.lineStyle(s, o, 11),
e.beginFill(r),
e.moveTo(t, -i),
l = t + Math.cos(c) * this.game.width,
m = i + Math.sin(c) * this.game.height,
e.lineTo(l, -m),
e.moveTo(t, -i),
l = t + Math.cos(c) * -this.game.width,
m = i + Math.sin(c) * -this.game.height,
e.lineTo(l, -m)
},
drawCapsule: function(e, t, i, r, o, s, a, n, h) {
void 0 === h && (h = 1),
void 0 === a && (a = 0),
e.lineStyle(h, a, 1);
var c = Math.cos(r)
, l = Math.sin(r);
e.beginFill(n, 1),
e.drawCircle(-o / 2 * c + t, -o / 2 * l + i, 2 * -s),
e.drawCircle(o / 2 * c + t, o / 2 * l + i, 2 * -s),
e.endFill(),
e.lineStyle(h, a, 0),
e.beginFill(n, 1),
e.moveTo(-o / 2 * c + s * l + t, -o / 2 * l + s * c + i),
e.lineTo(o / 2 * c + s * l + t, o / 2 * l + s * c + i),
e.lineTo(o / 2 * c - s * l + t, o / 2 * l - s * c + i),
e.lineTo(-o / 2 * c - s * l + t, -o / 2 * l - s * c + i),
e.endFill(),
e.lineStyle(h, a, 1),
e.moveTo(-o / 2 * c + s * l + t, -o / 2 * l + s * c + i),
e.lineTo(o / 2 * c + s * l + t, o / 2 * l + s * c + i),
e.moveTo(-o / 2 * c - s * l + t, -o / 2 * l - s * c + i),
e.lineTo(o / 2 * c - s * l + t, o / 2 * l - s * c + i)
},
randomPastelHex: function() {
var e, t, i, r;
return i = [255, 255, 255],
r = Math.floor(256 * Math.random()),
t = Math.floor(256 * Math.random()),
e = Math.floor(256 * Math.random()),
r = Math.floor((r + 3 * i[0]) / 4),
t = Math.floor((t + 3 * i[1]) / 4),
e = Math.floor((e + 3 * i[2]) / 4),
this.rgbToHex(r, t, e)
},
rgbToHex: function(e, t, i) {
return this.componentToHex(e) + this.componentToHex(t) + this.componentToHex(i)
},
componentToHex: function(e) {
var t;
return 2 === (t = e.toString(16)).length ? t : t + "0"
}
}),
W.Physics.P2.Spring = function(e, t, i, r, o, s, a, n, h, c) {
this.game = e.game,
void 0 === r && (r = 1),
void 0 === o && (o = 100),
void 0 === s && (s = 1);
var l = {
restLength: r = (this.world = e).pxm(r),
stiffness: o,
damping: s
};
null != a && (l.worldAnchorA = [e.pxm(a[0]), e.pxm(a[1])]),
null != n && (l.worldAnchorB = [e.pxm(n[0]), e.pxm(n[1])]),
null != h && (l.localAnchorA = [e.pxm(h[0]), e.pxm(h[1])]),
null != c && (l.localAnchorB = [e.pxm(c[0]), e.pxm(c[1])]),
this.data = new p2.LinearSpring(t,i,l),
this.data.parent = this
}
,
W.Physics.P2.Spring.prototype.constructor = W.Physics.P2.Spring,
W.Physics.P2.RotationalSpring = function(e, t, i, r, o, s) {
this.game = e.game,
this.world = e,
void 0 === r && (r = null),
void 0 === o && (o = 100),
void 0 === s && (s = 1),
r && (r = e.pxm(r));
var a = {
restAngle: r,
stiffness: o,
damping: s
};
this.data = new p2.RotationalSpring(t,i,a),
this.data.parent = this
}
,
W.Physics.P2.Spring.prototype.constructor = W.Physics.P2.Spring,
W.Physics.P2.Material = function(e) {
this.name = e,
p2.Material.call(this)
}
,
W.Physics.P2.Material.prototype = Object.create(p2.Material.prototype),
W.Physics.P2.Material.prototype.constructor = W.Physics.P2.Material,
W.Physics.P2.ContactMaterial = function(e, t, i) {
p2.ContactMaterial.call(this, e, t, i)
}
,
W.Physics.P2.ContactMaterial.prototype = Object.create(p2.ContactMaterial.prototype),
W.Physics.P2.ContactMaterial.prototype.constructor = W.Physics.P2.ContactMaterial,
W.Physics.P2.CollisionGroup = function(e) {
this.mask = e
}
,
W.Physics.P2.DistanceConstraint = function(e, t, i, r, o, s, a) {
void 0 === r && (r = 100),
void 0 === o && (o = [0, 0]),
void 0 === s && (s = [0, 0]),
void 0 === a && (a = Number.MAX_VALUE),
this.game = e.game;
var n = {
distance: r = (this.world = e).pxm(r),
localAnchorA: o = [e.pxmi(o[0]), e.pxmi(o[1])],
localAnchorB: s = [e.pxmi(s[0]), e.pxmi(s[1])],
maxForce: a
};
p2.DistanceConstraint.call(this, t, i, n)
}
,
W.Physics.P2.DistanceConstraint.prototype = Object.create(p2.DistanceConstraint.prototype),
W.Physics.P2.DistanceConstraint.prototype.constructor = W.Physics.P2.DistanceConstraint,
W.Physics.P2.GearConstraint = function(e, t, i, r, o) {
void 0 === r && (r = 0),
void 0 === o && (o = 1),
this.game = e.game,
this.world = e;
var s = {
angle: r,
ratio: o
};
p2.GearConstraint.call(this, t, i, s)
}
,
W.Physics.P2.GearConstraint.prototype = Object.create(p2.GearConstraint.prototype),
W.Physics.P2.GearConstraint.prototype.constructor = W.Physics.P2.GearConstraint,
W.Physics.P2.LockConstraint = function(e, t, i, r, o, s) {
void 0 === r && (r = [0, 0]),
void 0 === o && (o = 0),
void 0 === s && (s = Number.MAX_VALUE),
this.game = e.game;
var a = {
localOffsetB: r = [(this.world = e).pxm(r[0]), e.pxm(r[1])],
localAngleB: o,
maxForce: s
};
p2.LockConstraint.call(this, t, i, a)
}
,
W.Physics.P2.LockConstraint.prototype = Object.create(p2.LockConstraint.prototype),
W.Physics.P2.LockConstraint.prototype.constructor = W.Physics.P2.LockConstraint,
W.Physics.P2.PrismaticConstraint = function(e, t, i, r, o, s, a, n) {
void 0 === r && (r = !0),
void 0 === o && (o = [0, 0]),
void 0 === s && (s = [0, 0]),
void 0 === a && (a = [0, 0]),
void 0 === n && (n = Number.MAX_VALUE),
this.game = e.game;
var h = {
localAnchorA: o = [(this.world = e).pxmi(o[0]), e.pxmi(o[1])],
localAnchorB: s = [e.pxmi(s[0]), e.pxmi(s[1])],
localAxisA: a,
maxForce: n,
disableRotationalLock: !r
};
p2.PrismaticConstraint.call(this, t, i, h)
}
,
W.Physics.P2.PrismaticConstraint.prototype = Object.create(p2.PrismaticConstraint.prototype),
W.Physics.P2.PrismaticConstraint.prototype.constructor = W.Physics.P2.PrismaticConstraint,
W.Physics.P2.RevoluteConstraint = function(e, t, i, r, o, s, a) {
void 0 === s && (s = Number.MAX_VALUE),
void 0 === a && (a = null),
this.game = e.game,
i = [(this.world = e).pxmi(i[0]), e.pxmi(i[1])],
o = [e.pxmi(o[0]), e.pxmi(o[1])],
a && (a = [e.pxmi(a[0]), e.pxmi(a[1])]);
var n = {
worldPivot: a,
localPivotA: i,
localPivotB: o,
maxForce: s
};
p2.RevoluteConstraint.call(this, t, r, n)
}
,
W.Physics.P2.RevoluteConstraint.prototype = Object.create(p2.RevoluteConstraint.prototype),
W.Physics.P2.RevoluteConstraint.prototype.constructor = W.Physics.P2.RevoluteConstraint,
W.ImageCollection = function(e, t, i, r, o, s, a) {
(void 0 === i || i <= 0) && (i = 32),
(void 0 === r || r <= 0) && (r = 32),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
this.name = e,
this.firstgid = 0 | t,
this.imageWidth = 0 | i,
this.imageHeight = 0 | r,
this.imageMargin = 0 | o,
this.imageSpacing = 0 | s,
this.properties = a || {},
this.images = [],
this.total = 0
}
,
W.ImageCollection.prototype = {
containsImageIndex: function(e) {
return e >= this.firstgid && e < this.firstgid + this.total
},
addImage: function(e, t) {
this.images.push({
gid: e,
image: t
}),
this.total++
}
},
W.ImageCollection.prototype.constructor = W.ImageCollection,
W.Tile = function(e, t, i, r, o, s) {
this.layer = e,
this.index = t,
this.x = i,
this.y = r,
this.rotation = 0,
this.flipped = !1,
this.worldX = i * o,
this.worldY = r * s,
this.width = o,
this.height = s,
this.centerX = Math.abs(o / 2),
this.centerY = Math.abs(s / 2),
this.alpha = 1,
this.properties = {},
this.scanned = !1,
this.faceTop = !1,
this.faceBottom = !1,
this.faceLeft = !1,
this.faceRight = !1,
this.collideLeft = !1,
this.collideRight = !1,
this.collideUp = !1,
this.collideDown = !1,
this.collisionCallback = null,
this.collisionCallbackContext = this
}
,
W.Tile.prototype = {
containsPoint: function(e, t) {
return !(e < this.worldX || t < this.worldY || e > this.right || t > this.bottom)
},
intersects: function(e, t, i, r) {
return !(i <= this.worldX) && (!(r <= this.worldY) && (!(e >= this.worldX + this.width) && !(t >= this.worldY + this.height)))
},
setCollisionCallback: function(e, t) {
this.collisionCallback = e,
this.collisionCallbackContext = t
},
destroy: function() {
this.collisionCallback = null,
this.collisionCallbackContext = null,
this.properties = null
},
setCollision: function(e, t, i, r) {
this.collideLeft = e,
this.collideRight = t,
this.collideUp = i,
this.collideDown = r,
this.faceLeft = e,
this.faceRight = t,
this.faceTop = i,
this.faceBottom = r
},
resetCollision: function() {
this.collideLeft = !1,
this.collideRight = !1,
this.collideUp = !1,
this.collideDown = !1,
this.faceTop = !1,
this.faceBottom = !1,
this.faceLeft = !1,
this.faceRight = !1
},
isInteresting: function(e, t) {
return e && t ? this.collideLeft || this.collideRight || this.collideUp || this.collideDown || this.faceTop || this.faceBottom || this.faceLeft || this.faceRight || this.collisionCallback : e ? this.collideLeft || this.collideRight || this.collideUp || this.collideDown : !!t && (this.faceTop || this.faceBottom || this.faceLeft || this.faceRight)
},
copy: function(e) {
this.index = e.index,
this.alpha = e.alpha,
this.properties = e.properties,
this.collideUp = e.collideUp,
this.collideDown = e.collideDown,
this.collideLeft = e.collideLeft,
this.collideRight = e.collideRight,
this.collisionCallback = e.collisionCallback,
this.collisionCallbackContext = e.collisionCallbackContext
}
},
W.Tile.prototype.constructor = W.Tile,
Object.defineProperty(W.Tile.prototype, "collides", {
get: function() {
return this.collideLeft || this.collideRight || this.collideUp || this.collideDown
}
}),
Object.defineProperty(W.Tile.prototype, "canCollide", {
get: function() {
return this.collideLeft || this.collideRight || this.collideUp || this.collideDown || this.collisionCallback
}
}),
Object.defineProperty(W.Tile.prototype, "left", {
get: function() {
return this.worldX
}
}),
Object.defineProperty(W.Tile.prototype, "right", {
get: function() {
return this.worldX + this.width
}
}),
Object.defineProperty(W.Tile.prototype, "top", {
get: function() {
return this.worldY
}
}),
Object.defineProperty(W.Tile.prototype, "bottom", {
get: function() {
return this.worldY + this.height
}
}),
W.Tilemap = function(e, t, i, r, o, s) {
this.game = e,
this.key = t;
var a = W.TilemapParser.parse(this.game, t, i, r, o, s);
null !== a && (this.width = a.width,
this.height = a.height,
this.tileWidth = a.tileWidth,
this.tileHeight = a.tileHeight,
this.orientation = a.orientation,
this.format = a.format,
this.version = a.version,
this.properties = a.properties,
this.widthInPixels = a.widthInPixels,
this.heightInPixels = a.heightInPixels,
this.layers = a.layers,
this.tilesets = a.tilesets,
this.imagecollections = a.imagecollections,
this.tiles = a.tiles,
this.objects = a.objects,
this.collideIndexes = [],
this.collision = a.collision,
this.images = a.images,
this.enableDebug = !1,
this.currentLayer = 0,
this.debugMap = [],
this._results = [],
this._tempA = 0,
this._tempB = 0)
}
,
W.Tilemap.CSV = 0,
W.Tilemap.TILED_JSON = 1,
W.Tilemap.NORTH = 0,
W.Tilemap.EAST = 1,
W.Tilemap.SOUTH = 2,
W.Tilemap.WEST = 3,
W.Tilemap.prototype = {
create: function(e, t, i, r, o, s) {
return void 0 === s && (s = this.game.world),
this.width = t,
this.height = i,
this.setTileSize(r, o),
this.layers.length = 0,
this.createBlankLayer(e, t, i, r, o, s)
},
setTileSize: function(e, t) {
this.tileWidth = e,
this.tileHeight = t,
this.widthInPixels = this.width * e,
this.heightInPixels = this.height * t
},
addTilesetImage: function(e, t, i, r, o, s, a) {
if (void 0 === e)
return null;
void 0 === i && (i = this.tileWidth),
void 0 === r && (r = this.tileHeight),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
void 0 === a && (a = 0),
0 === i && (i = 32),
0 === r && (r = 32);
var n = null;
if (null == t && (t = e),
t instanceof W.BitmapData)
n = t.canvas;
else {
if (!this.game.cache.checkImageKey(t))
return null;
n = this.game.cache.getImage(t)
}
var h = this.getTilesetIndex(e);
if (null === h && this.format === W.Tilemap.TILED_JSON)
return null;
if (this.tilesets[h])
return this.tilesets[h].setImage(n),
this.tilesets[h];
var c = new W.Tileset(e,a,i,r,o,s,{});
c.setImage(n),
this.tilesets.push(c);
for (var l = this.tilesets.length - 1, m = o, u = o, d = 0, p = 0, f = 0, y = a; y < a + c.total && (this.tiles[y] = [m, u, l],
m += i + s,
++d !== c.total) && (++p !== c.columns || (m = o,
u += r + s,
p = 0,
++f !== c.rows)); y++)
;
return c
},
createFromObjects: function(e, t, i, r, o, s, a, n, h) {
if (void 0 === o && (o = !0),
void 0 === s && (s = !1),
void 0 === a && (a = this.game.world),
void 0 === n && (n = W.Sprite),
void 0 === h && (h = !0),
this.objects[e])
for (var c = 0; c < this.objects[e].length; c++) {
var l = !1
, m = this.objects[e][c];
if (void 0 !== m.gid && "number" == typeof t && m.gid === t ? l = !0 : void 0 !== m.id && "number" == typeof t && m.id === t ? l = !0 : void 0 !== m.name && "string" == typeof t && m.name === t && (l = !0),
l) {
var u = new n(this.game,parseFloat(m.x, 10),parseFloat(m.y, 10),i,r);
for (var d in u.name = m.name,
u.visible = m.visible,
u.autoCull = s,
u.exists = o,
m.width && (u.width = m.width),
m.height && (u.height = m.height),
m.rotation && (u.angle = m.rotation),
h && (u.y -= u.height),
a.add(u),
m.properties)
a.set(u, d, m.properties[d], !1, !1, 0, !0)
}
}
},
createFromTiles: function(e, t, i, r, o, s) {
"number" == typeof e && (e = [e]),
null == t ? t = [] : "number" == typeof t && (t = [t]),
r = this.getLayer(r),
void 0 === o && (o = this.game.world),
void 0 === s && (s = {}),
void 0 === s.customClass && (s.customClass = W.Sprite),
void 0 === s.adjustY && (s.adjustY = !0);
var a = this.layers[r].width
, n = this.layers[r].height;
if (this.copy(0, 0, a, n, r),
this._results.length < 2)
return 0;
for (var h, c = 0, l = 1, m = this._results.length; l < m; l++)
if (-1 !== e.indexOf(this._results[l].index)) {
for (var u in h = new s.customClass(this.game,this._results[l].worldX,this._results[l].worldY,i),
s)
h[u] = s[u];
o.add(h),
c++
}
if (1 === t.length)
for (l = 0; l < e.length; l++)
this.replace(e[l], t[0], 0, 0, a, n, r);
else if (1 < t.length)
for (l = 0; l < e.length; l++)
this.replace(e[l], t[l], 0, 0, a, n, r);
return c
},
createLayer: function(e, t, i, r) {
void 0 === t && (t = this.game.width),
void 0 === i && (i = this.game.height),
void 0 === r && (r = this.game.world);
var o = e;
if ("string" == typeof e && (o = this.getLayerIndex(e)),
!(null === o || o > this.layers.length)) {
void 0 === t || t <= 0 ? t = Math.min(this.game.width, this.layers[o].widthInPixels) : t > this.game.width && (t = this.game.width),
void 0 === i || i <= 0 ? i = Math.min(this.game.height, this.layers[o].heightInPixels) : i > this.game.height && (i = this.game.height),
this.enableDebug;
var s = r.add(new W.TilemapLayer(this.game,this,o,t,i));
return this.enableDebug,
s
}
},
createBlankLayer: function(e, t, i, r, o, s) {
if (void 0 === s && (s = this.game.world),
null === this.getLayerIndex(e)) {
for (var a, n = {
name: e,
x: 0,
y: 0,
width: t,
height: i,
widthInPixels: t * r,
heightInPixels: i * o,
alpha: 1,
visible: !0,
properties: {},
indexes: [],
callbacks: [],
bodies: [],
data: null
}, h = [], c = 0; c < i; c++) {
a = [];
for (var l = 0; l < t; l++)
a.push(new W.Tile(n,-1,l,c,r,o));
h.push(a)
}
n.data = h,
this.layers.push(n),
this.currentLayer = this.layers.length - 1;
var m = n.widthInPixels
, u = n.heightInPixels;
return m > this.game.width && (m = this.game.width),
u > this.game.height && (u = this.game.height),
(h = new W.TilemapLayer(this.game,this,this.layers.length - 1,m,u)).name = e,
s.add(h)
}
},
getIndex: function(e, t) {
for (var i = 0; i < e.length; i++)
if (e[i].name === t)
return i;
return null
},
getLayerIndex: function(e) {
return this.getIndex(this.layers, e)
},
getTilesetIndex: function(e) {
return this.getIndex(this.tilesets, e)
},
getImageIndex: function(e) {
return this.getIndex(this.images, e)
},
setTileIndexCallback: function(e, t, i, r) {
if (r = this.getLayer(r),
"number" == typeof e)
this.layers[r].callbacks[e] = {
callback: t,
callbackContext: i
};
else
for (var o = 0, s = e.length; o < s; o++)
this.layers[r].callbacks[e[o]] = {
callback: t,
callbackContext: i
}
},
setTileLocationCallback: function(e, t, i, r, o, s, a) {
if (a = this.getLayer(a),
this.copy(e, t, i, r, a),
!(this._results.length < 2))
for (var n = 1; n < this._results.length; n++)
this._results[n].setCollisionCallback(o, s)
},
setCollision: function(e, t, i, r) {
if (void 0 === t && (t = !0),
void 0 === r && (r = !0),
i = this.getLayer(i),
"number" == typeof e)
return this.setCollisionByIndex(e, t, i, !0);
if (Array.isArray(e)) {
for (var o = 0; o < e.length; o++)
this.setCollisionByIndex(e[o], t, i, !1);
r && this.calculateFaces(i)
}
},
setCollisionBetween: function(e, t, i, r, o) {
if (void 0 === i && (i = !0),
void 0 === o && (o = !0),
r = this.getLayer(r),
!(t < e)) {
for (var s = e; s <= t; s++)
this.setCollisionByIndex(s, i, r, !1);
o && this.calculateFaces(r)
}
},
setCollisionByExclusion: function(e, t, i, r) {
void 0 === t && (t = !0),
void 0 === r && (r = !0),
i = this.getLayer(i);
for (var o = 0, s = this.tiles.length; o < s; o++)
-1 === e.indexOf(o) && this.setCollisionByIndex(o, t, i, !1);
r && this.calculateFaces(i)
},
setCollisionByIndex: function(e, t, i, r) {
if (void 0 === t && (t = !0),
void 0 === i && (i = this.currentLayer),
void 0 === r && (r = !0),
t)
this.collideIndexes.push(e);
else {
var o = this.collideIndexes.indexOf(e);
-1 < o && this.collideIndexes.splice(o, 1)
}
for (var s = 0; s < this.layers[i].height; s++)
for (var a = 0; a < this.layers[i].width; a++) {
var n = this.layers[i].data[s][a];
n && n.index === e && (t ? n.setCollision(!0, !0, !0, !0) : n.resetCollision(),
n.faceTop = t,
n.faceBottom = t,
n.faceLeft = t,
n.faceRight = t)
}
return r && this.calculateFaces(i),
i
},
getLayer: function(e) {
return void 0 === e ? e = this.currentLayer : "string" == typeof e ? e = this.getLayerIndex(e) : e instanceof W.TilemapLayer && (e = e.index),
e
},
setPreventRecalculate: function(e) {
if (!0 === e && !0 !== this.preventingRecalculate && (this.preventingRecalculate = !0,
this.needToRecalculate = {}),
!1 === e && !0 === this.preventingRecalculate) {
for (var t in this.preventingRecalculate = !1,
this.needToRecalculate)
this.calculateFaces(t);
this.needToRecalculate = !1
}
},
calculateFaces: function(e) {
if (this.preventingRecalculate)
this.needToRecalculate[e] = !0;
else
for (var t = null, i = null, r = null, o = null, s = 0, a = this.layers[e].height; s < a; s++)
for (var n = 0, h = this.layers[e].width; n < h; n++) {
var c = this.layers[e].data[s][n];
c && (t = this.getTileAbove(e, n, s),
i = this.getTileBelow(e, n, s),
r = this.getTileLeft(e, n, s),
o = this.getTileRight(e, n, s),
c.collides && (c.faceTop = !0,
c.faceBottom = !0,
c.faceLeft = !0,
c.faceRight = !0),
t && t.collides && (c.faceTop = !1),
i && i.collides && (c.faceBottom = !1),
r && r.collides && (c.faceLeft = !1),
o && o.collides && (c.faceRight = !1))
}
},
getTileAbove: function(e, t, i) {
return 0 < i ? this.layers[e].data[i - 1][t] : null
},
getTileBelow: function(e, t, i) {
return i < this.layers[e].height - 1 ? this.layers[e].data[i + 1][t] : null
},
getTileLeft: function(e, t, i) {
return 0 < t ? this.layers[e].data[i][t - 1] : null
},
getTileRight: function(e, t, i) {
return t < this.layers[e].width - 1 ? this.layers[e].data[i][t + 1] : null
},
setLayer: function(e) {
e = this.getLayer(e),
this.layers[e] && (this.currentLayer = e)
},
hasTile: function(e, t, i) {
return i = this.getLayer(i),
void 0 !== this.layers[i].data[t] && void 0 !== this.layers[i].data[t][e] && -1 < this.layers[i].data[t][e].index
},
removeTile: function(e, t, i) {
if (i = this.getLayer(i),
0 <= e && e < this.layers[i].width && 0 <= t && t < this.layers[i].height && this.hasTile(e, t, i)) {
var r = this.layers[i].data[t][e];
return this.layers[i].data[t][e] = new W.Tile(this.layers[i],-1,e,t,this.tileWidth,this.tileHeight),
this.layers[i].dirty = !0,
this.calculateFaces(i),
r
}
},
removeTileWorldXY: function(e, t, i, r, o) {
return o = this.getLayer(o),
e = this.game.math.snapToFloor(e, i) / i,
t = this.game.math.snapToFloor(t, r) / r,
this.removeTile(e, t, o)
},
putTile: function(e, t, i, r) {
return null === e ? this.removeTile(t, i, r) : (r = this.getLayer(r),
0 <= t && t < this.layers[r].width && 0 <= i && i < this.layers[r].height ? (e instanceof W.Tile ? (o = e.index,
this.hasTile(t, i, r) ? this.layers[r].data[i][t].copy(e) : this.layers[r].data[i][t] = new W.Tile(r,o,t,i,e.width,e.height)) : (o = e,
this.hasTile(t, i, r) ? this.layers[r].data[i][t].index = o : this.layers[r].data[i][t] = new W.Tile(this.layers[r],o,t,i,this.tileWidth,this.tileHeight)),
-1 < this.collideIndexes.indexOf(o) ? this.layers[r].data[i][t].setCollision(!0, !0, !0, !0) : this.layers[r].data[i][t].resetCollision(),
this.layers[r].dirty = !0,
this.calculateFaces(r),
this.layers[r].data[i][t]) : null);
var o
},
putTileWorldXY: function(e, t, i, r, o, s) {
return s = this.getLayer(s),
t = this.game.math.snapToFloor(t, r) / r,
i = this.game.math.snapToFloor(i, o) / o,
this.putTile(e, t, i, s)
},
searchTileIndex: function(e, t, i, r) {
void 0 === t && (t = 0),
void 0 === i && (i = !1),
r = this.getLayer(r);
var o = 0;
if (i) {
for (var s = this.layers[r].height - 1; 0 <= s; s--)
for (var a = this.layers[r].width - 1; 0 <= a; a--)
if (this.layers[r].data[s][a].index === e) {
if (o === t)
return this.layers[r].data[s][a];
o++
}
} else
for (s = 0; s < this.layers[r].height; s++)
for (a = 0; a < this.layers[r].width; a++)
if (this.layers[r].data[s][a].index === e) {
if (o === t)
return this.layers[r].data[s][a];
o++
}
return null
},
getTile: function(e, t, i, r) {
return void 0 === r && (r = !1),
i = this.getLayer(i),
0 <= e && e < this.layers[i].width && 0 <= t && t < this.layers[i].height ? -1 === this.layers[i].data[t][e].index ? r ? this.layers[i].data[t][e] : null : this.layers[i].data[t][e] : null
},
getTileWorldXY: function(e, t, i, r, o, s) {
return void 0 === i && (i = this.tileWidth),
void 0 === r && (r = this.tileHeight),
o = this.getLayer(o),
e = this.game.math.snapToFloor(e, i) / i,
t = this.game.math.snapToFloor(t, r) / r,
this.getTile(e, t, o, s)
},
copy: function(e, t, i, r, o) {
if (o = this.getLayer(o),
this.layers[o]) {
void 0 === e && (e = 0),
void 0 === t && (t = 0),
void 0 === i && (i = this.layers[o].width),
void 0 === r && (r = this.layers[o].height),
e < 0 && (e = 0),
t < 0 && (t = 0),
i > this.layers[o].width && (i = this.layers[o].width),
r > this.layers[o].height && (r = this.layers[o].height),
this._results.length = 0,
this._results.push({
x: e,
y: t,
width: i,
height: r,
layer: o
});
for (var s = t; s < t + r; s++)
for (var a = e; a < e + i; a++)
this._results.push(this.layers[o].data[s][a]);
return this._results
}
this._results.length = 0
},
paste: function(e, t, i, r) {
if (void 0 === e && (e = 0),
void 0 === t && (t = 0),
r = this.getLayer(r),
i && !(i.length < 2)) {
for (var o = e - i[1].x, s = t - i[1].y, a = 1; a < i.length; a++)
this.layers[r].data[s + i[a].y][o + i[a].x].copy(i[a]);
this.layers[r].dirty = !0,
this.calculateFaces(r)
}
},
swap: function(e, t, i, r, o, s, a) {
a = this.getLayer(a),
this.copy(i, r, o, s, a),
this._results.length < 2 || (this._tempA = e,
this._tempB = t,
this._results.forEach(this.swapHandler, this),
this.paste(i, r, this._results, a))
},
swapHandler: function(e) {
e.index === this._tempA ? e.index = this._tempB : e.index === this._tempB && (e.index = this._tempA)
},
forEach: function(e, t, i, r, o, s, a) {
a = this.getLayer(a),
this.copy(i, r, o, s, a),
this._results.length < 2 || (this._results.forEach(e, t),
this.paste(i, r, this._results, a))
},
replace: function(e, t, i, r, o, s, a) {
if (a = this.getLayer(a),
this.copy(i, r, o, s, a),
!(this._results.length < 2)) {
for (var n = 1; n < this._results.length; n++)
this._results[n].index === e && (this._results[n].index = t);
this.paste(i, r, this._results, a)
}
},
random: function(e, t, i, r, o) {
if (o = this.getLayer(o),
this.copy(e, t, i, r, o),
!(this._results.length < 2)) {
for (var s = [], a = 1; a < this._results.length; a++)
if (this._results[a].index) {
var n = this._results[a].index;
-1 === s.indexOf(n) && s.push(n)
}
for (var h = 1; h < this._results.length; h++)
this._results[h].index = this.game.rnd.pick(s);
this.paste(e, t, this._results, o)
}
},
shuffle: function(e, t, i, r, o) {
if (o = this.getLayer(o),
this.copy(e, t, i, r, o),
!(this._results.length < 2)) {
for (var s = [], a = 1; a < this._results.length; a++)
this._results[a].index && s.push(this._results[a].index);
W.ArrayUtils.shuffle(s);
for (var n = 1; n < this._results.length; n++)
this._results[n].index = s[n - 1];
this.paste(e, t, this._results, o)
}
},
fill: function(e, t, i, r, o, s) {
if (s = this.getLayer(s),
this.copy(t, i, r, o, s),
!(this._results.length < 2)) {
for (var a = 1; a < this._results.length; a++)
this._results[a].index = e;
this.paste(t, i, this._results, s)
}
},
removeAllLayers: function() {
this.layers.length = 0,
this.currentLayer = 0
},
dump: function() {
for (var e = "", t = [""], i = 0; i < this.layers[this.currentLayer].height; i++) {
for (var r = 0; r < this.layers[this.currentLayer].width; r++)
e += "%c ",
1 < this.layers[this.currentLayer].data[i][r] ? this.debugMap[this.layers[this.currentLayer].data[i][r]] ? t.push("background: " + this.debugMap[this.layers[this.currentLayer].data[i][r]]) : t.push("background: #ffffff") : t.push("background: rgb(0, 0, 0)");
e += "\n"
}
t[0] = e
},
destroy: function() {
this.removeAllLayers(),
this.data = [],
this.game = null
}
},
W.Tilemap.prototype.constructor = W.Tilemap,
Object.defineProperty(W.Tilemap.prototype, "layer", {
get: function() {
return this.layers[this.currentLayer]
},
set: function(e) {
e !== this.currentLayer && this.setLayer(e)
}
}),
W.TilemapLayer = function(e, t, i, r, o) {
r |= 0,
o |= 0,
W.Sprite.call(this, e, 0, 0),
this.map = t,
this.index = i,
this.layer = t.layers[i],
this.canvas = PIXI.CanvasPool.create(this, r, o),
this.context = this.canvas.getContext("2d"),
this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas))),
this.type = W.TILEMAPLAYER,
this.physicsType = W.TILEMAPLAYER,
this.renderSettings = {
enableScrollDelta: !1,
overdrawRatio: .2,
copyCanvas: null
},
this.debug = !1,
this.exists = !0,
this.debugSettings = {
missingImageFill: "rgb(255,255,255)",
debuggedTileOverfill: "rgba(0,255,0,0.4)",
forceFullRedraw: !0,
debugAlpha: .5,
facingEdgeStroke: "rgba(0,255,0,1)",
collidingTileOverfill: "rgba(0,255,0,0.2)"
},
this.scrollFactorX = 1,
this.scrollFactorY = 1,
this.dirty = !0,
this.rayStepRate = 4,
this._wrap = !1,
this._mc = {
scrollX: 0,
scrollY: 0,
renderWidth: 0,
renderHeight: 0,
tileWidth: t.tileWidth,
tileHeight: t.tileHeight,
cw: t.tileWidth,
ch: t.tileHeight,
tilesets: []
},
this._scrollX = 0,
this._scrollY = 0,
this._results = [],
e.device.canvasBitBltShift || (this.renderSettings.copyCanvas = W.TilemapLayer.ensureSharedCopyCanvas()),
this.fixedToCamera = !0
}
,
W.TilemapLayer.prototype = Object.create(W.Sprite.prototype),
W.TilemapLayer.prototype.constructor = W.TilemapLayer,
W.TilemapLayer.prototype.preUpdateCore = W.Component.Core.preUpdate,
W.TilemapLayer.sharedCopyCanvas = null,
W.TilemapLayer.ensureSharedCopyCanvas = function() {
return this.sharedCopyCanvas || (this.sharedCopyCanvas = PIXI.CanvasPool.create(this, 2, 2)),
this.sharedCopyCanvas
}
,
W.TilemapLayer.prototype.preUpdate = function() {
return this.preUpdateCore()
}
,
W.TilemapLayer.prototype.postUpdate = function() {
this.fixedToCamera && (this.position.x = (this.game.camera.view.x + this.cameraOffset.x) / this.game.camera.scale.x,
this.position.y = (this.game.camera.view.y + this.cameraOffset.y) / this.game.camera.scale.y),
this._scrollX = this.game.camera.view.x * this.scrollFactorX / this.scale.x,
this._scrollY = this.game.camera.view.y * this.scrollFactorY / this.scale.y
}
,
W.TilemapLayer.prototype._renderCanvas = function(e) {
this.fixedToCamera && (this.position.x = (this.game.camera.view.x + this.cameraOffset.x) / this.game.camera.scale.x,
this.position.y = (this.game.camera.view.y + this.cameraOffset.y) / this.game.camera.scale.y),
this._scrollX = this.game.camera.view.x * this.scrollFactorX / this.scale.x,
this._scrollY = this.game.camera.view.y * this.scrollFactorY / this.scale.y,
this.render(),
PIXI.Sprite.prototype._renderCanvas.call(this, e)
}
,
W.TilemapLayer.prototype._renderWebGL = function(e) {
this.fixedToCamera && (this.position.x = (this.game.camera.view.x + this.cameraOffset.x) / this.game.camera.scale.x,
this.position.y = (this.game.camera.view.y + this.cameraOffset.y) / this.game.camera.scale.y),
this._scrollX = this.game.camera.view.x * this.scrollFactorX / this.scale.x,
this._scrollY = this.game.camera.view.y * this.scrollFactorY / this.scale.y,
this.render(),
PIXI.Sprite.prototype._renderWebGL.call(this, e)
}
,
W.TilemapLayer.prototype.destroy = function() {
PIXI.CanvasPool.remove(this),
W.Component.Destroy.prototype.destroy.call(this)
}
,
W.TilemapLayer.prototype.resize = function(e, t) {
this.canvas.width = e,
this.canvas.height = t,
this.texture.frame.resize(e, t),
this.texture.width = e,
this.texture.height = t,
this.texture.crop.width = e,
this.texture.crop.height = t,
this.texture.baseTexture.width = e,
this.texture.baseTexture.height = t,
this.texture.baseTexture.dirty(),
this.texture.requiresUpdate = !0,
this.texture._updateUvs(),
this.dirty = !0
}
,
W.TilemapLayer.prototype.resizeWorld = function() {
this.game.world.setBounds(0, 0, this.layer.widthInPixels * this.scale.x, this.layer.heightInPixels * this.scale.y)
}
,
W.TilemapLayer.prototype._fixX = function(e) {
return 1 === this.scrollFactorX || 0 === this.scrollFactorX && 0 === this.position.x ? e : 0 === this.scrollFactorX && 0 !== this.position.x ? e - this.position.x : this._scrollX + (e - this._scrollX / this.scrollFactorX)
}
,
W.TilemapLayer.prototype._unfixX = function(e) {
return 1 === this.scrollFactorX ? e : this._scrollX / this.scrollFactorX + (e - this._scrollX)
}
,
W.TilemapLayer.prototype._fixY = function(e) {
return 1 === this.scrollFactorY || 0 === this.scrollFactorY && 0 === this.position.y ? e : 0 === this.scrollFactorY && 0 !== this.position.y ? e - this.position.y : this._scrollY + (e - this._scrollY / this.scrollFactorY)
}
,
W.TilemapLayer.prototype._unfixY = function(e) {
return 1 === this.scrollFactorY ? e : this._scrollY / this.scrollFactorY + (e - this._scrollY)
}
,
W.TilemapLayer.prototype.getTileX = function(e) {
return Math.floor(this._fixX(e) / this._mc.tileWidth)
}
,
W.TilemapLayer.prototype.getTileY = function(e) {
return Math.floor(this._fixY(e) / this._mc.tileHeight)
}
,
W.TilemapLayer.prototype.getTileXY = function(e, t, i) {
return i.x = this.getTileX(e),
i.y = this.getTileY(t),
i
}
,
W.TilemapLayer.prototype.getRayCastTiles = function(e, t, i, r) {
t || (t = this.rayStepRate),
void 0 === i && (i = !1),
void 0 === r && (r = !1);
var o = this.getTiles(e.x, e.y, e.width, e.height, i, r);
if (0 === o.length)
return [];
for (var s = e.coordinatesOnLine(t), a = [], n = 0; n < o.length; n++)
for (var h = 0; h < s.length; h++) {
var c = o[n]
, l = s[h];
if (c.containsPoint(l[0], l[1])) {
a.push(c);
break
}
}
return a
}
,
W.TilemapLayer.prototype.getTiles = function(e, t, i, r, o, s) {
void 0 === o && (o = !1),
void 0 === s && (s = !1);
var a = !(o || s);
e = this._fixX(e),
t = this._fixY(t);
for (var n = Math.floor(e / (this._mc.cw * this.scale.x)), h = Math.floor(t / (this._mc.ch * this.scale.y)), c = Math.ceil((e + i) / (this._mc.cw * this.scale.x)) - n, l = Math.ceil((t + r) / (this._mc.ch * this.scale.y)) - h; this._results.length; )
this._results.pop();
for (var m = h; m < h + l; m++)
for (var u = n; u < n + c; u++) {
var d = this.layer.data[m];
d && d[u] && (a || d[u].isInteresting(o, s)) && this._results.push(d[u])
}
return this._results.slice()
}
,
W.TilemapLayer.prototype.resolveTileset = function(e) {
var t = this._mc.tilesets;
if (e < 2e3)
for (; t.length < e; )
t.push(void 0);
var i = this.map.tiles[e] && this.map.tiles[e][2];
if (null !== i) {
var r = this.map.tilesets[i];
if (r && r.containsTileIndex(e))
return t[e] = r
}
return t[e] = null
}
,
W.TilemapLayer.prototype.resetTilesetCache = function() {
for (var e = this._mc.tilesets; e.length; )
e.pop()
}
,
W.TilemapLayer.prototype.setScale = function(e, t) {
e = e || 1,
t = t || e;
for (var i = 0; i < this.layer.data.length; i++)
for (var r = this.layer.data[i], o = 0; o < r.length; o++) {
var s = r[o];
s.width = this.map.tileWidth * e,
s.height = this.map.tileHeight * t,
s.worldX = s.x * s.width,
s.worldY = s.y * s.height
}
this.scale.setTo(e, t)
}
,
W.TilemapLayer.prototype.shiftCanvas = function(e, t, i) {
var r = e.canvas
, o = r.width - Math.abs(t)
, s = r.height - Math.abs(i)
, a = 0
, n = 0
, h = t
, c = i;
t < 0 && (a = -t,
h = 0),
i < 0 && (n = -i,
c = 0);
var l = this.renderSettings.copyCanvas;
if (l) {
(l.width < o || l.height < s) && (l.width = o,
l.height = s);
var m = l.getContext("2d");
m.clearRect(0, 0, o, s),
m.drawImage(r, a, n, o, s, 0, 0, o, s),
e.clearRect(h, c, o, s),
e.drawImage(l, 0, 0, o, s, h, c, o, s)
} else
e.save(),
e.globalCompositeOperation = "copy",
e.drawImage(r, a, n, o, s, h, c, o, s),
e.restore()
}
,
W.TilemapLayer.prototype.renderRegion = function(e, t, i, r, o, s) {
var a = this.context
, n = this.layer.width
, h = this.layer.height
, c = this._mc.tileWidth
, l = this._mc.tileHeight
, m = this._mc.tilesets
, u = NaN;
this._wrap || (i <= o && (i = Math.max(0, i),
o = Math.min(n - 1, o)),
r <= s && (r = Math.max(0, r),
s = Math.min(h - 1, s)));
var d, p, f, y, S, w, g = i * c - e, x = (i + (1 << 20) * n) % n;
for (y = (r + (1 << 20) * h) % h,
w = s - r,
p = r * l - t; 0 <= w; y++,
w--,
p += l) {
h <= y && (y -= h);
var b = this.layer.data[y];
for (f = x,
S = o - i,
d = g; 0 <= S; f++,
S--,
d += c) {
n <= f && (f -= n);
var v = b[f];
if (v && !(v.index < 0)) {
var z = v.index
, C = m[z];
void 0 === C && (C = this.resolveTileset(z)),
v.alpha === u || this.debug || (a.globalAlpha = v.alpha,
u = v.alpha),
C ? v.rotation || v.flipped ? (a.save(),
a.translate(d + v.centerX, p + v.centerY),
a.rotate(v.rotation),
v.flipped && a.scale(-1, 1),
C.draw(a, -v.centerX, -v.centerY, z),
a.restore()) : C.draw(a, d, p, z) : this.debugSettings.missingImageFill && (a.fillStyle = this.debugSettings.missingImageFill,
a.fillRect(d, p, c, l)),
v.debug && this.debugSettings.debuggedTileOverfill && (a.fillStyle = this.debugSettings.debuggedTileOverfill,
a.fillRect(d, p, c, l))
}
}
}
}
,
W.TilemapLayer.prototype.renderDeltaScroll = function(e, t) {
var i = this._mc.scrollX
, r = this._mc.scrollY
, o = this.canvas.width
, s = this.canvas.height
, a = this._mc.tileWidth
, n = this._mc.tileHeight
, h = 0
, c = -a
, l = 0
, m = -n;
if (e < 0 ? (h = o + e,
c = o - 1) : 0 < e && (c = e),
t < 0 ? (l = s + t,
m = s - 1) : 0 < t && (m = t),
this.shiftCanvas(this.context, e, t),
h = Math.floor((h + i) / a),
c = Math.floor((c + i) / a),
l = Math.floor((l + r) / n),
m = Math.floor((m + r) / n),
h <= c) {
this.context.clearRect(h * a - i, 0, (c - h + 1) * a, s);
var u = Math.floor((0 + r) / n)
, d = Math.floor((s - 1 + r) / n);
this.renderRegion(i, r, h, u, c, d)
}
if (l <= m) {
this.context.clearRect(0, l * n - r, o, (m - l + 1) * n);
var p = Math.floor((0 + i) / a)
, f = Math.floor((o - 1 + i) / a);
this.renderRegion(i, r, p, l, f, m)
}
}
,
W.TilemapLayer.prototype.renderFull = function() {
var e = this._mc.scrollX
, t = this._mc.scrollY
, i = this.canvas.width
, r = this.canvas.height
, o = this._mc.tileWidth
, s = this._mc.tileHeight
, a = Math.floor(e / o)
, n = Math.floor((i - 1 + e) / o)
, h = Math.floor(t / s)
, c = Math.floor((r - 1 + t) / s);
this.context.clearRect(0, 0, i, r),
this.renderRegion(e, t, a, h, n, c)
}
,
W.TilemapLayer.prototype.render = function() {
var e = !1;
if (this.visible) {
(this.dirty || this.layer.dirty) && (e = !(this.layer.dirty = !1));
var t = this.canvas.width
, i = this.canvas.height
, r = 0 | this._scrollX
, o = 0 | this._scrollY
, s = this._mc
, a = s.scrollX - r
, n = s.scrollY - o;
if (e || 0 !== a || 0 !== n || s.renderWidth !== t || s.renderHeight !== i)
return this.context.save(),
s.scrollX = r,
s.scrollY = o,
s.renderWidth === t && s.renderHeight === i || (s.renderWidth = t,
s.renderHeight = i),
this.debug && (this.context.globalAlpha = this.debugSettings.debugAlpha,
this.debugSettings.forceFullRedraw && (e = !0)),
!e && this.renderSettings.enableScrollDelta && Math.abs(a) + Math.abs(n) < Math.min(t, i) ? this.renderDeltaScroll(a, n) : this.renderFull(),
this.debug && (this.context.globalAlpha = 1,
this.renderDebug()),
this.texture.baseTexture.dirty(),
this.dirty = !1,
this.context.restore(),
!0
}
}
,
W.TilemapLayer.prototype.renderDebug = function() {
var e, t, i, r, o, s, a = this._mc.scrollX, n = this._mc.scrollY, h = this.context, c = this.canvas.width, l = this.canvas.height, m = this.layer.width, u = this.layer.height, d = this._mc.tileWidth, p = this._mc.tileHeight, f = Math.floor(a / d), y = Math.floor((c - 1 + a) / d), S = Math.floor(n / p), w = Math.floor((l - 1 + n) / p), g = f * d - a, x = S * p - n, b = (f + (1 << 20) * m) % m, v = (S + (1 << 20) * u) % u;
for (h.strokeStyle = this.debugSettings.facingEdgeStroke,
r = v,
s = w - S,
t = x; 0 <= s; r++,
s--,
t += p) {
u <= r && (r -= u);
var z = this.layer.data[r];
for (i = b,
o = y - f,
e = g; 0 <= o; i++,
o--,
e += d) {
m <= i && (i -= m);
var C = z[i];
!C || C.index < 0 || !C.collides || (this.debugSettings.collidingTileOverfill && (h.fillStyle = this.debugSettings.collidingTileOverfill,
h.fillRect(e, t, this._mc.cw, this._mc.ch)),
this.debugSettings.facingEdgeStroke && (h.beginPath(),
C.faceTop && (h.moveTo(e, t),
h.lineTo(e + this._mc.cw, t)),
C.faceBottom && (h.moveTo(e, t + this._mc.ch),
h.lineTo(e + this._mc.cw, t + this._mc.ch)),
C.faceLeft && (h.moveTo(e, t),
h.lineTo(e, t + this._mc.ch)),
C.faceRight && (h.moveTo(e + this._mc.cw, t),
h.lineTo(e + this._mc.cw, t + this._mc.ch)),
h.closePath(),
h.stroke()))
}
}
}
,
Object.defineProperty(W.TilemapLayer.prototype, "wrap", {
get: function() {
return this._wrap
},
set: function(e) {
this._wrap = e,
this.dirty = !0
}
}),
Object.defineProperty(W.TilemapLayer.prototype, "scrollX", {
get: function() {
return this._scrollX
},
set: function(e) {
this._scrollX = e
}
}),
Object.defineProperty(W.TilemapLayer.prototype, "scrollY", {
get: function() {
return this._scrollY
},
set: function(e) {
this._scrollY = e
}
}),
Object.defineProperty(W.TilemapLayer.prototype, "collisionWidth", {
get: function() {
return this._mc.cw
},
set: function(e) {
this._mc.cw = 0 | e,
this.dirty = !0
}
}),
Object.defineProperty(W.TilemapLayer.prototype, "collisionHeight", {
get: function() {
return this._mc.ch
},
set: function(e) {
this._mc.ch = 0 | e,
this.dirty = !0
}
}),
W.TilemapParser = {
INSERT_NULL: !1,
parse: function(e, t, i, r, o, s) {
if (void 0 === i && (i = 32),
void 0 === r && (r = 32),
void 0 === o && (o = 10),
void 0 === s && (s = 10),
void 0 === t)
return this.getEmptyData();
if (null === t)
return this.getEmptyData(i, r, o, s);
var a = e.cache.getTilemapData(t);
if (a) {
if (a.format === W.Tilemap.CSV)
return this.parseCSV(t, a.data, i, r);
if (!a.format || a.format === W.Tilemap.TILED_JSON)
return this.parseTiledJSON(a.data)
}
},
parseCSV: function(e, t, i, r) {
for (var o = this.getEmptyData(), s = [], a = (t = t.trim()).split("\n"), n = a.length, h = 0, c = 0; c < a.length; c++) {
s[c] = [];
for (var l = a[c].split(","), m = 0; m < l.length; m++)
s[c][m] = new W.Tile(o.layers[0],parseInt(l[m], 10),m,c,i,r);
0 === h && (h = l.length)
}
return o.format = W.Tilemap.CSV,
o.name = e,
o.width = h,
o.height = n,
o.tileWidth = i,
o.tileHeight = r,
o.widthInPixels = h * i,
o.heightInPixels = n * r,
o.layers[0].width = h,
o.layers[0].height = n,
o.layers[0].widthInPixels = o.widthInPixels,
o.layers[0].heightInPixels = o.heightInPixels,
o.layers[0].data = s,
o
},
getEmptyData: function(e, t, i, r) {
return {
width: null != i ? i : 0,
height: null != r ? r : 0,
tileWidth: null != e ? e : 0,
tileHeight: null != t ? t : 0,
orientation: "orthogonal",
version: "1",
properties: {},
widthInPixels: 0,
heightInPixels: 0,
layers: [{
name: "layer",
x: 0,
y: 0,
width: 0,
height: 0,
widthInPixels: 0,
heightInPixels: 0,
alpha: 1,
visible: !0,
properties: {},
indexes: [],
callbacks: [],
bodies: [],
data: []
}],
images: [],
objects: {},
collision: {},
tilesets: [],
tiles: []
}
},
parseTiledJSON: function(e) {
if ("orthogonal" !== e.orientation)
return null;
for (var t = {
width: e.width,
height: e.height,
tileWidth: e.tilewidth,
tileHeight: e.tileheight,
orientation: e.orientation,
format: W.Tilemap.TILED_JSON,
version: e.version,
properties: e.properties,
widthInPixels: e.width * e.tilewidth,
heightInPixels: e.height * e.tileheight
}, i = [], r = 0; r < e.layers.length; r++)
if ("tilelayer" === e.layers[r].type) {
var o = e.layers[r];
if (!o.compression && o.encoding && "base64" === o.encoding) {
for (var s = window.atob(o.data), a = s.length, n = new Array(a), h = 0; h < a; h += 4)
n[h / 4] = (s.charCodeAt(h) | s.charCodeAt(h + 1) << 8 | s.charCodeAt(h + 2) << 16 | s.charCodeAt(h + 3) << 24) >>> 0;
o.data = n,
delete o.encoding
} else if (o.compression)
continue;
var c = {
name: o.name,
x: o.x,
y: o.y,
width: o.width,
height: o.height,
widthInPixels: o.width * e.tilewidth,
heightInPixels: o.height * e.tileheight,
alpha: o.opacity,
visible: o.visible,
properties: {},
indexes: [],
callbacks: [],
bodies: []
};
o.properties && (c.properties = o.properties);
var l, m, u, d = 0, p = [], f = [], y = 0;
for (a = o.data.length; y < a; y++) {
if (m = !1,
u = l = 0,
536870912 < (P = o.data[y]))
switch (2147483648 < P && (P -= 2147483648,
u += 4),
1073741824 < P && (P -= 1073741824,
u += 2),
536870912 < P && (P -= 536870912,
u += 1),
u) {
case 5:
l = Math.PI / 2;
break;
case 6:
l = Math.PI;
break;
case 3:
l = 3 * Math.PI / 2;
break;
case 4:
m = !(l = 0);
break;
case 7:
l = Math.PI / 2,
m = !0;
break;
case 2:
l = Math.PI,
m = !0;
break;
case 1:
l = 3 * Math.PI / 2,
m = !0
}
if (0 < P)
(A = new W.Tile(c,P,d,f.length,e.tilewidth,e.tileheight)).rotation = l,
A.flipped = m,
0 !== u && (A.flippedVal = u),
p.push(A);
else
W.TilemapParser.INSERT_NULL ? p.push(null) : p.push(new W.Tile(c,-1,d,f.length,e.tilewidth,e.tileheight));
++d === o.width && (f.push(p),
d = 0,
p = [])
}
c.data = f,
i.push(c)
}
t.layers = i;
var S = [];
for (r = 0; r < e.layers.length; r++)
if ("imagelayer" === e.layers[r].type) {
var w = e.layers[r]
, g = {
name: w.name,
image: w.image,
x: w.x,
y: w.y,
alpha: w.opacity,
visible: w.visible,
properties: {}
};
w.properties && (g.properties = w.properties),
S.push(g)
}
t.images = S;
var x = []
, b = []
, v = null;
for (r = 0; r < e.tilesets.length; r++) {
if ((O = e.tilesets[r]).image) {
var z = new W.Tileset(O.name,O.firstgid,O.tilewidth,O.tileheight,O.margin,O.spacing,O.properties);
O.tileproperties && (z.tileProperties = O.tileproperties),
z.updateTileData(O.imagewidth, O.imageheight),
x.push(z)
} else {
var C = new W.ImageCollection(O.name,O.firstgid,O.tilewidth,O.tileheight,O.margin,O.spacing,O.properties);
for (var T in O.tiles) {
g = O.tiles[T].image;
var P = O.firstgid + parseInt(T, 10);
C.addImage(P, g)
}
b.push(C)
}
v && (v.lastgid = O.firstgid - 1),
v = O
}
t.tilesets = x,
t.imagecollections = b;
var A, _, B = {}, D = {};
function k(e, t) {
var i = {};
for (var r in t) {
var o = t[r];
void 0 !== e[o] && (i[o] = e[o])
}
return i
}
for (r = 0; r < e.layers.length; r++)
if ("objectgroup" === e.layers[r].type) {
var E = e.layers[r];
B[E.name] = [],
D[E.name] = [];
var M = 0;
for (a = E.objects.length; M < a; M++)
if (E.objects[M].gid) {
var I = {
gid: E.objects[M].gid,
name: E.objects[M].name,
type: E.objects[M].hasOwnProperty("type") ? E.objects[M].type : "",
x: E.objects[M].x,
y: E.objects[M].y,
visible: E.objects[M].visible,
properties: E.objects[M].properties
};
E.objects[M].rotation && (I.rotation = E.objects[M].rotation),
B[E.name].push(I)
} else if (E.objects[M].polyline) {
I = {
name: E.objects[M].name,
type: E.objects[M].type,
x: E.objects[M].x,
y: E.objects[M].y,
width: E.objects[M].width,
height: E.objects[M].height,
visible: E.objects[M].visible,
properties: E.objects[M].properties
};
E.objects[M].rotation && (I.rotation = E.objects[M].rotation),
I.polyline = [];
for (var L = 0; L < E.objects[M].polyline.length; L++)
I.polyline.push([E.objects[M].polyline[L].x, E.objects[M].polyline[L].y]);
D[E.name].push(I),
B[E.name].push(I)
} else if (E.objects[M].polygon) {
(I = k(E.objects[M], ["name", "type", "x", "y", "visible", "rotation", "properties"])).polygon = [];
for (L = 0; L < E.objects[M].polygon.length; L++)
I.polygon.push([E.objects[M].polygon[L].x, E.objects[M].polygon[L].y]);
B[E.name].push(I)
} else if (E.objects[M].ellipse) {
I = k(E.objects[M], ["name", "type", "ellipse", "x", "y", "width", "height", "visible", "rotation", "properties"]);
B[E.name].push(I)
} else {
(I = k(E.objects[M], ["name", "type", "x", "y", "width", "height", "visible", "rotation", "properties"])).rectangle = !0,
B[E.name].push(I)
}
}
t.objects = B,
t.collision = D,
t.tiles = [];
for (r = 0; r < t.tilesets.length; r++) {
d = (O = t.tilesets[r]).tileMargin;
var O, R = O.tileMargin, F = 0, G = 0, N = 0;
for (y = O.firstgid; y < O.firstgid + O.total && (t.tiles[y] = [d, R, r],
d += O.tileWidth + O.tileSpacing,
++F !== O.total) && (++G !== O.columns || (d = O.tileMargin,
R += O.tileHeight + O.tileSpacing,
G = 0,
++N !== O.rows)); y++)
;
}
for (r = 0; r < t.layers.length; r++) {
c = t.layers[r],
O = null;
for (h = 0; h < c.data.length; h++) {
p = c.data[h];
for (var U = 0; U < p.length; U++)
null === (A = p[U]) || A.index < 0 || (_ = t.tiles[A.index][2],
(O = t.tilesets[_]).tileProperties && O.tileProperties[A.index - O.firstgid] && (A.properties = W.Utils.mixin(O.tileProperties[A.index - O.firstgid], A.properties)))
}
}
return t
}
},
W.Tileset = function(e, t, i, r, o, s, a) {
(void 0 === i || i <= 0) && (i = 32),
(void 0 === r || r <= 0) && (r = 32),
void 0 === o && (o = 0),
void 0 === s && (s = 0),
this.name = e,
this.firstgid = 0 | t,
this.tileWidth = 0 | i,
this.tileHeight = 0 | r,
this.tileMargin = 0 | o,
this.tileSpacing = 0 | s,
this.properties = a || {},
this.image = null,
this.rows = 0,
this.columns = 0,
this.total = 0,
this.drawCoords = []
}
,
W.Tileset.prototype = {
draw: function(e, t, i, r) {
var o = r - this.firstgid << 1;
0 <= o && o + 1 < this.drawCoords.length && e.drawImage(this.image, this.drawCoords[o], this.drawCoords[o + 1], this.tileWidth, this.tileHeight, t, i, this.tileWidth, this.tileHeight)
},
containsTileIndex: function(e) {
return e >= this.firstgid && e < this.firstgid + this.total
},
setImage: function(e) {
this.image = e,
this.updateTileData(e.width, e.height)
},
setSpacing: function(e, t) {
this.tileMargin = 0 | e,
this.tileSpacing = 0 | t,
this.image && this.updateTileData(this.image.width, this.image.height)
},
updateTileData: function(e, t) {
var i = (t - 2 * this.tileMargin + this.tileSpacing) / (this.tileHeight + this.tileSpacing)
, r = (e - 2 * this.tileMargin + this.tileSpacing) / (this.tileWidth + this.tileSpacing);
i = Math.floor(i),
r = Math.floor(r),
this.rows && this.rows !== i || this.columns && this.columns,
this.rows = i,
this.columns = r,
this.total = i * r,
this.drawCoords.length = 0;
for (var o = this.tileMargin, s = this.tileMargin, a = 0; a < this.rows; a++) {
for (var n = 0; n < this.columns; n++)
this.drawCoords.push(o),
this.drawCoords.push(s),
o += this.tileWidth + this.tileSpacing;
o = this.tileMargin,
s += this.tileHeight + this.tileSpacing
}
}
},
W.Tileset.prototype.constructor = W.Tileset,
W.Particle = function(e, t, i, r, o) {
W.Sprite.call(this, e, t, i, r, o),
this.autoScale = !1,
this.scaleData = null,
this._s = 0,
this.autoAlpha = !1,
this.alphaData = null,
this._a = 0
}
,
W.Particle.prototype = Object.create(W.Sprite.prototype),
W.Particle.prototype.constructor = W.Particle,
W.Particle.prototype.update = function() {
this.autoScale && (this._s--,
this._s ? this.scale.set(this.scaleData[this._s].x, this.scaleData[this._s].y) : this.autoScale = !1),
this.autoAlpha && (this._a--,
this._a ? this.alpha = this.alphaData[this._a].v : this.autoAlpha = !1)
}
,
W.Particle.prototype.onEmit = function() {}
,
W.Particle.prototype.setAlphaData = function(e) {
this.alphaData = e,
this._a = e.length - 1,
this.alpha = this.alphaData[this._a].v,
this.autoAlpha = !0
}
,
W.Particle.prototype.setScaleData = function(e) {
this.scaleData = e,
this._s = e.length - 1,
this.scale.set(this.scaleData[this._s].x, this.scaleData[this._s].y),
this.autoScale = !0
}
,
W.Particle.prototype.reset = function(e, t, i) {
return W.Component.Reset.prototype.reset.call(this, e, t, i),
this.alpha = 1,
this.scale.set(1),
this.autoScale = !1,
this.autoAlpha = !1,
this
}
,
W.Particles = function(e) {
this.game = e,
this.emitters = {},
this.ID = 0
}
,
W.Particles.prototype = {
add: function(e) {
return this.emitters[e.name] = e
},
remove: function(e) {
delete this.emitters[e.name]
},
update: function() {
for (var e in this.emitters)
this.emitters[e].exists && this.emitters[e].update()
}
},
W.Particles.prototype.constructor = W.Particles,
W.Particles.Arcade = {},
W.Particles.Arcade.Emitter = function(e, t, i, r) {
this.maxParticles = r || 50,
W.Group.call(this, e),
this.name = "emitter" + this.game.particles.ID++,
this.type = W.EMITTER,
this.physicsType = W.GROUP,
this.area = new W.Rectangle(t,i,1,1),
this.minParticleSpeed = new W.Point(-100,-100),
this.maxParticleSpeed = new W.Point(100,100),
this.minParticleScale = 1,
this.maxParticleScale = 1,
this.scaleData = null,
this.minRotation = -360,
this.maxRotation = 360,
this.minParticleAlpha = 1,
this.maxParticleAlpha = 1,
this.alphaData = null,
this.gravity = 100,
this.particleClass = W.Particle,
this.particleDrag = new W.Point,
this.angularDrag = 0,
this.frequency = 100,
this.lifespan = 2e3,
this.bounce = new W.Point,
this.on = !1,
this.particleAnchor = new W.Point(.5,.5),
this.blendMode = W.blendModes.NORMAL,
this.emitX = t,
this.emitY = i,
this.autoScale = !1,
this.autoAlpha = !1,
this.particleBringToTop = !1,
this.particleSendToBack = !1,
this._minParticleScale = new W.Point(1,1),
this._maxParticleScale = new W.Point(1,1),
this._quantity = 0,
this._timer = 0,
this._counter = 0,
this._flowQuantity = 0,
this._flowTotal = 0,
this._explode = !0,
this._frames = null
}
,
W.Particles.Arcade.Emitter.prototype = Object.create(W.Group.prototype),
W.Particles.Arcade.Emitter.prototype.constructor = W.Particles.Arcade.Emitter,
W.Particles.Arcade.Emitter.prototype.update = function() {
if (this.on && this.game.time.time >= this._timer)
if (this._timer = this.game.time.time + this.frequency * this.game.time.slowMotion,
0 !== this._flowTotal)
if (0 < this._flowQuantity) {
for (var e = 0; e < this._flowQuantity; e++)
if (this.emitParticle() && (this._counter++,
-1 !== this._flowTotal && this._counter >= this._flowTotal)) {
this.on = !1;
break
}
} else
this.emitParticle() && (this._counter++,
-1 !== this._flowTotal && this._counter >= this._flowTotal && (this.on = !1));
else
this.emitParticle() && (this._counter++,
0 < this._quantity && this._counter >= this._quantity && (this.on = !1));
for (e = this.children.length; e--; )
this.children[e].exists && this.children[e].update()
}
,
W.Particles.Arcade.Emitter.prototype.makeParticles = function(e, t, i, r, o) {
var s;
void 0 === t && (t = 0),
void 0 === i && (i = this.maxParticles),
void 0 === r && (r = !1),
void 0 === o && (o = !1);
var a = 0
, n = e
, h = t;
for (this._frames = t,
i > this.maxParticles && (this.maxParticles = i); a < i; )
Array.isArray(e) && (n = this.game.rnd.pick(e)),
Array.isArray(t) && (h = this.game.rnd.pick(t)),
s = new this.particleClass(this.game,0,0,n,h),
this.game.physics.arcade.enable(s, !1),
r ? (s.body.checkCollision.any = !0,
s.body.checkCollision.none = !1) : s.body.checkCollision.none = !0,
s.body.collideWorldBounds = o,
s.body.skipQuadTree = !0,
s.exists = !1,
s.visible = !1,
s.anchor.copyFrom(this.particleAnchor),
this.add(s),
a++;
return this
}
,
W.Particles.Arcade.Emitter.prototype.kill = function() {
return this.on = !1,
this.alive = !1,
this.exists = !1,
this
}
,
W.Particles.Arcade.Emitter.prototype.revive = function() {
return this.alive = !0,
this.exists = !0,
this
}
,
W.Particles.Arcade.Emitter.prototype.explode = function(e, t) {
return this._flowTotal = 0,
this.start(!0, e, 0, t, !1),
this
}
,
W.Particles.Arcade.Emitter.prototype.flow = function(e, t, i, r, o) {
return void 0 !== i && 0 !== i || (i = 1),
void 0 === r && (r = -1),
void 0 === o && (o = !0),
i > this.maxParticles && (i = this.maxParticles),
this._counter = 0,
this._flowQuantity = i,
this._flowTotal = r,
o ? (this.start(!0, e, t, i),
this._counter += i,
this.on = !0,
this._timer = this.game.time.time + t * this.game.time.slowMotion) : this.start(!1, e, t, i),
this
}
,
W.Particles.Arcade.Emitter.prototype.start = function(e, t, i, r, o) {
if (void 0 === e && (e = !0),
void 0 === t && (t = 0),
null == i && (i = 250),
void 0 === r && (r = 0),
void 0 === o && (o = !1),
r > this.maxParticles && (r = this.maxParticles),
this.revive(),
this.visible = !0,
this.lifespan = t,
this.frequency = i,
e || o)
for (var s = 0; s < r; s++)
this.emitParticle();
else
this.on = !0,
this._quantity = r,
this._counter = 0,
this._timer = this.game.time.time + i * this.game.time.slowMotion;
return this
}
,
W.Particles.Arcade.Emitter.prototype.emitParticle = function(e, t, i, r) {
void 0 === e && (e = null),
void 0 === t && (t = null);
var o = this.getFirstExists(!1);
if (null === o)
return !1;
var s = this.game.rnd;
void 0 !== i && void 0 !== r ? o.loadTexture(i, r) : void 0 !== i && o.loadTexture(i);
var a = this.emitX
, n = this.emitY;
null !== e ? a = e : 1 < this.width && (a = s.between(this.left, this.right)),
null !== t ? n = t : 1 < this.height && (n = s.between(this.top, this.bottom)),
o.reset(a, n),
o.angle = 0,
o.lifespan = this.lifespan,
this.particleBringToTop ? this.bringToTop(o) : this.particleSendToBack && this.sendToBack(o),
this.autoScale ? o.setScaleData(this.scaleData) : 1 !== this.minParticleScale || 1 !== this.maxParticleScale ? o.scale.set(s.realInRange(this.minParticleScale, this.maxParticleScale)) : this._minParticleScale.x === this._maxParticleScale.x && this._minParticleScale.y === this._maxParticleScale.y || o.scale.set(s.realInRange(this._minParticleScale.x, this._maxParticleScale.x), s.realInRange(this._minParticleScale.y, this._maxParticleScale.y)),
void 0 === r && (Array.isArray(this._frames) ? o.frame = this.game.rnd.pick(this._frames) : o.frame = this._frames),
this.autoAlpha ? o.setAlphaData(this.alphaData) : o.alpha = s.realInRange(this.minParticleAlpha, this.maxParticleAlpha),
o.blendMode = this.blendMode;
var h = o.body;
return h.updateBounds(),
h.bounce.copyFrom(this.bounce),
h.drag.copyFrom(this.particleDrag),
h.velocity.x = s.between(this.minParticleSpeed.x, this.maxParticleSpeed.x),
h.velocity.y = s.between(this.minParticleSpeed.y, this.maxParticleSpeed.y),
h.angularVelocity = s.between(this.minRotation, this.maxRotation),
h.gravity.y = this.gravity,
h.angularDrag = this.angularDrag,
o.onEmit(),
!0
}
,
W.Particles.Arcade.Emitter.prototype.destroy = function() {
this.game.particles.remove(this),
W.Group.prototype.destroy.call(this, !0, !1)
}
,
W.Particles.Arcade.Emitter.prototype.setSize = function(e, t) {
return this.area.width = e,
this.area.height = t,
this
}
,
W.Particles.Arcade.Emitter.prototype.setXSpeed = function(e, t) {
return e = e || 0,
t = t || 0,
this.minParticleSpeed.x = e,
this.maxParticleSpeed.x = t,
this
}
,
W.Particles.Arcade.Emitter.prototype.setYSpeed = function(e, t) {
return e = e || 0,
t = t || 0,
this.minParticleSpeed.y = e,
this.maxParticleSpeed.y = t,
this
}
,
W.Particles.Arcade.Emitter.prototype.setRotation = function(e, t) {
return e = e || 0,
t = t || 0,
this.minRotation = e,
this.maxRotation = t,
this
}
,
W.Particles.Arcade.Emitter.prototype.setAlpha = function(e, t, i, r, o) {
if (void 0 === e && (e = 1),
void 0 === t && (t = 1),
void 0 === i && (i = 0),
void 0 === r && (r = W.Easing.Linear.None),
void 0 === o && (o = !1),
this.minParticleAlpha = e,
this.maxParticleAlpha = t,
this.autoAlpha = !1,
0 < i && e !== t) {
var s = {
v: e
}
, a = this.game.make.tween(s).to({
v: t
}, i, r);
a.yoyo(o),
this.alphaData = a.generateData(60),
this.alphaData.reverse(),
this.autoAlpha = !0
}
return this
}
,
W.Particles.Arcade.Emitter.prototype.setScale = function(e, t, i, r, o, s, a) {
if (void 0 === e && (e = 1),
void 0 === t && (t = 1),
void 0 === i && (i = 1),
void 0 === r && (r = 1),
void 0 === o && (o = 0),
void 0 === s && (s = W.Easing.Linear.None),
void 0 === a && (a = !1),
this.minParticleScale = 1,
this.maxParticleScale = 1,
this._minParticleScale.set(e, i),
this._maxParticleScale.set(t, r),
this.autoScale = !1,
0 < o && (e !== t || i !== r)) {
var n = {
x: e,
y: i
}
, h = this.game.make.tween(n).to({
x: t,
y: r
}, o, s);
h.yoyo(a),
this.scaleData = h.generateData(60),
this.scaleData.reverse(),
this.autoScale = !0
}
return this
}
,
W.Particles.Arcade.Emitter.prototype.at = function(e) {
return e.center ? (this.emitX = e.center.x,
this.emitY = e.center.y) : (this.emitX = e.world.x + e.anchor.x * e.width,
this.emitY = e.world.y + e.anchor.y * e.height),
this
}
,
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "width", {
get: function() {
return this.area.width
},
set: function(e) {
this.area.width = e
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "height", {
get: function() {
return this.area.height
},
set: function(e) {
this.area.height = e
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "x", {
get: function() {
return this.emitX
},
set: function(e) {
this.emitX = e
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "y", {
get: function() {
return this.emitY
},
set: function(e) {
this.emitY = e
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "left", {
get: function() {
return Math.floor(this.x - this.area.width / 2)
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "right", {
get: function() {
return Math.floor(this.x + this.area.width / 2)
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "top", {
get: function() {
return Math.floor(this.y - this.area.height / 2)
}
}),
Object.defineProperty(W.Particles.Arcade.Emitter.prototype, "bottom", {
get: function() {
return Math.floor(this.y + this.area.height / 2)
}
}),
W.Weapon = function(e, t) {
W.Plugin.call(this, e, t),
this.bullets = null,
this.autoExpandBulletsGroup = !1,
this.autofire = !1,
this.shots = 0,
this.fireLimit = 0,
this.fireRate = 100,
this.fireRateVariance = 0,
this.fireFrom = new W.Rectangle(0,0,1,1),
this.fireAngle = W.ANGLE_UP,
this.bulletInheritSpriteSpeed = !1,
this.bulletAnimation = "",
this.bulletFrameRandom = !1,
this.bulletFrameCycle = !1,
this.bulletWorldWrap = !1,
this.bulletWorldWrapPadding = 0,
this.bulletAngleOffset = 0,
this.bulletAngleVariance = 0,
this.bulletSpeed = 200,
this.bulletSpeedVariance = 0,
this.bulletLifespan = 0,
this.bulletKillDistance = 0,
this.bulletGravity = new W.Point(0,0),
this.bulletRotateToVelocity = !1,
this.bulletKey = "",
this.bulletFrame = "",
this._bulletClass = W.Bullet,
this._bulletCollideWorldBounds = !1,
this._bulletKillType = W.Weapon.KILL_WORLD_BOUNDS,
this._data = {
customBody: !1,
width: 0,
height: 0,
offsetX: 0,
offsetY: 0
},
this.bounds = new W.Rectangle,
this.bulletBounds = e.world.bounds,
this.bulletFrames = [],
this.bulletFrameIndex = 0,
this.anims = {},
this.onFire = new W.Signal,
this.onKill = new W.Signal,
this.onFireLimit = new W.Signal,
this.trackedSprite = null,
this.trackedPointer = null,
this.trackRotation = !1,
this.trackOffset = new W.Point,
this._nextFire = 0,
this._rotatedPoint = new W.Point
}
,
W.Weapon.prototype = Object.create(W.Plugin.prototype),
W.Weapon.prototype.constructor = W.Weapon,
W.Weapon.KILL_NEVER = 0,
W.Weapon.KILL_LIFESPAN = 1,
W.Weapon.KILL_DISTANCE = 2,
W.Weapon.KILL_WEAPON_BOUNDS = 3,
W.Weapon.KILL_CAMERA_BOUNDS = 4,
W.Weapon.KILL_WORLD_BOUNDS = 5,
W.Weapon.KILL_STATIC_BOUNDS = 6,
W.Weapon.prototype.createBullets = function(e, t, i, r) {
return void 0 === e && (e = 1),
void 0 === r && (r = this.game.world),
this.bullets || (this.bullets = this.game.add.physicsGroup(W.Physics.ARCADE, r),
this.bullets.classType = this._bulletClass),
0 !== e && (-1 === e && (this.autoExpandBulletsGroup = !0,
e = 1),
this.bullets.createMultiple(e, t, i),
this.bullets.setAll("data.bulletManager", this),
this.bulletKey = t,
this.bulletFrame = i),
this
}
,
W.Weapon.prototype.forEach = function(e, t) {
return this.bullets.forEachExists(e, t, arguments),
this
}
,
W.Weapon.prototype.pauseAll = function() {
return this.bullets.setAll("body.enable", !1),
this
}
,
W.Weapon.prototype.resumeAll = function() {
return this.bullets.setAll("body.enable", !0),
this
}
,
W.Weapon.prototype.killAll = function() {
return this.bullets.callAllExists("kill", !0),
this.bullets.setAll("body.enable", !0),
this
}
,
W.Weapon.prototype.resetShots = function(e) {
return void (this.shots = 0) !== e && (this.fireLimit = e),
this
}
,
W.Weapon.prototype.destroy = function() {
this.parent.remove(this, !1),
this.bullets.destroy(),
this.game = null,
this.parent = null,
this.active = !1,
this.visible = !1
}
,
W.Weapon.prototype.update = function() {
this._bulletKillType === W.Weapon.KILL_WEAPON_BOUNDS && (this.trackedSprite ? (this.trackedSprite.updateTransform(),
this.bounds.centerOn(this.trackedSprite.worldPosition.x, this.trackedSprite.worldPosition.y)) : this.trackedPointer && this.bounds.centerOn(this.trackedPointer.worldX, this.trackedPointer.worldY)),
this.autofire && this.fire()
}
,
W.Weapon.prototype.trackSprite = function(e, t, i, r) {
return void 0 === t && (t = 0),
void 0 === i && (i = 0),
void 0 === r && (r = !1),
this.trackedPointer = null,
this.trackedSprite = e,
this.trackRotation = r,
this.trackOffset.set(t, i),
this
}
,
W.Weapon.prototype.trackPointer = function(e, t, i) {
return void 0 === e && (e = this.game.input.activePointer),
void 0 === t && (t = 0),
void 0 === i && (i = 0),
this.trackedPointer = e,
this.trackedSprite = null,
this.trackRotation = !1,
this.trackOffset.set(t, i),
this
}
,
W.Weapon.prototype.fire = function(e, t, i) {
if (this.game.time.now < this._nextFire || 0 < this.fireLimit && this.shots === this.fireLimit)
return !1;
var r = this.bulletSpeed;
0 !== this.bulletSpeedVariance && (r += W.Math.between(-this.bulletSpeedVariance, this.bulletSpeedVariance)),
e ? 1 < this.fireFrom.width ? this.fireFrom.centerOn(e.x, e.y) : (this.fireFrom.x = e.x,
this.fireFrom.y = e.y) : this.trackedSprite ? (this.trackRotation ? (this._rotatedPoint.set(this.trackedSprite.world.x + this.trackOffset.x, this.trackedSprite.world.y + this.trackOffset.y),
this._rotatedPoint.rotate(this.trackedSprite.world.x, this.trackedSprite.world.y, this.trackedSprite.rotation),
1 < this.fireFrom.width ? this.fireFrom.centerOn(this._rotatedPoint.x, this._rotatedPoint.y) : (this.fireFrom.x = this._rotatedPoint.x,
this.fireFrom.y = this._rotatedPoint.y)) : 1 < this.fireFrom.width ? this.fireFrom.centerOn(this.trackedSprite.world.x + this.trackOffset.x, this.trackedSprite.world.y + this.trackOffset.y) : (this.fireFrom.x = this.trackedSprite.world.x + this.trackOffset.x,
this.fireFrom.y = this.trackedSprite.world.y + this.trackOffset.y),
this.bulletInheritSpriteSpeed && (r += this.trackedSprite.body.speed)) : this.trackedPointer && (1 < this.fireFrom.width ? this.fireFrom.centerOn(this.trackedPointer.world.x + this.trackOffset.x, this.trackedPointer.world.y + this.trackOffset.y) : (this.fireFrom.x = this.trackedPointer.world.x + this.trackOffset.x,
this.fireFrom.y = this.trackedPointer.world.y + this.trackOffset.y));
var o = 1 < this.fireFrom.width ? this.fireFrom.randomX : this.fireFrom.x
, s = 1 < this.fireFrom.height ? this.fireFrom.randomY : this.fireFrom.y
, a = this.trackRotation ? this.trackedSprite.angle : this.fireAngle;
void 0 !== t && void 0 !== i && (a = this.game.math.radToDeg(Math.atan2(i - s, t - o))),
0 !== this.bulletAngleVariance && (a += W.Math.between(-this.bulletAngleVariance, this.bulletAngleVariance));
var n = 0
, h = 0;
0 === a || 180 === a ? n = Math.cos(this.game.math.degToRad(a)) * r : h = (90 === a || 270 === a || (n = Math.cos(this.game.math.degToRad(a)) * r),
Math.sin(this.game.math.degToRad(a)) * r);
var c = null;
if (this.autoExpandBulletsGroup ? (c = this.bullets.getFirstExists(!1, !0, o, s, this.bulletKey, this.bulletFrame)).data.bulletManager = this : c = this.bullets.getFirstExists(!1),
c) {
if (c.reset(o, s),
c.data.fromX = o,
c.data.fromY = s,
c.data.killType = this.bulletKillType,
c.data.killDistance = this.bulletKillDistance,
c.data.rotateToVelocity = this.bulletRotateToVelocity,
this.bulletKillType === W.Weapon.KILL_LIFESPAN && (c.lifespan = this.bulletLifespan),
c.angle = a + this.bulletAngleOffset,
"" !== this.bulletAnimation) {
if (null === c.animations.getAnimation(this.bulletAnimation)) {
var l = this.anims[this.bulletAnimation];
c.animations.add(l.name, l.frames, l.frameRate, l.loop, l.useNumericIndex)
}
c.animations.play(this.bulletAnimation)
} else
this.bulletFrameCycle ? (c.frame = this.bulletFrames[this.bulletFrameIndex],
this.bulletFrameIndex++,
this.bulletFrameIndex >= this.bulletFrames.length && (this.bulletFrameIndex = 0)) : this.bulletFrameRandom && (c.frame = this.bulletFrames[Math.floor(Math.random() * this.bulletFrames.length)]);
if (c.data.bodyDirty && (this._data.customBody && c.body.setSize(this._data.width, this._data.height, this._data.offsetX, this._data.offsetY),
c.body.collideWorldBounds = this.bulletCollideWorldBounds,
c.data.bodyDirty = !1),
c.body.velocity.set(n, h),
c.body.gravity.set(this.bulletGravity.x, this.bulletGravity.y),
0 !== this.bulletSpeedVariance) {
var m = this.fireRate;
(m += W.Math.between(-this.fireRateVariance, this.fireRateVariance)) < 0 && (m = 0),
this._nextFire = this.game.time.now + m
} else
this._nextFire = this.game.time.now + this.fireRate;
this.shots++,
this.onFire.dispatch(c, this, r),
0 < this.fireLimit && this.shots === this.fireLimit && this.onFireLimit.dispatch(this, this.fireLimit)
}
return c
}
,
W.Weapon.prototype.fireAtPointer = function(e) {
return void 0 === e && (e = this.game.input.activePointer),
this.fire(null, e.worldX, e.worldY)
}
,
W.Weapon.prototype.fireAtSprite = function(e) {
return this.fire(null, e.world.x, e.world.y)
}
,
W.Weapon.prototype.fireAtXY = function(e, t) {
return this.fire(null, e, t)
}
,
W.Weapon.prototype.setBulletBodyOffset = function(e, t, i, r) {
return void 0 === i && (i = 0),
void 0 === r && (r = 0),
this._data.customBody = !0,
this._data.width = e,
this._data.height = t,
this._data.offsetX = i,
this._data.offsetY = r,
this.bullets.callAll("body.setSize", "body", e, t, i, r),
this.bullets.setAll("data.bodyDirty", !1),
this
}
,
W.Weapon.prototype.setBulletFrames = function(e, t, i, r) {
return void 0 === i && (i = !0),
void 0 === r && (r = !1),
this.bulletFrames = W.ArrayUtils.numberArray(e, t),
this.bulletFrameIndex = 0,
this.bulletFrameCycle = i,
this.bulletFrameRandom = r,
this
}
,
W.Weapon.prototype.addBulletAnimation = function(e, t, i, r, o) {
return this.anims[e] = {
name: e,
frames: t,
frameRate: i,
loop: r,
useNumericIndex: o
},
this.bullets.callAll("animations.add", "animations", e, t, i, r, o),
this.bulletAnimation = e,
this
}
,
W.Weapon.prototype.debug = function(e, t, i) {
void 0 === e && (e = 16),
void 0 === t && (t = 32),
void 0 === i && (i = !1),
this.game.debug.text("Weapon Plugin", e, t),
this.game.debug.text("Bullets Alive: " + this.bullets.total + " - Total: " + this.bullets.length, e, t + 24),
i && this.bullets.forEachExists(this.game.debug.body, this.game.debug, "rgba(255, 0, 255, 0.8)")
}
,
Object.defineProperty(W.Weapon.prototype, "bulletClass", {
get: function() {
return this._bulletClass
},
set: function(e) {
this._bulletClass = e,
this.bullets.classType = this._bulletClass
}
}),
Object.defineProperty(W.Weapon.prototype, "bulletKillType", {
get: function() {
return this._bulletKillType
},
set: function(e) {
switch (e) {
case W.Weapon.KILL_STATIC_BOUNDS:
case W.Weapon.KILL_WEAPON_BOUNDS:
this.bulletBounds = this.bounds;
break;
case W.Weapon.KILL_CAMERA_BOUNDS:
this.bulletBounds = this.game.camera.view;
break;
case W.Weapon.KILL_WORLD_BOUNDS:
this.bulletBounds = this.game.world.bounds
}
this._bulletKillType = e
}
}),
Object.defineProperty(W.Weapon.prototype, "bulletCollideWorldBounds", {
get: function() {
return this._bulletCollideWorldBounds
},
set: function(e) {
this._bulletCollideWorldBounds = e,
this.bullets.setAll("body.collideWorldBounds", e),
this.bullets.setAll("data.bodyDirty", !1)
}
}),
Object.defineProperty(W.Weapon.prototype, "x", {
get: function() {
return this.fireFrom.x
},
set: function(e) {
this.fireFrom.x = e
}
}),
Object.defineProperty(W.Weapon.prototype, "y", {
get: function() {
return this.fireFrom.y
},
set: function(e) {
this.fireFrom.y = e
}
}),
W.Bullet = function(e, t, i, r, o) {
W.Sprite.call(this, e, t, i, r, o),
this.anchor.set(.5),
this.data = {
bulletManager: null,
fromX: 0,
fromY: 0,
bodyDirty: !0,
rotateToVelocity: !1,
killType: 0,
killDistance: 0
}
}
,
W.Bullet.prototype = Object.create(W.Sprite.prototype),
W.Bullet.prototype.constructor = W.Bullet,
W.Bullet.prototype.kill = function() {
return this.alive = !1,
this.exists = !1,
this.visible = !1,
this.data.bulletManager.onKill.dispatch(this),
this
}
,
W.Bullet.prototype.update = function() {
this.exists && (this.data.killType > W.Weapon.KILL_LIFESPAN && (this.data.killType === W.Weapon.KILL_DISTANCE ? this.game.physics.arcade.distanceToXY(this, this.data.fromX, this.data.fromY, !0) > this.data.killDistance && this.kill() : this.data.bulletManager.bulletBounds.intersects(this) || this.kill()),
this.data.rotateToVelocity && (this.rotation = Math.atan2(this.body.velocity.y, this.body.velocity.x)),
this.data.bulletManager.bulletWorldWrap && this.game.world.wrap(this, this.data.bulletManager.bulletWorldWrapPadding))
}
,
W.Video = function(e, t, i) {
if (void 0 === t && (t = null),
void 0 === i && (i = null),
this.game = e,
this.key = t,
this.width = 0,
this.height = 0,
this.type = W.VIDEO,
this.disableTextureUpload = !1,
this.touchLocked = !1,
this.onPlay = new W.Signal,
this.onChangeSource = new W.Signal,
this.onComplete = new W.Signal,
this.onAccess = new W.Signal,
this.onError = new W.Signal,
this.onTimeout = new W.Signal,
this.timeout = 15e3,
this._timeOutID = null,
this.video = null,
this.videoStream = null,
this.isStreaming = !1,
this.retryLimit = 20,
this.retry = 0,
this.retryInterval = 500,
this._retryID = null,
this._codeMuted = !1,
this._muted = !1,
this._codePaused = !1,
this._paused = !1,
this._pending = !1,
this._autoplay = !1,
this._endCallback = null,
this._playCallback = null,
t && this.game.cache.checkVideoKey(t)) {
var r = this.game.cache.getVideo(t);
r.isBlob ? this.createVideoFromBlob(r.data) : this.video = r.data,
this.width = this.video.videoWidth,
this.height = this.video.videoHeight
} else
i && this.createVideoFromURL(i, !1);
this.video && !i ? this.baseTexture = new PIXI.BaseTexture(this.video) : this.baseTexture = new PIXI.BaseTexture(W.Cache.DEFAULT.baseTexture.source),
this.baseTexture.forceLoaded(this.width, this.height),
this.texture = new PIXI.Texture(this.baseTexture),
this.textureFrame = new W.Frame(0,0,0,this.width,this.height,"video"),
this.texture.setFrame(this.textureFrame),
this.texture.valid = !1,
null !== t && this.video && (this.texture.valid = this.video.canplay),
this.snapshot = null,
W.BitmapData && (this.snapshot = new W.BitmapData(this.game,"",this.width,this.height)),
!this.game.device.cocoonJS && (this.game.device.iOS || this.game.device.chrome) || window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock ? this.setTouchLock() : r && (r.locked = !1)
}
,
W.Video.prototype = {
connectToMediaStream: function(e, t) {
return e && t && (this.video = e,
this.videoStream = t,
this.isStreaming = !0,
this.baseTexture.source = this.video,
this.updateTexture(null, this.video.videoWidth, this.video.videoHeight),
this.onAccess.dispatch(this)),
this
},
startMediaStream: function(e, t, i) {
if (void 0 === e && (e = !1),
void 0 === t && (t = null),
void 0 === i && (i = null),
!this.game.device.getUserMedia)
return this.onError.dispatch(this, "No getUserMedia"),
!1;
null !== this.videoStream && (this.videoStream.active ? this.videoStream.active = !1 : this.videoStream.stop()),
this.removeVideoElement(),
this.video = document.createElement("video"),
this.video.setAttribute("autoplay", "autoplay"),
null !== t && (this.video.width = t),
null !== i && (this.video.height = i),
this._timeOutID = window.setTimeout(this.getUserMediaTimeout.bind(this), this.timeout);
try {
navigator.getUserMedia({
audio: e,
video: !0
}, this.getUserMediaSuccess.bind(this), this.getUserMediaError.bind(this))
} catch (e) {
this.getUserMediaError(e)
}
return this
},
getUserMediaTimeout: function() {
clearTimeout(this._timeOutID),
this.onTimeout.dispatch(this)
},
getUserMediaError: function(e) {
clearTimeout(this._timeOutID),
this.onError.dispatch(this, e)
},
getUserMediaSuccess: function(e) {
clearTimeout(this._timeOutID),
this.videoStream = e,
void 0 !== this.video.mozSrcObject ? this.video.mozSrcObject = e : this.video.src = window.URL && window.URL.createObjectURL(e) || e;
var o = this;
this.video.onloadeddata = function() {
var r = 10;
!function e() {
if (0 < r)
if (0 < o.video.videoWidth) {
var t = o.video.videoWidth
, i = o.video.videoHeight;
isNaN(o.video.videoHeight) && (i = t / (4 / 3)),
o.video.play(),
o.isStreaming = !0,
o.baseTexture.source = o.video,
o.updateTexture(null, t, i),
o.onAccess.dispatch(o)
} else
window.setTimeout(e, 500);
r--
}()
}
},
createVideoFromBlob: function(e) {
var t = this;
return this.video = document.createElement("video"),
this.video.controls = !1,
this.video.setAttribute("autoplay", "autoplay"),
this.video.addEventListener("loadeddata", function(e) {
t.updateTexture(e)
}, !0),
this.video.src = window.URL.createObjectURL(e),
this.video.canplay = !0,
this
},
createVideoFromURL: function(e, t) {
return void 0 === t && (t = !1),
this.texture && (this.texture.valid = !1),
this.video = document.createElement("video"),
this.video.controls = !1,
t && this.video.setAttribute("autoplay", "autoplay"),
this.video.src = e,
this.video.canplay = !0,
this.video.load(),
this.retry = this.retryLimit,
this._retryID = window.setTimeout(this.checkVideoProgress.bind(this), this.retryInterval),
this.key = e,
this
},
updateTexture: function(e, t, i) {
var r = !1;
null == t && (t = this.video.videoWidth,
r = !0),
null == i && (i = this.video.videoHeight),
this.width = t,
this.height = i,
this.baseTexture.source !== this.video && (this.baseTexture.source = this.video),
this.baseTexture.forceLoaded(t, i),
this.texture.frame.resize(t, i),
this.texture.width = t,
this.texture.height = i,
this.texture.valid = !0,
this.snapshot && this.snapshot.resize(t, i),
r && null !== this.key && (this.onChangeSource.dispatch(this, t, i),
this._autoplay && (this.video.play(),
this.onPlay.dispatch(this, this.loop, this.playbackRate)))
},
complete: function() {
this.onComplete.dispatch(this)
},
play: function(e, t) {
return void 0 === e && (e = !1),
void 0 === t && (t = 1),
this.game.sound.onMute && (this.game.sound.onMute.add(this.setMute, this),
this.game.sound.onUnMute.add(this.unsetMute, this),
this.game.sound.mute && this.setMute()),
this.game.onPause.add(this.setPause, this),
this.game.onResume.add(this.setResume, this),
this._endCallback = this.complete.bind(this),
this.video.addEventListener("ended", this._endCallback, !0),
this.video.addEventListener("webkitendfullscreen", this._endCallback, !0),
this.video.loop = e ? "loop" : "",
this.video.playbackRate = t,
this.touchLocked ? this._pending = !0 : (this._pending = !1,
null !== this.key && (4 !== this.video.readyState ? (this.retry = this.retryLimit,
this._retryID = window.setTimeout(this.checkVideoProgress.bind(this), this.retryInterval)) : (this._playCallback = this.playHandler.bind(this),
this.video.addEventListener("playing", this._playCallback, !0))),
this.video.play(),
this.onPlay.dispatch(this, e, t)),
this
},
playHandler: function() {
this.video.removeEventListener("playing", this._playCallback, !0),
this.updateTexture()
},
stop: function() {
return this.game.sound.onMute && (this.game.sound.onMute.remove(this.setMute, this),
this.game.sound.onUnMute.remove(this.unsetMute, this)),
this.game.onPause.remove(this.setPause, this),
this.game.onResume.remove(this.setResume, this),
this.isStreaming ? (this.video.mozSrcObject ? (this.video.mozSrcObject.stop(),
this.video.src = null) : (this.video.src = "",
this.videoStream.active ? this.videoStream.active = !1 : this.videoStream.getTracks ? this.videoStream.getTracks().forEach(function(e) {
e.stop()
}) : this.videoStream.stop()),
this.videoStream = null,
this.isStreaming = !1) : (this.video.removeEventListener("ended", this._endCallback, !0),
this.video.removeEventListener("webkitendfullscreen", this._endCallback, !0),
this.video.removeEventListener("playing", this._playCallback, !0),
this.touchLocked ? this._pending = !1 : this.video.pause()),
this
},
add: function(e) {
if (Array.isArray(e))
for (var t = 0; t < e.length; t++)
e[t].loadTexture && e[t].loadTexture(this);
else
e.loadTexture(this);
return this
},
addToWorld: function(e, t, i, r, o, s) {
o = o || 1,
s = s || 1;
var a = this.game.add.image(e, t, this);
return a.anchor.set(i, r),
a.scale.set(o, s),
a
},
render: function() {
!this.disableTextureUpload && this.playing && this.baseTexture.dirty()
},
setMute: function() {
this._muted || (this._muted = !0,
this.video.muted = !0)
},
unsetMute: function() {
this._muted && !this._codeMuted && (this._muted = !1,
this.video.muted = !1)
},
setPause: function() {
this._paused || this.touchLocked || (this._paused = !0,
this.video.pause())
},
setResume: function() {
!this._paused || this._codePaused || this.touchLocked || (this._paused = !1,
this.video.ended || this.video.play())
},
changeSource: function(e, t) {
return void 0 === t && (t = !0),
this.texture.valid = !1,
this.video.pause(),
this.retry = this.retryLimit,
this._retryID = window.setTimeout(this.checkVideoProgress.bind(this), this.retryInterval),
this.video.src = e,
this.video.load(),
(this._autoplay = t) || (this.paused = !0),
this
},
checkVideoProgress: function() {
4 === this.video.readyState ? this.updateTexture() : (this.retry--,
0 < this.retry && (this._retryID = window.setTimeout(this.checkVideoProgress.bind(this), this.retryInterval)))
},
setTouchLock: function() {
this.game.input.touch.addTouchLockCallback(this.unlock, this),
this.touchLocked = !0
},
unlock: function() {
if (this.touchLocked = !1,
this.video.play(),
this.onPlay.dispatch(this, this.loop, this.playbackRate),
this.key) {
var e = this.game.cache.getVideo(this.key);
e && !e.isBlob && (e.locked = !1)
}
return !0
},
grab: function(e, t, i) {
if (void 0 === e && (e = !1),
void 0 === t && (t = 1),
void 0 === i && (i = null),
null !== this.snapshot)
return e && this.snapshot.cls(),
this.snapshot.copy(this.video, 0, 0, this.width, this.height, 0, 0, this.width, this.height, 0, 0, 0, 1, 1, t, i),
this.snapshot
},
removeVideoElement: function() {
if (this.video) {
for (this.video.parentNode && this.video.parentNode.removeChild(this.video); this.video.hasChildNodes(); )
this.video.removeChild(this.video.firstChild);
this.video.removeAttribute("autoplay"),
this.video.removeAttribute("src"),
this.video = null
}
},
destroy: function() {
this.stop(),
this.removeVideoElement(),
this.touchLocked && this.game.input.touch.removeTouchLockCallback(this.unlock, this),
this._retryID && window.clearTimeout(this._retryID)
}
},
Object.defineProperty(W.Video.prototype, "currentTime", {
get: function() {
return this.video ? this.video.currentTime : 0
},
set: function(e) {
this.video.currentTime = e
}
}),
Object.defineProperty(W.Video.prototype, "duration", {
get: function() {
return this.video ? this.video.duration : 0
}
}),
Object.defineProperty(W.Video.prototype, "progress", {
get: function() {
return this.video ? this.video.currentTime / this.video.duration : 0
}
}),
Object.defineProperty(W.Video.prototype, "mute", {
get: function() {
return this._muted
},
set: function(e) {
if (e = e || null) {
if (this._muted)
return;
this._codeMuted = !0,
this.setMute()
} else {
if (!this._muted)
return;
this._codeMuted = !1,
this.unsetMute()
}
}
}),
Object.defineProperty(W.Video.prototype, "paused", {
get: function() {
return this._paused
},
set: function(e) {
if (e = e || null,
!this.touchLocked)
if (e) {
if (this._paused)
return;
this._codePaused = !0,
this.setPause()
} else {
if (!this._paused)
return;
this._codePaused = !1,
this.setResume()
}
}
}),
Object.defineProperty(W.Video.prototype, "volume", {
get: function() {
return this.video ? this.video.volume : 1
},
set: function(e) {
e < 0 ? e = 0 : 1 < e && (e = 1),
this.video && (this.video.volume = e)
}
}),
Object.defineProperty(W.Video.prototype, "playbackRate", {
get: function() {
return this.video ? this.video.playbackRate : 1
},
set: function(e) {
this.video && (this.video.playbackRate = e)
}
}),
Object.defineProperty(W.Video.prototype, "loop", {
get: function() {
return !!this.video && this.video.loop
},
set: function(e) {
e && this.video ? this.video.loop = "loop" : this.video && (this.video.loop = "")
}
}),
Object.defineProperty(W.Video.prototype, "playing", {
get: function() {
return !(this.video.paused && this.video.ended)
}
}),
W.Video.prototype.constructor = W.Video,
void 0 === PIXI.blendModes && (PIXI.blendModes = W.blendModes),
void 0 === PIXI.scaleModes && (PIXI.scaleModes = W.scaleModes),
void 0 === PIXI.Texture.emptyTexture && (PIXI.Texture.emptyTexture = new PIXI.Texture(new PIXI.BaseTexture)),
void 0 === PIXI.DisplayObject._tempMatrix && (PIXI.DisplayObject._tempMatrix = new PIXI.Matrix),
void 0 === PIXI.RenderTexture.tempMatrix && (PIXI.RenderTexture.tempMatrix = new PIXI.Matrix),
PIXI.Graphics && void 0 === PIXI.Graphics.POLY && (PIXI.Graphics.POLY = W.POLYGON,
PIXI.Graphics.RECT = W.RECTANGLE,
PIXI.Graphics.CIRC = W.CIRCLE,
PIXI.Graphics.ELIP = W.ELLIPSE,
PIXI.Graphics.RREC = W.ROUNDEDRECTANGLE),
PIXI.TextureSilentFail = !0,
"undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = W),
exports.Phaser = W) : "undefined" != typeof define && define.amd ? define("Phaser", e.Phaser = W) : e.Phaser = W,
W
}
.call(this),
function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t(e.h5branding = e.h5branding || {})
}(this, function(h) {
"use strict";
var G = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {};
function m() {
throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")
}
function e(e, t) {
return e(t = {
exports: {}
}, t.exports),
t.exports
}
var t, o;
e(function(e, t) {
e.exports = function() {
function h(e) {
return "function" == typeof e
}
var i = Array.isArray ? Array.isArray : function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
}
, r = 0
, t = void 0
, o = void 0
, n = function(e, t) {
u[r] = e,
u[r + 1] = t,
2 === (r += 2) && (o ? o(d) : w())
}
, e = "undefined" != typeof window ? window : void 0
, s = e || {}
, a = s.MutationObserver || s.WebKitMutationObserver
, c = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process)
, l = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel;
function m() {
var e = setTimeout;
return function() {
return e(d, 1)
}
}
var u = new Array(1e3);
function d() {
for (var e = 0; e < r; e += 2) {
var t = u[e]
, i = u[e + 1];
t(i),
u[e] = void 0,
u[e + 1] = void 0
}
r = 0
}
var p, f, y, S, w = void 0;
function g(e, t) {
var i = this
, r = new this.constructor(v);
void 0 === r[b] && O(r);
var o = i._state;
if (o) {
var s = arguments[o - 1];
n(function() {
return I(o, r, s, i._result)
})
} else
E(i, r, e, t);
return r
}
function x(e) {
if (e && "object" == typeof e && e.constructor === this)
return e;
var t = new this(v);
return _(t, e),
t
}
w = c ? function() {
return process.nextTick(d)
}
: a ? (f = 0,
y = new a(d),
S = document.createTextNode(""),
y.observe(S, {
characterData: !0
}),
function() {
S.data = f = ++f % 2
}
) : l ? ((p = new MessageChannel).port1.onmessage = d,
function() {
return p.port2.postMessage(0)
}
) : void 0 === e ? function() {
try {
var e = Function("return this")().require("vertx");
return void 0 === (t = e.runOnLoop || e.runOnContext) ? m() : function() {
t(d)
}
} catch (e) {
return m()
}
}() : m();
var b = Math.random().toString(36).substring(2);
function v() {}
var z = void 0
, C = 1
, T = 2;
function P(e, t, i, r) {
try {
e.call(t, i, r)
} catch (e) {
return e
}
}
function A(e, t, i) {
var r, o, s, a;
t.constructor === e.constructor && i === g && t.constructor.resolve === x ? (s = e,
(a = t)._state === C ? D(s, a._result) : a._state === T ? k(s, a._result) : E(a, void 0, function(e) {
return _(s, e)
}, function(e) {
return k(s, e)
})) : void 0 === i ? D(e, t) : h(i) ? (r = t,
o = i,
n(function(t) {
var i = !1
, e = P(o, r, function(e) {
i || (i = !0,
r !== e ? _(t, e) : D(t, e))
}, function(e) {
i || (i = !0,
k(t, e))
}, t._label);
!i && e && (i = !0,
k(t, e))
}, e)) : D(e, t)
}
function _(t, e) {
if (t === e)
k(t, new TypeError("You cannot resolve a promise with itself"));
else if (o = typeof (r = e),
null === r || "object" !== o && "function" !== o)
D(t, e);
else {
var i = void 0;
try {
i = e.then
} catch (e) {
return void k(t, e)
}
A(t, e, i)
}
var r, o
}
function B(e) {
e._onerror && e._onerror(e._result),
M(e)
}
function D(e, t) {
e._state === z && (e._result = t,
e._state = C,
0 !== e._subscribers.length && n(M, e))
}
function k(e, t) {
e._state === z && (e._state = T,
e._result = t,
n(B, e))
}
function E(e, t, i, r) {
var o = e._subscribers
, s = o.length;
e._onerror = null,
o[s] = t,
o[s + C] = i,
o[s + T] = r,
0 === s && e._state && n(M, e)
}
function M(e) {
var t = e._subscribers
, i = e._state;
if (0 !== t.length) {
for (var r = void 0, o = void 0, s = e._result, a = 0; a < t.length; a += 3)
r = t[a],
o = t[a + i],
r ? I(i, r, o, s) : o(s);
e._subscribers.length = 0
}
}
function I(e, t, i, r) {
var o = h(i)
, s = void 0
, a = void 0
, n = !0;
if (o) {
try {
s = i(r)
} catch (e) {
n = !1,
a = e
}
if (t === s)
return void k(t, new TypeError("A promises callback cannot return that same promise."))
} else
s = r;
t._state !== z || (o && n ? _(t, s) : !1 === n ? k(t, a) : e === C ? D(t, s) : e === T && k(t, s))
}
var L = 0;
function O(e) {
e[b] = L++,
e._state = void 0,
e._result = void 0,
e._subscribers = []
}
var R = function() {
function e(e, t) {
this._instanceConstructor = e,
this.promise = new e(v),
this.promise[b] || O(this.promise),
i(t) ? (this.length = t.length,
this._remaining = t.length,
this._result = new Array(this.length),
0 === this.length ? D(this.promise, this._result) : (this.length = this.length || 0,
this._enumerate(t),
0 === this._remaining && D(this.promise, this._result))) : k(this.promise, new Error("Array Methods must be provided an Array"))
}
return e.prototype._enumerate = function(e) {
for (var t = 0; this._state === z && t < e.length; t++)
this._eachEntry(e[t], t)
}
,
e.prototype._eachEntry = function(t, e) {
var i = this._instanceConstructor
, r = i.resolve;
if (r === x) {
var o = void 0
, s = void 0
, a = !1;
try {
o = t.then
} catch (e) {
a = !0,
s = e
}
if (o === g && t._state !== z)
this._settledAt(t._state, e, t._result);
else if ("function" != typeof o)
this._remaining--,
this._result[e] = t;
else if (i === F) {
var n = new i(v);
a ? k(n, s) : A(n, t, o),
this._willSettleAt(n, e)
} else
this._willSettleAt(new i(function(e) {
return e(t)
}
), e)
} else
this._willSettleAt(r(t), e)
}
,
e.prototype._settledAt = function(e, t, i) {
var r = this.promise;
r._state === z && (this._remaining--,
e === T ? k(r, i) : this._result[t] = i),
0 === this._remaining && D(r, this._result)
}
,
e.prototype._willSettleAt = function(e, t) {
var i = this;
E(e, void 0, function(e) {
return i._settledAt(C, t, e)
}, function(e) {
return i._settledAt(T, t, e)
})
}
,
e
}()
, F = function() {
function t(e) {
this[b] = L++,
this._result = this._state = void 0,
this._subscribers = [],
v !== e && ("function" != typeof e && function() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}(),
this instanceof t ? function(t, e) {
try {
e(function(e) {
_(t, e)
}, function(e) {
k(t, e)
})
} catch (e) {
k(t, e)
}
}(this, e) : function() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}())
}
return t.prototype.catch = function(e) {
return this.then(null, e)
}
,
t.prototype.finally = function(t) {
var i = this.constructor;
return h(t) ? this.then(function(e) {
return i.resolve(t()).then(function() {
return e
})
}, function(e) {
return i.resolve(t()).then(function() {
throw e
})
}) : this.then(t, t)
}
,
t
}();
return F.prototype.then = g,
F.all = function(e) {
return new R(this,e).promise
}
,
F.race = function(o) {
var s = this;
return i(o) ? new s(function(e, t) {
for (var i = o.length, r = 0; r < i; r++)
s.resolve(o[r]).then(e, t)
}
) : new s(function(e, t) {
return t(new TypeError("You must pass an array to race."))
}
)
}
,
F.resolve = x,
F.reject = function(e) {
var t = new this(v);
return k(t, e),
t
}
,
F._setScheduler = function(e) {
o = e
}
,
F._setAsap = function(e) {
n = e
}
,
F._asap = n,
F.polyfill = function() {
var e = void 0;
if (void 0 !== G)
e = G;
else if ("undefined" != typeof self)
e = self;
else
try {
e = Function("return this")()
} catch (e) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var t = e.Promise;
if (t) {
var i = null;
try {
i = Object.prototype.toString.call(t.resolve())
} catch (e) {}
if ("[object Promise]" === i && !t.cast)
return
}
e.Promise = F
}
,
F.Promise = F
}()
}),
e(function(e, t) {
e.exports = function() {
function h(e) {
return "function" == typeof e
}
var i = Array.isArray ? Array.isArray : function(e) {
return "[object Array]" === Object.prototype.toString.call(e)
}
, r = 0
, t = void 0
, o = void 0
, n = function(e, t) {
u[r] = e,
u[r + 1] = t,
2 === (r += 2) && (o ? o(d) : w())
}
, e = "undefined" != typeof window ? window : void 0
, s = e || {}
, a = s.MutationObserver || s.WebKitMutationObserver
, c = "undefined" == typeof self && "undefined" != typeof process && "[object process]" === {}.toString.call(process)
, l = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel;
function m() {
var e = setTimeout;
return function() {
return e(d, 1)
}
}
var u = new Array(1e3);
function d() {
for (var e = 0; e < r; e += 2) {
var t = u[e]
, i = u[e + 1];
t(i),
u[e] = void 0,
u[e + 1] = void 0
}
r = 0
}
var p, f, y, S, w = void 0;
function g(e, t) {
var i = this
, r = new this.constructor(v);
void 0 === r[b] && O(r);
var o = i._state;
if (o) {
var s = arguments[o - 1];
n(function() {
return I(o, r, s, i._result)
})
} else
E(i, r, e, t);
return r
}
function x(e) {
if (e && "object" == typeof e && e.constructor === this)
return e;
var t = new this(v);
return _(t, e),
t
}
w = c ? function() {
return process.nextTick(d)
}
: a ? (f = 0,
y = new a(d),
S = document.createTextNode(""),
y.observe(S, {
characterData: !0
}),
function() {
S.data = f = ++f % 2
}
) : l ? ((p = new MessageChannel).port1.onmessage = d,
function() {
return p.port2.postMessage(0)
}
) : void 0 === e ? function() {
try {
var e = Function("return this")().require("vertx");
return void 0 === (t = e.runOnLoop || e.runOnContext) ? m() : function() {
t(d)
}
} catch (e) {
return m()
}
}() : m();
var b = Math.random().toString(36).substring(2);
function v() {}
var z = void 0
, C = 1
, T = 2;
function P(e, t, i, r) {
try {
e.call(t, i, r)
} catch (e) {
return e
}
}
function A(e, t, i) {
var r, o, s, a;
t.constructor === e.constructor && i === g && t.constructor.resolve === x ? (s = e,
(a = t)._state === C ? D(s, a._result) : a._state === T ? k(s, a._result) : E(a, void 0, function(e) {
return _(s, e)
}, function(e) {
return k(s, e)
})) : void 0 === i ? D(e, t) : h(i) ? (r = t,
o = i,
n(function(t) {
var i = !1
, e = P(o, r, function(e) {
i || (i = !0,
r !== e ? _(t, e) : D(t, e))
}, function(e) {
i || (i = !0,
k(t, e))
}, t._label);
!i && e && (i = !0,
k(t, e))
}, e)) : D(e, t)
}
function _(t, e) {
if (t === e)
k(t, new TypeError("You cannot resolve a promise with itself"));
else if (o = typeof (r = e),
null === r || "object" !== o && "function" !== o)
D(t, e);
else {
var i = void 0;
try {
i = e.then
} catch (e) {
return void k(t, e)
}
A(t, e, i)
}
var r, o
}
function B(e) {
e._onerror && e._onerror(e._result),
M(e)
}
function D(e, t) {
e._state === z && (e._result = t,
e._state = C,
0 !== e._subscribers.length && n(M, e))
}
function k(e, t) {
e._state === z && (e._state = T,
e._result = t,
n(B, e))
}
function E(e, t, i, r) {
var o = e._subscribers
, s = o.length;
e._onerror = null,
o[s] = t,
o[s + C] = i,
o[s + T] = r,
0 === s && e._state && n(M, e)
}
function M(e) {
var t = e._subscribers
, i = e._state;
if (0 !== t.length) {
for (var r = void 0, o = void 0, s = e._result, a = 0; a < t.length; a += 3)
r = t[a],
o = t[a + i],
r ? I(i, r, o, s) : o(s);
e._subscribers.length = 0
}
}
function I(e, t, i, r) {
var o = h(i)
, s = void 0
, a = void 0
, n = !0;
if (o) {
try {
s = i(r)
} catch (e) {
n = !1,
a = e
}
if (t === s)
return void k(t, new TypeError("A promises callback cannot return that same promise."))
} else
s = r;
t._state !== z || (o && n ? _(t, s) : !1 === n ? k(t, a) : e === C ? D(t, s) : e === T && k(t, s))
}
var L = 0;
function O(e) {
e[b] = L++,
e._state = void 0,
e._result = void 0,
e._subscribers = []
}
var R = function() {
function e(e, t) {
this._instanceConstructor = e,
this.promise = new e(v),
this.promise[b] || O(this.promise),
i(t) ? (this.length = t.length,
this._remaining = t.length,
this._result = new Array(this.length),
0 === this.length ? D(this.promise, this._result) : (this.length = this.length || 0,
this._enumerate(t),
0 === this._remaining && D(this.promise, this._result))) : k(this.promise, new Error("Array Methods must be provided an Array"))
}
return e.prototype._enumerate = function(e) {
for (var t = 0; this._state === z && t < e.length; t++)
this._eachEntry(e[t], t)
}
,
e.prototype._eachEntry = function(t, e) {
var i = this._instanceConstructor
, r = i.resolve;
if (r === x) {
var o = void 0
, s = void 0
, a = !1;
try {
o = t.then
} catch (e) {
a = !0,
s = e
}
if (o === g && t._state !== z)
this._settledAt(t._state, e, t._result);
else if ("function" != typeof o)
this._remaining--,
this._result[e] = t;
else if (i === F) {
var n = new i(v);
a ? k(n, s) : A(n, t, o),
this._willSettleAt(n, e)
} else
this._willSettleAt(new i(function(e) {
return e(t)
}
), e)
} else
this._willSettleAt(r(t), e)
}
,
e.prototype._settledAt = function(e, t, i) {
var r = this.promise;
r._state === z && (this._remaining--,
e === T ? k(r, i) : this._result[t] = i),
0 === this._remaining && D(r, this._result)
}
,
e.prototype._willSettleAt = function(e, t) {
var i = this;
E(e, void 0, function(e) {
return i._settledAt(C, t, e)
}, function(e) {
return i._settledAt(T, t, e)
})
}
,
e
}()
, F = function() {
function t(e) {
this[b] = L++,
this._result = this._state = void 0,
this._subscribers = [],
v !== e && ("function" != typeof e && function() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}(),
this instanceof t ? function(t, e) {
try {
e(function(e) {
_(t, e)
}, function(e) {
k(t, e)
})
} catch (e) {
k(t, e)
}
}(this, e) : function() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}())
}
return t.prototype.catch = function(e) {
return this.then(null, e)
}
,
t.prototype.finally = function(t) {
var i = this.constructor;
return h(t) ? this.then(function(e) {
return i.resolve(t()).then(function() {
return e
})
}, function(e) {
return i.resolve(t()).then(function() {
throw e
})
}) : this.then(t, t)
}
,
t
}();
return F.prototype.then = g,
F.all = function(e) {
return new R(this,e).promise
}
,
F.race = function(o) {
var s = this;
return i(o) ? new s(function(e, t) {
for (var i = o.length, r = 0; r < i; r++)
s.resolve(o[r]).then(e, t)
}
) : new s(function(e, t) {
return t(new TypeError("You must pass an array to race."))
}
)
}
,
F.resolve = x,
F.reject = function(e) {
var t = new this(v);
return k(t, e),
t
}
,
F._setScheduler = function(e) {
o = e
}
,
F._setAsap = function(e) {
n = e
}
,
F._asap = n,
F.polyfill = function() {
var e = void 0;
if (void 0 !== G)
e = G;
else if ("undefined" != typeof self)
e = self;
else
try {
e = Function("return this")()
} catch (e) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var t = e.Promise;
if (t) {
var i = null;
try {
i = Object.prototype.toString.call(t.resolve())
} catch (e) {}
if ("[object Promise]" === i && !t.cast)
return
}
e.Promise = F
}
,
F.Promise = F
}()
}).polyfill();
(t = h.BrandingDomain || (h.BrandingDomain = {}))[t.Neutral = 0] = "Neutral",
t[t.Yepi = 1] = "Yepi",
t[t.Spele = 2] = "Spele",
t[t.Funnygames = 3] = "Funnygames",
t[t.Kizi = 4] = "Kizi",
t[t.PlayCell = 5] = "PlayCell",
t[t.GameCell = 6] = "GameCell",
t[t.Bild = 7] = "Bild",
t[t.Spil = 8] = "Spil",
t[t.Admeen = 9] = "Admeen";
var i, r = function() {
function e() {}
return e.has = function(e) {
var t = e.lastIndexOf(".");
if (t <= 0 || t >= e.length - 1)
return !1;
var i = e.lastIndexOf(".", t - 1);
if (i <= 0 || t - 1 <= i)
return !1;
var r = o[e.slice(t + 1)];
return !!r && 0 <= r.indexOf(" " + e.slice(i + 1, t) + " ")
}
,
e.is = function(e) {
var t = e.lastIndexOf(".");
if (t <= 0 || t >= e.length - 1)
return !1;
if (0 <= e.lastIndexOf(".", t - 1))
return !1;
var i = o[e.slice(t + 1)];
return !!i && 0 <= i.indexOf(" " + e.slice(0, t) + " ")
}
,
e.get = function(e) {
var t = e.lastIndexOf(".");
if (t <= 0 || t >= e.length - 1)
return null;
var i = e.lastIndexOf(".", t - 1);
if (i <= 0 || t - 1 <= i)
return null;
var r = o[e.slice(t + 1)];
return r ? r.indexOf(" " + e.slice(i + 1, t) + " ") < 0 ? null : e.slice(i + 1) : null
}
,
e
}(), s = function() {
function e() {}
return e.setList = function(e) {
o = e || {}
}
,
e.getDomain = function(e) {
if (!o)
return null;
var t = e.match(/\./g);
if (t && t.length < 2)
return e;
var i = this.getTld(e);
if (!i)
return null;
var r = e.length - i.length - 1;
return r = e.lastIndexOf(".", r - 1) + 1,
e.substring(r) || ""
}
,
e.getTld = function(e) {
if (!o)
return "";
var t = e.lastIndexOf(".")
, i = e.substring(t + 1);
return o[i.toLowerCase()] && r.get(e) || i
}
,
e.KEY = "Domains",
e
}(), a = function() {
function e() {
this.cache = {}
}
return Object.defineProperty(e, "instance", {
get: function() {
return void 0 === e.classInstance && (e.classInstance = new e),
e.classInstance
},
enumerable: !0,
configurable: !0
}),
e.prototype.load = function(t, e, i) {
var r = this;
return this.contains(t) ? Promise.reject("Already in cache.") : (this.cache[t] = {
url: e,
data: null
},
this.requestXhr(e, i).then(function(e) {
return r.loadComplete(t, e)
}).catch(function(e) {
return r.remove(t),
Promise.reject(e)
}))
}
,
e.prototype.loadComplete = function(e, t) {
if (!this.contains(e))
return Promise.reject("Item was removed from cache before loading was complete.");
try {
var i = JSON.parse(t);
return this.cache[e].data = i,
Promise.resolve(i)
} catch (e) {
return Promise.reject("There was an error parsing JSON file.")
}
}
,
e.prototype.remove = function(e) {
this.contains(e) && delete this.cache[e]
}
,
e.prototype.get = function(e) {
return this.contains(e) ? this.cache[e].data : null
}
,
e.prototype.contains = function(e) {
return this.cache.hasOwnProperty(e)
}
,
e.prototype.isLoading = function(e) {
return this.contains(e) && null === this.cache[e].data
}
,
e.prototype.isLoaded = function(e) {
return this.contains(e) && null !== this.cache[e].data
}
,
e.prototype.loadScript = function(r, e, o) {
return void 0 === e && (e = !0),
new Promise(function(e, t) {
var i = document.createElement("script");
i.src = r,
i.async = !1,
i.onload = function() {
"function" == typeof o && o(),
e()
}
,
document.head.appendChild(i)
}
)
}
,
e.prototype.requestXhr = function(i, r) {
if (typeof i === 'string' || i instanceof String) {
i= i.replace("https://cdn.fbrq.io/@azerion/splash/assets/json/", "json/null.json?");
console.log("--fx--2--", i);
}
var o;
return void 0 === r && (r = "application/json"),
window.XMLHttpRequest ? (o = new XMLHttpRequest,
new Promise(function(e, t) {
o.onreadystatechange = function() {
4 === o.readyState && (200 === o.status ? (e(o.responseText),
o.onreadystatechange = null) : 0 < o.status && (t("There was a problem with the request: status " + o.status),
o.onreadystatechange = null))
}
;
try {
console.log("--fx--open--", i),
o.open("GET", i, !0),
o.setRequestHeader("Content-Type", r),
o.send()
} catch (e) {
t("Error: Unable to send request, CORS not allowed.")
}
}
)) : Promise.reject("Unable to send request, XMLHttpRequest not supported.")
}
,
e
}();
function n(e, t, i) {
var r = document.createElement("script");
r.setAttribute("src", e + "?v=" + t),
"function" == typeof i && (r.onload = i),
document.body.appendChild(r)
}
(i = h.UtmTargets || (h.UtmTargets = {}))[i.splashscreen = 0] = "splashscreen",
i[i.logo = 1] = "logo",
i[i.facebook = 2] = "facebook",
i[i.twitter = 3] = "twitter",
i[i.playstore = 4] = "playstore",
i[i.appstore = 5] = "appstore",
i[i.more_games = 6] = "more_games",
i[i.download_game = 7] = "download_game",
i[i.walkthrough = 8] = "walkthrough",
i[i.disclaimer = 9] = "disclaimer",
i[i.highscores = 10] = "highscores";
var c, l, u, d, p, f, y, S, w, g, x, b, v = function() {
function e() {}
return e.loadPortalScript = function(e) {
e && e.hasOwnProperty("minijuegos") && -1 !== e.minijuegos.indexOf(C.getSourceSite()) && (void 0 !== window.mpConfig ? window.mpConfig.partner = "orange-games" : window.mpConfig = {
partner: "orange-games"
},
n("https://ext.minijuegosgratis.com/external-host/main.js", Date.now() / 1e3)),
e && e.hasOwnProperty("kongregate") && -1 !== e.kongregate.indexOf(C.getSourceSite()) && n("https://cdn1.kongregate.com/javascripts/kongregate_api.js", Date.now() / 1e3, function() {
"undefined" != typeof kongregateAPI && kongregateAPI.loadAPI(function() {
window.kongregate = kongregateAPI.getAPI()
})
}),
e && e.hasOwnProperty("newgrounds") && -1 !== e.newgrounds.indexOf(C.getSourceSite()) && n("https://cdn.fbrq.io/@azerion/splash/assets/scripts/newgroundsio.min.js", Date.now() / 1e3)
}
,
e
}(), z = function() {
function n() {}
return n.preload = function(e) {
var t = Promise.all([a.instance.load(s.KEY, C.ASSET_LOCATION + "json/domains.json?v=" + e, "text/plain"), a.instance.load(n.SITELOCK_PORTALS, C.ASSET_LOCATION + "json/sitelock.json?v=" + e, "text/plain")]);
return Promise.all([a.instance.load(n.INTERNAL_PORTALS_KEY, C.ASSET_LOCATION + "json/internal.json?v=" + e, "text/plain"), a.instance.load(n.CONTRACTED_PORTALS_KEY, C.ASSET_LOCATION + "json/contracted.json?v=" + e, "text/plain"), a.instance.load(n.SPECIAL_PORTALS_KEY, C.ASSET_LOCATION + "json/special.json?v=" + e, "text/plain"), a.instance.load(n.GAME_ICONS_KEY, C.ASSET_LOCATION + "json/games.json?v=" + e, "text/plain")]),
t.then(function(e) {
var t = e[0]
, i = e[1];
s.setList(t),
v.loadPortalScript(i),
n.setSiteLock(i)
}).catch(function() {})
}
,
n.setSiteLock = function(e) {
n.siteLocks = e
}
,
Object.defineProperty(n, "brandingLogoUrl", {
get: function() {
var e;
switch (C.isOnDevice() || n.isAirfi() ? C.ASSET_LOCATION = "assets/" : "fbrq.io" === C.getSourceSite(!0) && (C.ASSET_LOCATION = "https://" + window.location.host + "/@azerion/splash/assets/"),
C.getBrandingDomain()) {
case h.BrandingDomain.Spele:
e = "spele";
break;
case h.BrandingDomain.PlayCell:
e = "playcell";
break;
case h.BrandingDomain.GameCell:
e = "gamecell";
break;
case h.BrandingDomain.Yepi:
e = "yepi";
break;
case h.BrandingDomain.Spil:
e = "spil";
break;
case h.BrandingDomain.Admeen:
e = "admeen";
break;
case h.BrandingDomain.Bild:
e = "bild";
break;
default:
case h.BrandingDomain.Kizi:
e = "kizi";
break;
case h.BrandingDomain.Funnygames:
e = "funnygames"
}
return C.ASSET_LOCATION + "images/branding_logo_" + e + "_small.png"
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(n, "brandingBackgroundColor", {
get: function() {
var e;
switch (C.getBrandingDomain()) {
case h.BrandingDomain.Spele:
e = "#4a72ad";
break;
case h.BrandingDomain.PlayCell:
e = "#52a1e1";
break;
case h.BrandingDomain.GameCell:
e = "#c600b2";
break;
case h.BrandingDomain.Yepi:
e = "#0573a7";
break;
case h.BrandingDomain.Spil:
e = "#0C486C";
break;
case h.BrandingDomain.Admeen:
e = "#4267B2";
break;
case h.BrandingDomain.Bild:
e = "#de0000";
break;
default:
case h.BrandingDomain.Kizi:
e = "#012f50";
break;
case h.BrandingDomain.Funnygames:
e = "#33b0ff"
}
return e
},
enumerable: !0,
configurable: !0
}),
n.openCampaignLink = function(e, t) {
if (!C.isOnDevice() && !n.isSpecial() && n.outGoingLinksAllowed()) {
var i, r, o = C.getSourceSite(), s = C.isOnDevice() ? "https://" : "//";
switch (C.getBrandingDomain()) {
case h.BrandingDomain.Spele:
i = s + "www.spele.nl";
break;
case h.BrandingDomain.Yepi:
i = s + "www.yepi.com";
break;
case h.BrandingDomain.Admeen:
return i = "https://media.admeen.com/branding/link.php",
void ((r = window.open(i, "_blank")) && r.focus && r.focus());
case h.BrandingDomain.PlayCell:
i = s + "www.playcell.com";
break;
case h.BrandingDomain.GameCell:
i = s + "www.gamecell.com";
break;
default:
case h.BrandingDomain.Kizi:
i = "http://www.kizi.com";
break;
case h.BrandingDomain.Bild:
return void ((r = window.open(s + "www.bildspielt.de", "_blank")) && r.focus && r.focus());
case h.BrandingDomain.Funnygames:
i = s + "www.funnygames.nu"
}
var a = "string" == typeof t ? t : h.UtmTargets[t];
(r = window.open(i + "/?utm_source=" + o + "&utm_medium=html5&utm_term=" + e + "&utm_content=" + a + "&utm_campaign=Gamedistribution", "_blank")) && r.focus && r.focus()
}
}
,
n.isInternal = function() {
return n.hostMatchesList(a.instance.get(n.INTERNAL_PORTALS_KEY))
}
,
n.isContracted = function() {
return n.hostMatchesList(a.instance.get(n.CONTRACTED_PORTALS_KEY))
}
,
n.isSpecial = function() {
return n.hostMatchesList(a.instance.get(n.SPECIAL_PORTALS_KEY))
}
,
n.isAdmeen = function() {
if (!n.siteLocks || !n.siteLocks.hasOwnProperty("admeen"))
return !1;
var e = n.siteLocks.admeen;
return n.hostMatchesList(e)
}
,
n.isKongregate = function() {
if (!n.siteLocks || !n.siteLocks.hasOwnProperty("kongregate"))
return !1;
var e = n.siteLocks.kongregate;
return n.hostMatchesList(e)
}
,
n.isNewgrounds = function() {
if (!n.siteLocks || !n.siteLocks.hasOwnProperty("newgrounds"))
return !1;
var e = n.siteLocks.newgrounds;
return n.hostMatchesList(e)
}
,
n.isBild = function() {
return "bild.fbrq.io" === window.location.host || -1 !== window.location.host.indexOf("contentfleet.com")
}
,
n.isPlaytime = function() {
return -1 !== window.location.host.indexOf("playtime.nl")
}
,
n.isBip = function() {
return -1 !== window.location.search.indexOf("bipgaming") || "bip.fbrq.io" === window.location.host
}
,
n.isPlaycellApp = function() {
return -1 !== window.location.search.indexOf("playcellApp")
}
,
n.isSpil = function() {
return -1 !== document.referrer.indexOf("gameplayer.io")
}
,
n.isAirfi = function() {
return !!window.hasOwnProperty("airfi") && window.airfi
}
,
n.outGoingLinksAllowed = function() {
return !(n.isAirfi() || n.isSpecial() || n.isContracted()) && (!window.hasOwnProperty("fbrqLA") || window.fbrqLA)
}
,
n.hostMatchesList = function(e) {
e = e || [];
for (var t = C.getSourceSite(), i = 0; i < e.length; i++)
if (t === e[i])
return !0;
return !1
}
,
n.LOGO_KEY = "branding_logo",
n.INTERNAL_PORTALS_KEY = "branding_portals",
n.CONTRACTED_PORTALS_KEY = "branding_contracted",
n.SPECIAL_PORTALS_KEY = "branding_special",
n.SITELOCK_PORTALS = "sitelock_portals",
n.GAME_ICONS_KEY = "more_games",
n.DOMAIN_OVERWRITE = null,
n.analyticsEnabled = !0,
n
}(), C = function() {
function r() {}
return r.getSourceSite = function(e) {
void 0 === e && (e = !1);
var t = document.referrer || window.location.host;
if (e && (t = window.location.host),
-1 !== t.indexOf("embed.gamedistribution.com") && -1 !== window.location.search.indexOf("gd_sdk_referrer_url") && (t = r.getUrlParameter("gd_sdk_referrer_url") || t),
t = decodeURIComponent(t),
z.isBild())
return "bildspielt.de";
if (z.isBip())
return "bipgaming.com";
z.isSpil() && (t = r.getReferrer(t)),
t = (t = -1 < t.indexOf("://") ? t.split("/")[2] : t.split("/")[0]).split(":")[0];
var i = s.getDomain(t);
return null !== i ? i : (3 === t.split(".").length && (t = t.substr(t.indexOf(".") + 1)),
t)
}
,
r.getBrandingDomain = function() {
if (window.hasOwnProperty("fbrqBD") && window.fbrqBD in h.BrandingDomain)
return window.fbrqBD;
if (z.DOMAIN_OVERWRITE)
return z.DOMAIN_OVERWRITE;
var e = r.getSourceSite();
if (z.isAdmeen())
return h.BrandingDomain.Admeen;
if (z.isPlaycellApp() || z.isBip())
return h.BrandingDomain.PlayCell;
switch (e) {
case "spele.nl":
return h.BrandingDomain.Spele;
case "yepi.com":
return h.BrandingDomain.Yepi;
case "oyunskor.com":
case "barbioyunu.com.tr":
case "bebekoyunu.com.tr":
case "oyunkolu.com":
case "oyungemisi.com":
case "oyunlar1.com":
case "oyunkuzusu.com":
case "kraloyun.com":
case "rekoroyun.com":
case "oyundedem.com":
case "oyunoyna.com":
case "pastaoyunu.com.tr":
case "playcell.com":
return h.BrandingDomain.PlayCell;
case "gamecell.com":
return h.BrandingDomain.GameCell;
case "playxl.com":
return h.BrandingDomain.Admeen;
default:
case "kizi.com":
return h.BrandingDomain.Kizi;
case "bildspielt.de":
return h.BrandingDomain.Bild;
case "funnygames.nl":
return h.BrandingDomain.Funnygames
}
}
,
r.getReferrer = function(e) {
return -1 !== e.indexOf("?ref=") ? e.substr(e.indexOf("?ref=") + 5) : e
}
,
r.inIframe = function() {
try {
return window.self !== window.top
} catch (e) {
return !0
}
}
,
r.inGDGameZone = function() {
return -1 !== document.referrer.indexOf("html5.gamedistribution.com")
}
,
r.getDomain = function(e) {
var t = document.createElement("a");
return t.href = e,
t.origin
}
,
r.isOnDevice = function() {
return void 0 !== window.cordova && !/(gamedistribution\.com)/.test(window.location.hostname)
}
,
r.isTc = function() {
return /(teamcity\.azerdev\.com)/.test(window.location.host)
}
,
r.getRandomRange = function(e, t) {
return Math.random() * (t - e) + e | 0
}
,
r.getUrlParameter = function(e) {
e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var t = new RegExp("[\\?&]" + e + "=([^&#]*)").exec(location.search);
return null === t ? "" : decodeURIComponent(t[1].replace(/\+/g, " "))
}
,
r.intTimeToString = function(e) {
var t = Math.floor(e / 3600)
, i = Math.floor(e % 3600 / 60)
, r = e % 60;
return (t < 10 ? "0" + t : t.toString()) + ":" + (i < 10 ? "0" + i : i.toString()) + ":" + (r < 10 ? "0" + r : r.toString())
}
,
r.ASSET_LOCATION = window.hasOwnProperty("fbrqSA") && !0 === window.fbrqSA ? "assets/" : "https://cdn.fbrq.io/@azerion/splash/assets/",
r
}(), T = function() {
function e() {}
return e.preload = function() {
return z.analyticsEnabled ? new Promise(function(e, t) {
var i, r, o, s, a, n = C.isOnDevice() ? "https://" : "//";
i = window,
r = document,
o = "js/null.js?"+n + "www.google-analytics.com/analytics.js",
i.GoogleAnalyticsObject = "ga",
i.ga = i.ga ? i.ga : function() {
(i.ga.q = i.ga.q || []).push(arguments)
}
,
i.ga.l = Date.now(),
s = r.createElement("script"),
a = r.getElementsByTagName("script")[0],
s.async = 1,
s.src = o,
a.parentNode.insertBefore(s, a),
e()
}
) : Promise.resolve()
}
,
e.prototype.setup = function(e, t, i, r, o) {
if (void 0 === r && (r = "auto"),
void 0 === o && (o = 100),
!z.analyticsEnabled)
return null;
if (ga("create", e, r, {
sampleRate: o
}),
C.isOnDevice() && ga("set", "checkProtocolTask", null),
void 0 !== t && ga("set", "appName", t),
void 0 !== t && ga("set", "appVersion", i),
ga("send", "pageview"),
"auto" !== r) {
var s = {
name: "fbrq",
sampleRate: 1
};
for (var a in r)
r.hasOwnProperty(a) && (s[a] = r[a]);
ga("create", "UA-60359297-50", s)
} else
ga("create", "UA-60359297-50", r, "fbrq", {
sampleRate: 1
});
if (z.isSpil()) {
var n = C.getReferrer(decodeURIComponent(document.referrer));
ga("fbrq.set", "referrer", n),
ga("set", "referrer", n)
}
return C.isOnDevice() && ga("fbrq.set", "checkProtocolTask", null),
ga("fbrq.set", "appName", "All"),
ga("fbrq.send", "pageview"),
ga
}
,
e.prototype.sendScreenView = function(t) {
z.analyticsEnabled && ["send", "fbrq.send"].forEach(function(e) {
ga(e, "screenview", {
screenName: t
})
})
}
,
e.prototype.sendGenericEvent = function(t, i, r) {
z.analyticsEnabled && ["send", "fbrq.send"].forEach(function(e) {
ga(e, "event", t, i, r)
})
}
,
e
}(), P = P || function(n, e) {
var t = {}
, i = t.lib = {}
, r = function() {}
, o = i.Base = {
extend: function(e) {
r.prototype = this;
var t = new r;
return e && t.mixIn(e),
t.hasOwnProperty("init") || (t.init = function() {
t.$super.init.apply(this, arguments)
}
),
(t.init.prototype = t).$super = this,
t
},
create: function() {
var e = this.extend();
return e.init.apply(e, arguments),
e
},
init: function() {},
mixIn: function(e) {
for (var t in e)
e.hasOwnProperty(t) && (this[t] = e[t]);
e.hasOwnProperty("toString") && (this.toString = e.toString)
},
clone: function() {
return this.init.prototype.extend(this)
}
}
, h = i.WordArray = o.extend({
init: function(e, t) {
e = this.words = e || [],
this.sigBytes = null != t ? t : 4 * e.length
},
toString: function(e) {
return (e || a).stringify(this)
},
concat: function(e) {
var t = this.words
, i = e.words
, r = this.sigBytes;
if (e = e.sigBytes,
this.clamp(),
r % 4)
for (var o = 0; o < e; o++)
t[r + o >>> 2] |= (i[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 24 - (r + o) % 4 * 8;
else if (65535 < i.length)
for (o = 0; o < e; o += 4)
t[r + o >>> 2] = i[o >>> 2];
else
t.push.apply(t, i);
return this.sigBytes += e,
this
},
clamp: function() {
var e = this.words
, t = this.sigBytes;
e[t >>> 2] &= 4294967295 << 32 - t % 4 * 8,
e.length = n.ceil(t / 4)
},
clone: function() {
var e = o.clone.call(this);
return e.words = this.words.slice(0),
e
},
random: function(e) {
for (var t = [], i = 0; i < e; i += 4)
t.push(4294967296 * n.random() | 0);
return new h.init(t,e)
}
})
, s = t.enc = {}
, a = s.Hex = {
stringify: function(e) {
var t = e.words;
e = e.sigBytes;
for (var i = [], r = 0; r < e; r++) {
var o = t[r >>> 2] >>> 24 - r % 4 * 8 & 255;
i.push((o >>> 4).toString(16)),
i.push((15 & o).toString(16))
}
return i.join("")
},
parse: function(e) {
for (var t = e.length, i = [], r = 0; r < t; r += 2)
i[r >>> 3] |= parseInt(e.substr(r, 2), 16) << 24 - r % 8 * 4;
return new h.init(i,t / 2)
}
}
, c = s.Latin1 = {
stringify: function(e) {
var t = e.words;
e = e.sigBytes;
for (var i = [], r = 0; r < e; r++)
i.push(String.fromCharCode(t[r >>> 2] >>> 24 - r % 4 * 8 & 255));
return i.join("")
},
parse: function(e) {
for (var t = e.length, i = [], r = 0; r < t; r++)
i[r >>> 2] |= (255 & e.charCodeAt(r)) << 24 - r % 4 * 8;
return new h.init(i,t)
}
}
, l = s.Utf8 = {
stringify: function(e) {
try {
return decodeURIComponent(escape(c.stringify(e)))
} catch (e) {
throw Error("Malformed UTF-8 data")
}
},
parse: function(e) {
return c.parse(unescape(encodeURIComponent(e)))
}
}
, m = i.BufferedBlockAlgorithm = o.extend({
reset: function() {
this._data = new h.init,
this._nDataBytes = 0
},
_append: function(e) {
"string" == typeof e && (e = l.parse(e)),
this._data.concat(e),
this._nDataBytes += e.sigBytes
},
_process: function(e) {
var t = this._data
, i = t.words
, r = t.sigBytes
, o = this.blockSize
, s = r / (4 * o);
if (e = (s = e ? n.ceil(s) : n.max((0 | s) - this._minBufferSize, 0)) * o,
r = n.min(4 * e, r),
e) {
for (var a = 0; a < e; a += o)
this._doProcessBlock(i, a);
a = i.splice(0, e),
t.sigBytes -= r
}
return new h.init(a,r)
},
clone: function() {
var e = o.clone.call(this);
return e._data = this._data.clone(),
e
},
_minBufferSize: 0
});
i.Hasher = m.extend({
cfg: o.extend(),
init: function(e) {
this.cfg = this.cfg.extend(e),
this.reset()
},
reset: function() {
m.reset.call(this),
this._doReset()
},
update: function(e) {
return this._append(e),
this._process(),
this
},
finalize: function(e) {
return e && this._append(e),
this._doFinalize()
},
blockSize: 16,
_createHelper: function(i) {
return function(e, t) {
return new i.init(t).finalize(e)
}
},
_createHmacHelper: function(i) {
return function(e, t) {
return new u.HMAC.init(i,t).finalize(e)
}
}
});
var u = t.algo = {};
return t
}(Math);
!function(o) {
for (var e = P, t = (r = e.lib).WordArray, i = r.Hasher, r = e.algo, s = [], p = [], a = function(e) {
return 4294967296 * (e - (0 | e)) | 0
}, n = 2, h = 0; h < 64; ) {
var c;
e: {
c = n;
for (var l = o.sqrt(c), m = 2; m <= l; m++)
if (!(c % m)) {
c = !1;
break e
}
c = !0
}
c && (h < 8 && (s[h] = a(o.pow(n, .5))),
p[h] = a(o.pow(n, 1 / 3)),
h++),
n++
}
var f = [];
r = r.SHA256 = i.extend({
_doReset: function() {
this._hash = new t.init(s.slice(0))
},
_doProcessBlock: function(e, t) {
for (var i = this._hash.words, r = i[0], o = i[1], s = i[2], a = i[3], n = i[4], h = i[5], c = i[6], l = i[7], m = 0; m < 64; m++) {
if (m < 16)
f[m] = 0 | e[t + m];
else {
var u = f[m - 15]
, d = f[m - 2];
f[m] = ((u << 25 | u >>> 7) ^ (u << 14 | u >>> 18) ^ u >>> 3) + f[m - 7] + ((d << 15 | d >>> 17) ^ (d << 13 | d >>> 19) ^ d >>> 10) + f[m - 16]
}
u = l + ((n << 26 | n >>> 6) ^ (n << 21 | n >>> 11) ^ (n << 7 | n >>> 25)) + (n & h ^ ~n & c) + p[m] + f[m],
d = ((r << 30 | r >>> 2) ^ (r << 19 | r >>> 13) ^ (r << 10 | r >>> 22)) + (r & o ^ r & s ^ o & s),
l = c,
c = h,
h = n,
n = a + u | 0,
a = s,
s = o,
o = r,
r = u + d | 0
}
i[0] = i[0] + r | 0,
i[1] = i[1] + o | 0,
i[2] = i[2] + s | 0,
i[3] = i[3] + a | 0,
i[4] = i[4] + n | 0,
i[5] = i[5] + h | 0,
i[6] = i[6] + c | 0,
i[7] = i[7] + l | 0
},
_doFinalize: function() {
var e = this._data
, t = e.words
, i = 8 * this._nDataBytes
, r = 8 * e.sigBytes;
return t[r >>> 5] |= 128 << 24 - r % 32,
t[14 + (r + 64 >>> 9 << 4)] = o.floor(i / 4294967296),
t[15 + (r + 64 >>> 9 << 4)] = i,
e.sigBytes = 4 * t.length,
this._process(),
this._hash
},
clone: function() {
var e = i.clone.call(this);
return e._hash = this._hash.clone(),
e
}
});
e.SHA256 = i._createHelper(r),
e.HmacSHA256 = i._createHmacHelper(r)
}(Math),
l = (c = P).enc.Utf8,
c.algo.HMAC = c.lib.Base.extend({
init: function(e, t) {
e = this._hasher = new e.init,
"string" == typeof t && (t = l.parse(t));
var i = e.blockSize
, r = 4 * i;
t.sigBytes > r && (t = e.finalize(t)),
t.clamp();
for (var o = this._oKey = t.clone(), s = this._iKey = t.clone(), a = o.words, n = s.words, h = 0; h < i; h++)
a[h] ^= 1549556828,
n[h] ^= 909522486;
o.sigBytes = s.sigBytes = r,
this.reset()
},
reset: function() {
var e = this._hasher;
e.reset(),
e.update(this._iKey)
},
update: function(e) {
return this._hasher.update(e),
this
},
finalize: function(e) {
var t = this._hasher;
return e = t.finalize(e),
t.reset(),
t.finalize(this._oKey.clone().concat(e))
}
}),
d = (u = P).lib.WordArray,
u.enc.Base64 = {
stringify: function(e) {
var t = e.words
, i = e.sigBytes
, r = this._map;
e.clamp(),
e = [];
for (var o = 0; o < i; o += 3)
for (var s = (t[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (t[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | t[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, a = 0; a < 4 && o + .75 * a < i; a++)
e.push(r.charAt(s >>> 6 * (3 - a) & 63));
if (t = r.charAt(64))
for (; e.length % 4; )
e.push(t);
return e.join("")
},
parse: function(e) {
var t = e.length
, i = this._map;
(r = i.charAt(64)) && -1 != (r = e.indexOf(r)) && (t = r);
for (var r = [], o = 0, s = 0; s < t; s++)
if (s % 4) {
var a = i.indexOf(e.charAt(s - 1)) << s % 4 * 2
, n = i.indexOf(e.charAt(s)) >>> 6 - s % 4 * 2;
r[o >>> 2] |= (a | n) << 24 - o % 4 * 8,
o++
}
return d.create(r, o)
},
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
},
p = Le || (Le = {}),
(f = p.EGAErrorSeverity || (p.EGAErrorSeverity = {}))[f.Undefined = 0] = "Undefined",
f[f.Debug = 1] = "Debug",
f[f.Info = 2] = "Info",
f[f.Warning = 3] = "Warning",
f[f.Error = 4] = "Error",
f[f.Critical = 5] = "Critical",
(y = p.EGAGender || (p.EGAGender = {}))[y.Undefined = 0] = "Undefined",
y[y.Male = 1] = "Male",
y[y.Female = 2] = "Female",
(S = p.EGAProgressionStatus || (p.EGAProgressionStatus = {}))[S.Undefined = 0] = "Undefined",
S[S.Start = 1] = "Start",
S[S.Complete = 2] = "Complete",
S[S.Fail = 3] = "Fail",
(w = p.EGAResourceFlowType || (p.EGAResourceFlowType = {}))[w.Undefined = 0] = "Undefined",
w[w.Source = 1] = "Source",
w[w.Sink = 2] = "Sink",
g = p.http || (p.http = {}),
(x = g.EGASdkErrorType || (g.EGASdkErrorType = {}))[x.Undefined = 0] = "Undefined",
x[x.Rejected = 1] = "Rejected",
(b = g.EGAHTTPApiResponse || (g.EGAHTTPApiResponse = {}))[b.NoResponse = 0] = "NoResponse",
b[b.BadResponse = 1] = "BadResponse",
b[b.RequestTimeout = 2] = "RequestTimeout",
b[b.JsonEncodeFailed = 3] = "JsonEncodeFailed",
b[b.JsonDecodeFailed = 4] = "JsonDecodeFailed",
b[b.InternalServerError = 5] = "InternalServerError",
b[b.BadRequest = 6] = "BadRequest",
b[b.Unauthorized = 7] = "Unauthorized",
b[b.UnknownResponseCode = 8] = "UnknownResponseCode",
b[b.Ok = 9] = "Ok";
var A, _, B, D, k, E, M, I, L, O, R, F, N, U, W, X, H, j, Y, V, K, q, Z, J, Q, $, ee, te, ie, re, oe, se, ae, ne, he, ce, le, me, ue, de, pe, fe, ye, Se, we, ge, xe, be, ve, ze, Ce, Te, Pe, Ae, _e, Be, De, ke, Ee, Me, Ie, Le, Oe, Re, Fe, Ge, Ne, Ue, We, Xe, He, je, Ye, Ve;
Le.EGAErrorSeverity,
Le.EGAGender,
Le.EGAProgressionStatus,
Le.EGAResourceFlowType;
(function(e) {
var r, t;
(t = r || (r = {}))[t.Error = 0] = "Error",
t[t.Warning = 1] = "Warning",
t[t.Info = 2] = "Info",
t[t.Debug = 3] = "Debug";
var i = function() {
function i() {
i.debugEnabled = !1
}
return i.setInfoLog = function(e) {
i.instance.infoLogEnabled = e
}
,
i.setVerboseLog = function(e) {
i.instance.infoLogVerboseEnabled = e
}
,
i.i = function(e) {
if (i.instance.infoLogEnabled) {
var t = "Info/" + i.Tag + ": " + e;
i.instance.sendNotificationMessage(t, r.Info)
}
}
,
i.w = function(e) {
var t = "Warning/" + i.Tag + ": " + e;
i.instance.sendNotificationMessage(t, r.Warning)
}
,
i.e = function(e) {
var t = "Error/" + i.Tag + ": " + e;
i.instance.sendNotificationMessage(t, r.Error)
}
,
i.ii = function(e) {
if (i.instance.infoLogVerboseEnabled) {
var t = "Verbose/" + i.Tag + ": " + e;
i.instance.sendNotificationMessage(t, r.Info)
}
}
,
i.d = function(e) {
if (i.debugEnabled) {
var t = "Debug/" + i.Tag + ": " + e;
i.instance.sendNotificationMessage(t, r.Debug)
}
}
,
i.prototype.sendNotificationMessage = function(e, t) {
switch (t) {
case r.Error:
case r.Warning:
break;
case r.Debug:
console.debug;
break;
case r.Info:
}
}
,
i.instance = new i,
i.Tag = "GameAnalytics",
i
}();
e.GALogger = i
}
)((A = Le || (Le = {})).logging || (A.logging = {})),
_ = Le || (Le = {}),
B = _.utilities || (_.utilities = {}),
D = _.logging.GALogger,
k = function() {
function l() {}
return l.getHmac = function(e, t) {
var i = P.HmacSHA256(t, e);
return P.enc.Base64.stringify(i)
}
,
l.stringMatch = function(e, t) {
return !(!e || !t) && t.test(e)
}
,
l.joinStringArray = function(e, t) {
for (var i = "", r = 0, o = e.length; r < o; r++)
0 < r && (i += t),
i += e[r];
return i
}
,
l.stringArrayContainsString = function(e, t) {
if (0 === e.length)
return !1;
for (var i in e)
if (e[i] === t)
return !0;
return !1
}
,
l.encode64 = function(e) {
e = encodeURI(e);
for (var t, i, r, o, s, a = "", n = 0, h = 0, c = 0; r = (t = e.charCodeAt(c++)) >> 2,
o = (3 & t) << 4 | (i = e.charCodeAt(c++)) >> 4,
s = (15 & i) << 2 | (n = e.charCodeAt(c++)) >> 6,
h = 63 & n,
isNaN(i) ? s = h = 64 : isNaN(n) && (h = 64),
a = a + l.keyStr.charAt(r) + l.keyStr.charAt(o) + l.keyStr.charAt(s) + l.keyStr.charAt(h),
t = i = n = 0,
r = o = s = h = 0,
c < e.length; )
;
return a
}
,
l.decode64 = function(e) {
var t, i, r, o, s = "", a = 0, n = 0, h = 0;
for (/[^A-Za-z0-9\+\/\=]/g.exec(e) && D.w("There were invalid base64 characters in the input text. Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='. Expect errors in decoding."),
e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); t = l.keyStr.indexOf(e.charAt(h++)) << 2 | (r = l.keyStr.indexOf(e.charAt(h++))) >> 4,
i = (15 & r) << 4 | (o = l.keyStr.indexOf(e.charAt(h++))) >> 2,
a = (3 & o) << 6 | (n = l.keyStr.indexOf(e.charAt(h++))),
s += String.fromCharCode(t),
64 != o && (s += String.fromCharCode(i)),
64 != n && (s += String.fromCharCode(a)),
t = i = a = 0,
r = o = n = 0,
h < e.length; )
;
return decodeURI(s)
}
,
l.timeIntervalSince1970 = function() {
var e = new Date;
return Math.round(e.getTime() / 1e3)
}
,
l.createGuid = function() {
return (l.s4() + l.s4() + "-" + l.s4() + "-4" + l.s4().substr(0, 3) + "-" + l.s4() + "-" + l.s4() + l.s4() + l.s4()).toLowerCase()
}
,
l.s4 = function() {
return (65536 * (1 + Math.random()) | 0).toString(16).substring(1)
}
,
l.keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
l
}(),
B.GAUtilities = k,
E = Le || (Le = {}),
M = E.validators || (E.validators = {}),
I = E.logging.GALogger,
L = E.http.EGASdkErrorType,
O = E.utilities.GAUtilities,
R = function() {
function n() {}
return n.validateBusinessEvent = function(e, t, i, r, o) {
return n.validateCurrency(e) ? t < 0 ? (I.w("Validation fail - business event - amount. Cannot be less than 0. Failed amount: " + t),
!1) : n.validateShortString(i, !0) ? n.validateEventPartLength(r, !1) ? n.validateEventPartCharacters(r) ? n.validateEventPartLength(o, !1) ? !!n.validateEventPartCharacters(o) || (I.w("Validation fail - business event - itemId: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + o),
!1) : (I.w("Validation fail - business event - itemId. Cannot be (null), empty or above 64 characters. String: " + o),
!1) : (I.w("Validation fail - business event - itemType: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + r),
!1) : (I.w("Validation fail - business event - itemType: Cannot be (null), empty or above 64 characters. String: " + r),
!1) : (I.w("Validation fail - business event - cartType. Cannot be above 32 length. String: " + i),
!1) : (I.w("Validation fail - business event - currency: Cannot be (null) and need to be A-Z, 3 characters and in the standard at openexchangerates.org. Failed currency: " + e),
!1)
}
,
n.validateResourceEvent = function(e, t, i, r, o, s, a) {
return e == E.EGAResourceFlowType.Undefined ? (I.w("Validation fail - resource event - flowType: Invalid flow type."),
!1) : t ? O.stringArrayContainsString(s, t) ? 0 < i ? r ? n.validateEventPartLength(r, !1) ? n.validateEventPartCharacters(r) ? O.stringArrayContainsString(a, r) ? n.validateEventPartLength(o, !1) ? !!n.validateEventPartCharacters(o) || (I.w("Validation fail - resource event - itemId: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + o),
!1) : (I.w("Validation fail - resource event - itemId: Cannot be (null), empty or above 64 characters. String: " + o),
!1) : (I.w("Validation fail - resource event - itemType: Not found in list of pre-defined available resource itemTypes. String: " + r),
!1) : (I.w("Validation fail - resource event - itemType: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + r),
!1) : (I.w("Validation fail - resource event - itemType: Cannot be (null), empty or above 64 characters. String: " + r),
!1) : (I.w("Validation fail - resource event - itemType: Cannot be (null)"),
!1) : (I.w("Validation fail - resource event - amount: Float amount cannot be 0 or negative. Value: " + i),
!1) : (I.w("Validation fail - resource event - currency: Not found in list of pre-defined available resource currencies. String: " + t),
!1) : (I.w("Validation fail - resource event - currency: Cannot be (null)"),
!1)
}
,
n.validateProgressionEvent = function(e, t, i, r) {
if (e == E.EGAProgressionStatus.Undefined)
return I.w("Validation fail - progression event: Invalid progression status."),
!1;
if (r && !i && t)
return I.w("Validation fail - progression event: 03 found but 01+02 are invalid. Progression must be set as either 01, 01+02 or 01+02+03."),
!1;
if (i && !t)
return I.w("Validation fail - progression event: 02 found but not 01. Progression must be set as either 01, 01+02 or 01+02+03"),
!1;
if (!t)
return I.w("Validation fail - progression event: progression01 not valid. Progressions must be set as either 01, 01+02 or 01+02+03"),
!1;
if (!n.validateEventPartLength(t, !1))
return I.w("Validation fail - progression event - progression01: Cannot be (null), empty or above 64 characters. String: " + t),
!1;
if (!n.validateEventPartCharacters(t))
return I.w("Validation fail - progression event - progression01: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + t),
!1;
if (i) {
if (!n.validateEventPartLength(i, !0))
return I.w("Validation fail - progression event - progression02: Cannot be empty or above 64 characters. String: " + i),
!1;
if (!n.validateEventPartCharacters(i))
return I.w("Validation fail - progression event - progression02: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + i),
!1
}
if (r) {
if (!n.validateEventPartLength(r, !0))
return I.w("Validation fail - progression event - progression03: Cannot be empty or above 64 characters. String: " + r),
!1;
if (!n.validateEventPartCharacters(r))
return I.w("Validation fail - progression event - progression03: Cannot contain other characters than A-z, 0-9, -_., ()!?. String: " + r),
!1
}
return !0
}
,
n.validateDesignEvent = function(e, t) {
return n.validateEventIdLength(e) ? !!n.validateEventIdCharacters(e) || (I.w("Validation fail - design event - eventId: Non valid characters. Only allowed A-z, 0-9, -_., ()!?. String: " + e),
!1) : (I.w("Validation fail - design event - eventId: Cannot be (null) or empty. Only 5 event parts allowed seperated by :. Each part need to be 32 characters or less. String: " + e),
!1)
}
,
n.validateErrorEvent = function(e, t) {
return e == E.EGAErrorSeverity.Undefined ? (I.w("Validation fail - error event - severity: Severity was unsupported value."),
!1) : !!n.validateLongString(t, !0) || (I.w("Validation fail - error event - message: Message cannot be above 8192 characters."),
!1)
}
,
n.validateSdkErrorEvent = function(e, t, i) {
return !(!n.validateKeys(e, t) || i === L.Undefined && (I.w("Validation fail - sdk error event - type: Type was unsupported value."),
1))
}
,
n.validateKeys = function(e, t) {
return !(!O.stringMatch(e, /^[A-z0-9]{32}$/) || !O.stringMatch(t, /^[A-z0-9]{40}$/))
}
,
n.validateCurrency = function(e) {
return !!e && !!O.stringMatch(e, /^[A-Z]{3}$/)
}
,
n.validateEventPartLength = function(e, t) {
return !(!t || e) || !!e && !(64 < e.length)
}
,
n.validateEventPartCharacters = function(e) {
return !!O.stringMatch(e, /^[A-Za-z0-9\s\-_\.\(\)\!\?]{1,64}$/)
}
,
n.validateEventIdLength = function(e) {
return !!e && !!O.stringMatch(e, /^[^:]{1,64}(?::[^:]{1,64}){0,4}$/)
}
,
n.validateEventIdCharacters = function(e) {
return !!e && !!O.stringMatch(e, /^[A-Za-z0-9\s\-_\.\(\)\!\?]{1,64}(:[A-Za-z0-9\s\-_\.\(\)\!\?]{1,64}){0,4}$/)
}
,
n.validateAndCleanInitRequestResponse = function(t) {
if (null == t)
return I.w("validateInitRequestResponse failed - no response dictionary."),
null;
var e = {};
try {
e.enabled = t.enabled
} catch (e) {
return I.w("validateInitRequestResponse failed - invalid type in 'enabled' field."),
null
}
try {
var i = t.server_ts;
if (!(0 < i))
return I.w("validateInitRequestResponse failed - invalid value in 'server_ts' field."),
null;
e.server_ts = i
} catch (e) {
return I.w("validateInitRequestResponse failed - invalid type in 'server_ts' field. type=" + typeof t.server_ts + ", value=" + t.server_ts + ", " + e),
null
}
try {
var r = t.configurations;
e.configurations = r
} catch (e) {
return I.w("validateInitRequestResponse failed - invalid type in 'configurations' field. type=" + typeof t.configurations + ", value=" + t.configurations + ", " + e),
null
}
return e
}
,
n.validateBuild = function(e) {
return !!n.validateShortString(e, !1)
}
,
n.validateSdkWrapperVersion = function(e) {
return !!O.stringMatch(e, /^(unity|unreal|gamemaker|cocos2d|construct|defold) [0-9]{0,5}(\.[0-9]{0,5}){0,2}$/)
}
,
n.validateEngineVersion = function(e) {
return !(!e || !O.stringMatch(e, /^(unity|unreal|gamemaker|cocos2d|construct|defold) [0-9]{0,5}(\.[0-9]{0,5}){0,2}$/))
}
,
n.validateUserId = function(e) {
return !!n.validateString(e, !1) || (I.w("Validation fail - user id: id cannot be (null), empty or above 64 characters."),
!1)
}
,
n.validateShortString = function(e, t) {
return !(!t || e) || !(!e || 32 < e.length)
}
,
n.validateString = function(e, t) {
return !(!t || e) || !(!e || 64 < e.length)
}
,
n.validateLongString = function(e, t) {
return !(!t || e) || !(!e || 8192 < e.length)
}
,
n.validateConnectionType = function(e) {
return O.stringMatch(e, /^(wwan|wifi|lan|offline)$/)
}
,
n.validateCustomDimensions = function(e) {
return n.validateArrayOfStrings(20, 32, !1, "custom dimensions", e)
}
,
n.validateResourceCurrencies = function(e) {
if (!n.validateArrayOfStrings(20, 64, !1, "resource currencies", e))
return !1;
for (var t = 0; t < e.length; ++t)
if (!O.stringMatch(e[t], /^[A-Za-z]+$/))
return I.w("resource currencies validation failed: a resource currency can only be A-Z, a-z. String was: " + e[t]),
!1;
return !0
}
,
n.validateResourceItemTypes = function(e) {
if (!n.validateArrayOfStrings(20, 32, !1, "resource item types", e))
return !1;
for (var t = 0; t < e.length; ++t)
if (!n.validateEventPartCharacters(e[t]))
return I.w("resource item types validation failed: a resource item type cannot contain other characters than A-z, 0-9, -_., ()!?. String was: " + e[t]),
!1;
return !0
}
,
n.validateDimension01 = function(e, t) {
return !e || !!O.stringArrayContainsString(t, e)
}
,
n.validateDimension02 = function(e, t) {
return !e || !!O.stringArrayContainsString(t, e)
}
,
n.validateDimension03 = function(e, t) {
return !e || !!O.stringArrayContainsString(t, e)
}
,
n.validateArrayOfStrings = function(e, t, i, r, o) {
var s = r;
if (s || (s = "Array"),
!o)
return I.w(s + " validation failed: array cannot be null. "),
!1;
if (0 == i && 0 == o.length)
return I.w(s + " validation failed: array cannot be empty. "),
!1;
if (0 < e && o.length > e)
return I.w(s + " validation failed: array cannot exceed " + e + " values. It has " + o.length + " values."),
!1;
for (var a = 0; a < o.length; ++a) {
var n = o[a] ? o[a].length : 0;
if (0 === n)
return I.w(s + " validation failed: contained an empty string. Array=" + JSON.stringify(o)),
!1;
if (0 < t && t < n)
return I.w(s + " validation failed: a string exceeded max allowed length (which is: " + t + "). String was: " + o[a]),
!1
}
return !0
}
,
n.validateFacebookId = function(e) {
return !!n.validateString(e, !1) || (I.w("Validation fail - facebook id: id cannot be (null), empty or above 64 characters."),
!1)
}
,
n.validateGender = function(e) {
if (isNaN(Number(E.EGAGender[e]))) {
if (e == E.EGAGender.Undefined || e != E.EGAGender.Male && e != E.EGAGender.Female)
return I.w("Validation fail - gender: Has to be 'male' or 'female'. Was: " + e),
!1
} else if (e == E.EGAGender[E.EGAGender.Undefined] || e != E.EGAGender[E.EGAGender.Male] && e != E.EGAGender[E.EGAGender.Female])
return I.w("Validation fail - gender: Has to be 'male' or 'female'. Was: " + e),
!1;
return !0
}
,
n.validateBirthyear = function(e) {
return !(e < 0 || 9999 < e) || (I.w("Validation fail - birthYear: Cannot be (null) or invalid range."),
!1)
}
,
n.validateClientTs = function(e) {
return !(e < -4294967294 || 4294967294 < e)
}
,
n
}(),
M.GAValidator = R,
function(e) {
var t = function(e, t, i) {
this.name = e,
this.value = t,
this.version = i
};
e.NameValueVersion = t;
var l = function(e, t) {
this.name = e,
this.version = t
};
e.NameVersion = l;
var i = function() {
function o() {}
return o.touch = function() {}
,
o.getRelevantSdkVersion = function() {
return o.sdkGameEngineVersion ? o.sdkGameEngineVersion : o.sdkWrapperVersion
}
,
o.getConnectionType = function() {
return o.connectionType
}
,
o.updateConnectionType = function() {
o.connectionType = navigator.onLine ? "ios" === o.buildPlatform || "android" === o.buildPlatform ? "wwan" : "lan" : "offline"
}
,
o.getOSVersionString = function() {
return o.buildPlatform + " " + o.osVersionPair.version
}
,
o.runtimePlatformToString = function() {
return o.osVersionPair.name
}
,
o.getBrowserVersionString = function() {
var e, t = navigator.userAgent, i = t.match(/(opera|chrome|safari|firefox|ubrowser|msie|trident|fbav(?=\/))\/?\s*(\d+)/i) || [];
if (0 == i.length && "ios" === o.buildPlatform)
return "webkit_" + o.osVersion;
if (/trident/i.test(i[1]))
return "IE " + ((e = /\brv[ :]+(\d+)/g.exec(t) || [])[1] || "");
if ("Chrome" === i[1] && null != (e = t.match(/\b(OPR|Edge|UBrowser)\/(\d+)/)))
return e.slice(1).join(" ").replace("OPR", "Opera").replace("UBrowser", "UC").toLowerCase();
if (i[1] && "fbav" === i[1].toLowerCase() && (i[1] = "facebook",
i[2]))
return "facebook " + i[2];
var r = i[2] ? [i[1], i[2]] : [navigator.appName, navigator.appVersion, "-?"];
return null != (e = t.match(/version\/(\d+)/i)) && r.splice(1, 1, e[1]),
r.join(" ").toLowerCase()
}
,
o.getDeviceModel = function() {
return "unknown"
}
,
o.getDeviceManufacturer = function() {
return "unknown"
}
,
o.matchItem = function(e, t) {
var i, r, o, s, a = new l("unknown","0.0.0"), n = 0, h = 0;
for (n = 0; n < t.length; n += 1)
if (new RegExp(t[n].value,"i").test(e)) {
if (i = new RegExp(t[n].version + "[- /:;]([\\d._]+)","i"),
s = "",
(r = e.match(i)) && r[1] && (o = r[1]),
o) {
var c = o.split(/[._]+/);
for (h = 0; h < Math.min(c.length, 3); h += 1)
s += c[h] + (h < Math.min(c.length, 3) - 1 ? "." : "")
} else
s = "0.0.0";
return a.name = t[n].name,
a.version = s,
a
}
return a
}
,
o.sdkWrapperVersion = "javascript 3.1.2",
o.osVersionPair = o.matchItem([navigator.platform, navigator.userAgent, navigator.appVersion, navigator.vendor].join(" "), [new t("windows_phone","Windows Phone","OS"), new t("windows","Win","NT"), new t("ios","iPhone","OS"), new t("ios","iPad","OS"), new t("ios","iPod","OS"), new t("android","Android","Android"), new t("blackBerry","BlackBerry","/"), new t("mac_osx","Mac","OS X"), new t("tizen","Tizen","Tizen"), new t("linux","Linux","rv")]),
o.buildPlatform = o.runtimePlatformToString(),
o.deviceModel = o.getDeviceModel(),
o.deviceManufacturer = o.getDeviceManufacturer(),
o.osVersion = o.getOSVersionString(),
o.browserVersion = o.getBrowserVersionString(),
o.maxSafeInteger = Math.pow(2, 53) - 1,
o
}();
e.GADevice = i
}((F = Le || (Le = {})).device || (F.device = {})),
N = Le || (Le = {}),
U = N.threading || (N.threading = {}),
W = function() {
function t(e) {
this.deadline = e,
this.ignore = !1,
this.async = !1,
this.running = !1,
this.id = ++t.idCounter
}
return t.idCounter = 0,
t
}(),
U.TimedBlock = W,
X = Le || (Le = {}),
H = X.threading || (X.threading = {}),
j = function() {
function e(e) {
this.comparer = e,
this._subQueues = {},
this._sortedKeys = []
}
return e.prototype.enqueue = function(e, t) {
-1 === this._sortedKeys.indexOf(e) && this.addQueueOfPriority(e),
this._subQueues[e].push(t)
}
,
e.prototype.addQueueOfPriority = function(e) {
var i = this;
this._sortedKeys.push(e),
this._sortedKeys.sort(function(e, t) {
return i.comparer.compare(e, t)
}),
this._subQueues[e] = []
}
,
e.prototype.peek = function() {
if (this.hasItems())
return this._subQueues[this._sortedKeys[0]][0];
throw new Error("The queue is empty")
}
,
e.prototype.hasItems = function() {
return 0 < this._sortedKeys.length
}
,
e.prototype.dequeue = function() {
if (this.hasItems())
return this.dequeueFromHighPriorityQueue();
throw new Error("The queue is empty")
}
,
e.prototype.dequeueFromHighPriorityQueue = function() {
var e = this._sortedKeys[0]
, t = this._subQueues[e].shift();
return 0 === this._subQueues[e].length && (this._sortedKeys.shift(),
delete this._subQueues[e]),
t
}
,
e
}(),
H.PriorityQueue = j,
function(e) {
var u, t, i, r, o = Y.logging.GALogger;
(t = u = e.EGAStoreArgsOperator || (e.EGAStoreArgsOperator = {}))[t.Equal = 0] = "Equal",
t[t.LessOrEqual = 1] = "LessOrEqual",
t[t.NotEqual = 2] = "NotEqual",
(r = i = e.EGAStore || (e.EGAStore = {}))[r.Events = 0] = "Events",
r[r.Sessions = 1] = "Sessions",
r[r.Progression = 2] = "Progression";
var s = function() {
function m() {
this.eventsStore = [],
this.sessionsStore = [],
this.progressionStore = [],
this.storeItems = {};
try {
m.storageAvailable = "object" == typeof localStorage && (localStorage.setItem("testingLocalStorage", "yes"),
localStorage.removeItem("testingLocalStorage"),
!0)
} catch (e) {}
}
return m.isStorageAvailable = function() {
return m.storageAvailable
}
,
m.isStoreTooLargeForEvents = function() {
return m.instance.eventsStore.length + m.instance.sessionsStore.length > m.MaxNumberOfEntries
}
,
m.select = function(e, t, i, r) {
void 0 === t && (t = []),
void 0 === i && (i = !1),
void 0 === r && (r = 0);
var o = m.getStore(e);
if (!o)
return null;
for (var s = [], a = 0; a < o.length; ++a) {
for (var n = o[a], h = !0, c = 0; c < t.length; ++c) {
var l = t[c];
if (n[l[0]])
switch (l[1]) {
case u.Equal:
h = n[l[0]] == l[2];
break;
case u.LessOrEqual:
h = n[l[0]] <= l[2];
break;
case u.NotEqual:
h = n[l[0]] != l[2];
break;
default:
h = !1
}
else
h = !1;
if (!h)
break
}
h && s.push(n)
}
return i && s.sort(function(e, t) {
return e.client_ts - t.client_ts
}),
0 < r && s.length > r && (s = s.slice(0, r + 1)),
s
}
,
m.update = function(e, t, i) {
void 0 === i && (i = []);
var r = m.getStore(e);
if (!r)
return !1;
for (var o = 0; o < r.length; ++o) {
for (var s = r[o], a = !0, n = 0; n < i.length; ++n) {
var h = i[n];
if (s[h[0]])
switch (h[1]) {
case u.Equal:
a = s[h[0]] == h[2];
break;
case u.LessOrEqual:
a = s[h[0]] <= h[2];
break;
case u.NotEqual:
a = s[h[0]] != h[2];
break;
default:
a = !1
}
else
a = !1;
if (!a)
break
}
if (a)
for (n = 0; n < t.length; ++n) {
var c = t[n];
s[c[0]] = c[1]
}
}
return !0
}
,
m.delete = function(e, t) {
var i = m.getStore(e);
if (i)
for (var r = 0; r < i.length; ++r) {
for (var o = i[r], s = !0, a = 0; a < t.length; ++a) {
var n = t[a];
if (o[n[0]])
switch (n[1]) {
case u.Equal:
s = o[n[0]] == n[2];
break;
case u.LessOrEqual:
s = o[n[0]] <= n[2];
break;
case u.NotEqual:
s = o[n[0]] != n[2];
break;
default:
s = !1
}
else
s = !1;
if (!s)
break
}
s && (i.splice(r, 1),
--r)
}
}
,
m.insert = function(e, t, i, r) {
void 0 === i && (i = !1),
void 0 === r && (r = null);
var o = m.getStore(e);
if (o)
if (i) {
if (!r)
return;
for (var s = !1, a = 0; a < o.length; ++a) {
var n = o[a];
if (n[r] == t[r]) {
for (var h in t)
n[h] = t[h];
s = !0;
break
}
}
s || o.push(t)
} else
o.push(t)
}
,
m.save = function() {
m.isStorageAvailable() ? (localStorage.setItem(m.KeyPrefix + m.EventsStoreKey, JSON.stringify(m.instance.eventsStore)),
localStorage.setItem(m.KeyPrefix + m.SessionsStoreKey, JSON.stringify(m.instance.sessionsStore)),
localStorage.setItem(m.KeyPrefix + m.ProgressionStoreKey, JSON.stringify(m.instance.progressionStore)),
localStorage.setItem(m.KeyPrefix + m.ItemsStoreKey, JSON.stringify(m.instance.storeItems))) : o.w("Storage is not available, cannot save.")
}
,
m.load = function() {
if (m.isStorageAvailable()) {
try {
m.instance.eventsStore = JSON.parse(localStorage.getItem(m.KeyPrefix + m.EventsStoreKey)),
m.instance.eventsStore || (m.instance.eventsStore = [])
} catch (e) {
o.w("Load failed for 'events' store. Using empty store."),
m.instance.eventsStore = []
}
try {
m.instance.sessionsStore = JSON.parse(localStorage.getItem(m.KeyPrefix + m.SessionsStoreKey)),
m.instance.sessionsStore || (m.instance.sessionsStore = [])
} catch (e) {
o.w("Load failed for 'sessions' store. Using empty store."),
m.instance.sessionsStore = []
}
try {
m.instance.progressionStore = JSON.parse(localStorage.getItem(m.KeyPrefix + m.ProgressionStoreKey)),
m.instance.progressionStore || (m.instance.progressionStore = [])
} catch (e) {
o.w("Load failed for 'progression' store. Using empty store."),
m.instance.progressionStore = []
}
try {
m.instance.storeItems = JSON.parse(localStorage.getItem(m.KeyPrefix + m.ItemsStoreKey)),
m.instance.storeItems || (m.instance.storeItems = {})
} catch (e) {
o.w("Load failed for 'items' store. Using empty store."),
m.instance.progressionStore = []
}
} else
o.w("Storage is not available, cannot load.")
}
,
m.setItem = function(e, t) {
var i = m.KeyPrefix + e;
t ? m.instance.storeItems[i] = t : i in m.instance.storeItems && delete m.instance.storeItems[i]
}
,
m.getItem = function(e) {
var t = m.KeyPrefix + e;
return t in m.instance.storeItems ? m.instance.storeItems[t] : null
}
,
m.getStore = function(e) {
switch (e) {
case i.Events:
return m.instance.eventsStore;
case i.Sessions:
return m.instance.sessionsStore;
case i.Progression:
return m.instance.progressionStore;
default:
return o.w("GAStore.getStore(): Cannot find store: " + e),
null
}
}
,
m.instance = new m,
m.MaxNumberOfEntries = 2e3,
m.KeyPrefix = "GA::",
m.EventsStoreKey = "ga_event",
m.SessionsStoreKey = "ga_session",
m.ProgressionStoreKey = "ga_progression",
m.ItemsStoreKey = "ga_items",
m
}();
e.GAStore = s
}((Y = Le || (Le = {})).store || (Y.store = {})),
V = Le || (Le = {}),
K = V.state || (V.state = {}),
q = V.validators.GAValidator,
Z = V.utilities.GAUtilities,
J = V.logging.GALogger,
Q = V.store.GAStore,
$ = V.device.GADevice,
ee = V.store.EGAStore,
te = V.store.EGAStoreArgsOperator,
ie = function() {
function l() {
this.availableCustomDimensions01 = [],
this.availableCustomDimensions02 = [],
this.availableCustomDimensions03 = [],
this.availableResourceCurrencies = [],
this.availableResourceItemTypes = [],
this.configurations = {},
this.commandCenterListeners = [],
this.sdkConfigDefault = {},
this.sdkConfig = {},
this.progressionTries = {},
this._isEventSubmissionEnabled = !0
}
return l.setUserId = function(e) {
l.instance.userId = e,
l.cacheIdentifier()
}
,
l.getIdentifier = function() {
return l.instance.identifier
}
,
l.isInitialized = function() {
return l.instance.initialized
}
,
l.setInitialized = function(e) {
l.instance.initialized = e
}
,
l.getSessionStart = function() {
return l.instance.sessionStart
}
,
l.getSessionNum = function() {
return l.instance.sessionNum
}
,
l.getTransactionNum = function() {
return l.instance.transactionNum
}
,
l.getSessionId = function() {
return l.instance.sessionId
}
,
l.getCurrentCustomDimension01 = function() {
return l.instance.currentCustomDimension01
}
,
l.getCurrentCustomDimension02 = function() {
return l.instance.currentCustomDimension02
}
,
l.getCurrentCustomDimension03 = function() {
return l.instance.currentCustomDimension03
}
,
l.getGameKey = function() {
return l.instance.gameKey
}
,
l.getGameSecret = function() {
return l.instance.gameSecret
}
,
l.getAvailableCustomDimensions01 = function() {
return l.instance.availableCustomDimensions01
}
,
l.setAvailableCustomDimensions01 = function(e) {
q.validateCustomDimensions(e) && (l.instance.availableCustomDimensions01 = e,
l.validateAndFixCurrentDimensions(),
J.i("Set available custom01 dimension values: (" + Z.joinStringArray(e, ", ") + ")"))
}
,
l.getAvailableCustomDimensions02 = function() {
return l.instance.availableCustomDimensions02
}
,
l.setAvailableCustomDimensions02 = function(e) {
q.validateCustomDimensions(e) && (l.instance.availableCustomDimensions02 = e,
l.validateAndFixCurrentDimensions(),
J.i("Set available custom02 dimension values: (" + Z.joinStringArray(e, ", ") + ")"))
}
,
l.getAvailableCustomDimensions03 = function() {
return l.instance.availableCustomDimensions03
}
,
l.setAvailableCustomDimensions03 = function(e) {
q.validateCustomDimensions(e) && (l.instance.availableCustomDimensions03 = e,
l.validateAndFixCurrentDimensions(),
J.i("Set available custom03 dimension values: (" + Z.joinStringArray(e, ", ") + ")"))
}
,
l.getAvailableResourceCurrencies = function() {
return l.instance.availableResourceCurrencies
}
,
l.setAvailableResourceCurrencies = function(e) {
q.validateResourceCurrencies(e) && (l.instance.availableResourceCurrencies = e,
J.i("Set available resource currencies: (" + Z.joinStringArray(e, ", ") + ")"))
}
,
l.getAvailableResourceItemTypes = function() {
return l.instance.availableResourceItemTypes
}
,
l.setAvailableResourceItemTypes = function(e) {
q.validateResourceItemTypes(e) && (l.instance.availableResourceItemTypes = e,
J.i("Set available resource item types: (" + Z.joinStringArray(e, ", ") + ")"))
}
,
l.getBuild = function() {
return l.instance.build
}
,
l.setBuild = function(e) {
l.instance.build = e,
J.i("Set build version: " + e)
}
,
l.getUseManualSessionHandling = function() {
return l.instance.useManualSessionHandling
}
,
l.isEventSubmissionEnabled = function() {
return l.instance._isEventSubmissionEnabled
}
,
l.prototype.setDefaultId = function(e) {
this.defaultUserId = e || "",
l.cacheIdentifier()
}
,
l.getDefaultId = function() {
return l.instance.defaultUserId
}
,
l.getSdkConfig = function() {
var e, t = 0;
for (var i in l.instance.sdkConfig)
0 === t && (e = i),
++t;
if (e && 0 < t)
return l.instance.sdkConfig;
for (var i in t = 0,
l.instance.sdkConfigCached)
0 === t && (e = i),
++t;
return e && 0 < t ? l.instance.sdkConfigCached : l.instance.sdkConfigDefault
}
,
l.isEnabled = function() {
var e = l.getSdkConfig();
return !(e.enabled && "false" == e.enabled || !l.instance.initAuthorized)
}
,
l.setCustomDimension01 = function(e) {
l.instance.currentCustomDimension01 = e,
Q.setItem(l.Dimension01Key, e),
J.i("Set custom01 dimension value: " + e)
}
,
l.setCustomDimension02 = function(e) {
l.instance.currentCustomDimension02 = e,
Q.setItem(l.Dimension02Key, e),
J.i("Set custom02 dimension value: " + e)
}
,
l.setCustomDimension03 = function(e) {
l.instance.currentCustomDimension03 = e,
Q.setItem(l.Dimension03Key, e),
J.i("Set custom03 dimension value: " + e)
}
,
l.setFacebookId = function(e) {
l.instance.facebookId = e,
Q.setItem(l.FacebookIdKey, e),
J.i("Set facebook id: " + e)
}
,
l.setGender = function(e) {
l.instance.gender = isNaN(Number(V.EGAGender[e])) ? V.EGAGender[e].toString().toLowerCase() : V.EGAGender[V.EGAGender[e]].toString().toLowerCase(),
Q.setItem(l.GenderKey, l.instance.gender),
J.i("Set gender: " + l.instance.gender)
}
,
l.setBirthYear = function(e) {
l.instance.birthYear = e,
Q.setItem(l.BirthYearKey, e.toString()),
J.i("Set birth year: " + e)
}
,
l.incrementSessionNum = function() {
var e = l.getSessionNum() + 1;
l.instance.sessionNum = e
}
,
l.incrementTransactionNum = function() {
var e = l.getTransactionNum() + 1;
l.instance.transactionNum = e
}
,
l.incrementProgressionTries = function(e) {
var t = l.getProgressionTries(e) + 1;
l.instance.progressionTries[e] = t;
var i = {};
i.progression = e,
i.tries = t,
Q.insert(ee.Progression, i, !0, "progression")
}
,
l.getProgressionTries = function(e) {
return e in l.instance.progressionTries ? l.instance.progressionTries[e] : 0
}
,
l.clearProgressionTries = function(e) {
e in l.instance.progressionTries && delete l.instance.progressionTries[e];
var t = [];
t.push(["progression", te.Equal, e]),
Q.delete(ee.Progression, t)
}
,
l.setKeys = function(e, t) {
l.instance.gameKey = e,
l.instance.gameSecret = t
}
,
l.setManualSessionHandling = function(e) {
l.instance.useManualSessionHandling = e,
J.i("Use manual session handling: " + e)
}
,
l.setEnabledEventSubmission = function(e) {
l.instance._isEventSubmissionEnabled = e
}
,
l.getEventAnnotations = function() {
var e = {
v: 2
};
e.user_id = l.instance.identifier,
e.client_ts = l.getClientTsAdjusted(),
e.sdk_version = $.getRelevantSdkVersion(),
e.os_version = $.osVersion,
e.manufacturer = $.deviceManufacturer,
e.device = $.deviceModel,
e.browser_version = $.browserVersion,
e.platform = $.buildPlatform,
e.session_id = l.instance.sessionId,
e[l.SessionNumKey] = l.instance.sessionNum;
var t = $.getConnectionType();
return q.validateConnectionType(t) && (e.connection_type = t),
$.gameEngineVersion && (e.engine_version = $.gameEngineVersion),
l.instance.build && (e.build = l.instance.build),
l.instance.facebookId && (e[l.FacebookIdKey] = l.instance.facebookId),
l.instance.gender && (e[l.GenderKey] = l.instance.gender),
0 != l.instance.birthYear && (e[l.BirthYearKey] = l.instance.birthYear),
e
}
,
l.getSdkErrorEventAnnotations = function() {
var e = {
v: 2
};
e.category = l.CategorySdkError,
e.sdk_version = $.getRelevantSdkVersion(),
e.os_version = $.osVersion,
e.manufacturer = $.deviceManufacturer,
e.device = $.deviceModel,
e.platform = $.buildPlatform;
var t = $.getConnectionType();
return q.validateConnectionType(t) && (e.connection_type = t),
$.gameEngineVersion && (e.engine_version = $.gameEngineVersion),
e
}
,
l.getInitAnnotations = function() {
var e = {};
return e.user_id = l.getIdentifier(),
e.sdk_version = $.getRelevantSdkVersion(),
e.os_version = $.osVersion,
e.platform = $.buildPlatform,
e
}
,
l.getClientTsAdjusted = function() {
var e = Z.timeIntervalSince1970()
, t = e + l.instance.clientServerTimeOffset;
return q.validateClientTs(t) ? t : e
}
,
l.sessionIsStarted = function() {
return 0 != l.instance.sessionStart
}
,
l.cacheIdentifier = function() {
l.instance.userId ? l.instance.identifier = l.instance.userId : l.instance.defaultUserId && (l.instance.identifier = l.instance.defaultUserId)
}
,
l.ensurePersistedStates = function() {
Q.isStorageAvailable() && Q.load();
var e = l.instance;
e.setDefaultId(null != Q.getItem(l.DefaultUserIdKey) ? Q.getItem(l.DefaultUserIdKey) : Z.createGuid()),
e.sessionNum = null != Q.getItem(l.SessionNumKey) ? Number(Q.getItem(l.SessionNumKey)) : 0,
e.transactionNum = null != Q.getItem(l.TransactionNumKey) ? Number(Q.getItem(l.TransactionNumKey)) : 0,
e.facebookId ? Q.setItem(l.FacebookIdKey, e.facebookId) : (e.facebookId = null != Q.getItem(l.FacebookIdKey) ? Q.getItem(l.FacebookIdKey) : "",
e.facebookId),
e.gender ? Q.setItem(l.GenderKey, e.gender) : (e.gender = null != Q.getItem(l.GenderKey) ? Q.getItem(l.GenderKey) : "",
e.gender),
e.birthYear && 0 != e.birthYear ? Q.setItem(l.BirthYearKey, e.birthYear.toString()) : (e.birthYear = null != Q.getItem(l.BirthYearKey) ? Number(Q.getItem(l.BirthYearKey)) : 0,
e.birthYear),
e.currentCustomDimension01 ? Q.setItem(l.Dimension01Key, e.currentCustomDimension01) : (e.currentCustomDimension01 = null != Q.getItem(l.Dimension01Key) ? Q.getItem(l.Dimension01Key) : "",
e.currentCustomDimension01),
e.currentCustomDimension02 ? Q.setItem(l.Dimension02Key, e.currentCustomDimension02) : (e.currentCustomDimension02 = null != Q.getItem(l.Dimension02Key) ? Q.getItem(l.Dimension02Key) : "",
e.currentCustomDimension02),
e.currentCustomDimension03 ? Q.setItem(l.Dimension03Key, e.currentCustomDimension03) : (e.currentCustomDimension03 = null != Q.getItem(l.Dimension03Key) ? Q.getItem(l.Dimension03Key) : "",
e.currentCustomDimension03);
var t = null != Q.getItem(l.SdkConfigCachedKey) ? Q.getItem(l.SdkConfigCachedKey) : "";
if (t) {
var i = JSON.parse(Z.decode64(t));
i && (e.sdkConfigCached = i)
}
var r = Q.select(ee.Progression);
if (r)
for (var o = 0; o < r.length; ++o) {
var s = r[o];
s && (e.progressionTries[s.progression] = s.tries)
}
}
,
l.calculateServerTimeOffset = function(e) {
return e - Z.timeIntervalSince1970()
}
,
l.validateAndCleanCustomFields = function(e) {
var t = {};
if (e) {
var i = 0;
for (var r in e) {
var o = e[r];
if (r && o)
if (i < l.MAX_CUSTOM_FIELDS_COUNT) {
var s = new RegExp("^[a-zA-Z0-9_]{1," + l.MAX_CUSTOM_FIELDS_KEY_LENGTH + "}$");
if (Z.stringMatch(r, s)) {
var a = typeof o;
if ("string" === a || o instanceof String) {
var n = o;
n.length <= l.MAX_CUSTOM_FIELDS_VALUE_STRING_LENGTH && 0 < n.length ? (t[r] = n,
++i) : J.w("validateAndCleanCustomFields: entry with key=" + r + ", value=" + o + " has been omitted because its value is an empty string or exceeds the max number of characters (" + l.MAX_CUSTOM_FIELDS_VALUE_STRING_LENGTH + ")")
} else if ("number" === a || o instanceof Number) {
var h = o;
t[r] = h,
++i
} else
J.w("validateAndCleanCustomFields: entry with key=" + r + ", value=" + o + " has been omitted because its value is not a string or number")
} else
J.w("validateAndCleanCustomFields: entry with key=" + r + ", value=" + o + " has been omitted because its key contains illegal character, is empty or exceeds the max number of characters (" + l.MAX_CUSTOM_FIELDS_KEY_LENGTH + ")")
} else
J.w("validateAndCleanCustomFields: entry with key=" + r + ", value=" + o + " has been omitted because it exceeds the max number of custom fields (" + l.MAX_CUSTOM_FIELDS_COUNT + ")");
else
J.w("validateAndCleanCustomFields: entry with key=" + r + ", value=" + o + " has been omitted because its key or value is null")
}
}
return t
}
,
l.validateAndFixCurrentDimensions = function() {
q.validateDimension01(l.getCurrentCustomDimension01(), l.getAvailableCustomDimensions01()) || l.setCustomDimension01(""),
q.validateDimension02(l.getCurrentCustomDimension02(), l.getAvailableCustomDimensions02()) || l.setCustomDimension02(""),
q.validateDimension03(l.getCurrentCustomDimension03(), l.getAvailableCustomDimensions03()) || l.setCustomDimension03("")
}
,
l.getConfigurationStringValue = function(e, t) {
return l.instance.configurations[e] ? l.instance.configurations[e].toString() : t
}
,
l.isCommandCenterReady = function() {
return l.instance.commandCenterIsReady
}
,
l.addCommandCenterListener = function(e) {
l.instance.commandCenterListeners.indexOf(e) < 0 && l.instance.commandCenterListeners.push(e)
}
,
l.removeCommandCenterListener = function(e) {
var t = l.instance.commandCenterListeners.indexOf(e);
-1 < t && l.instance.commandCenterListeners.splice(t, 1)
}
,
l.getConfigurationsContentAsString = function() {
return JSON.stringify(l.instance.configurations)
}
,
l.populateConfigurations = function(e) {
var t = e.configurations;
if (t)
for (var i = 0; i < t.length; ++i) {
var r = t[i];
if (r) {
var o = r.key
, s = r.value
, a = r.start ? r.start : Number.MIN_VALUE
, n = r.end ? r.end : Number.MAX_VALUE
, h = l.getClientTsAdjusted();
o && s && a < h && h < n && (l.instance.configurations[o] = s)
}
}
l.instance.commandCenterIsReady = !0;
var c = l.instance.commandCenterListeners;
for (i = 0; i < c.length; ++i)
c[i] && c[i].onCommandCenterUpdated()
}
,
l.CategorySdkError = "sdk_error",
l.MAX_CUSTOM_FIELDS_COUNT = 50,
l.MAX_CUSTOM_FIELDS_KEY_LENGTH = 64,
l.MAX_CUSTOM_FIELDS_VALUE_STRING_LENGTH = 256,
l.instance = new l,
l.DefaultUserIdKey = "default_user_id",
l.SessionNumKey = "session_num",
l.TransactionNumKey = "transaction_num",
l.FacebookIdKey = "facebook_id",
l.GenderKey = "gender",
l.BirthYearKey = "birth_year",
l.Dimension01Key = "dimension01",
l.Dimension02Key = "dimension02",
l.Dimension03Key = "dimension03",
l.SdkConfigCachedKey = "sdk_config_cached",
l
}(),
K.GAState = ie,
re = Le || (Le = {}),
oe = re.tasks || (re.tasks = {}),
se = re.utilities.GAUtilities,
ae = re.logging.GALogger,
ne = function() {
function a() {}
return a.execute = function(e, t, i, r) {
if (a.countMap[t] || (a.countMap[t] = 0),
!(a.countMap[t] >= a.MaxCount)) {
var o = se.getHmac(r, i)
, s = new XMLHttpRequest;
s.onreadystatechange = function() {
if (4 === s.readyState) {
if (!s.responseText)
return;
if (200 != s.status)
return void ae.w("sdk error failed. response code not 200. status code: " + s.status + ", description: " + s.statusText + ", body: " + s.responseText);
a.countMap[t] = a.countMap[t] + 1
}
}
,
console.log("--fx--open--post--", e),
s.open("POST", e, !0),
s.setRequestHeader("Content-Type", "application/json"),
s.setRequestHeader("Authorization", o);
try {
s.send(i)
} catch (e) {}
}
}
,
a.MaxCount = 10,
a.countMap = {},
a
}(),
oe.SdkErrorTask = ne,
he = Le || (Le = {}),
ce = he.http || (he.http = {}),
le = he.state.GAState,
me = he.logging.GALogger,
ue = he.utilities.GAUtilities,
de = he.validators.GAValidator,
pe = he.tasks.SdkErrorTask,
fe = function() {
function l() {
this.protocol = "https",
this.hostName = "api.gameanalytics.com",
this.version = "v2",
this.baseUrl = "json/null.json?"+ this.protocol + "://" + this.hostName + "/" + this.version,
this.initializeUrlPath = "init",
this.eventsUrlPath = "events",
this.useGzip = !1
}
return l.prototype.requestInit = function(e) {
var t = le.getGameKey()
, i = (this.baseUrl,
this.initializeUrlPath);
i = "json/null.json?https://rubick.gameanalytics.com/v2/command_center?game_key=" + t + "&interval_seconds=1000000";
var r = le.getInitAnnotations()
, o = JSON.stringify(r);
if (o) {
var s = this.createPayloadData(o, this.useGzip)
, a = [];
a.push(o),
l.sendRequest(i, s, a, this.useGzip, l.initRequestCallback, e)
} else
e(ce.EGAHTTPApiResponse.JsonEncodeFailed, null)
}
,
l.prototype.sendEventsInArray = function(e, t, i) {
if (0 != e.length) {
var r = le.getGameKey()
, o = this.baseUrl + "/" + r + "/" + this.eventsUrlPath
, s = JSON.stringify(e);
if (s) {
var a = this.createPayloadData(s, this.useGzip)
, n = [];
n.push(s),
n.push(t),
n.push(e.length.toString()),
l.sendRequest(o, a, n, this.useGzip, l.sendEventInArrayRequestCallback, i)
} else
i(ce.EGAHTTPApiResponse.JsonEncodeFailed, null, t, e.length)
}
}
,
l.prototype.sendSdkErrorEvent = function(e) {
if (le.isEventSubmissionEnabled()) {
var t = le.getGameKey()
, i = le.getGameSecret();
if (de.validateSdkErrorEvent(t, i, e)) {
var r, o = this.baseUrl + "/" + t + "/" + this.eventsUrlPath, s = le.getSdkErrorEventAnnotations(), a = l.sdkErrorTypeToString(e);
s.type = a;
var n = [];
n.push(s),
(r = JSON.stringify(n)) ? pe.execute(o, e, r, i) : me.w("sendSdkErrorEvent: JSON encoding failed.")
}
}
}
,
l.sendEventInArrayRequestCallback = function(e, t, i, r) {
void 0 === r && (r = null),
r[0],
r[1];
var o, s, a = r[2], n = parseInt(r[3]);
o = e.responseText,
s = e.status;
var h = l.instance.processRequestResponse(s, e.statusText, o, "Events");
if (h == ce.EGAHTTPApiResponse.Ok || h == ce.EGAHTTPApiResponse.BadRequest) {
var c = o ? JSON.parse(o) : {};
null != c ? (ce.EGAHTTPApiResponse.BadRequest,
i(h, c, a, n)) : i(ce.EGAHTTPApiResponse.JsonDecodeFailed, null, a, n)
} else
i(h, null, a, n)
}
,
l.sendRequest = function(e, t, i, r, o, s) {
var a = new XMLHttpRequest
, n = le.getGameSecret()
, h = ue.getHmac(n, t)
, c = [];
for (var l in c.push(h),
i)
c.push(i[l]);
if (a.onreadystatechange = function() {
4 === a.readyState && o(a, e, s, c)
}
,
console.log("--fx--open--post--", e),
a.open("POST", e, !0),
a.setRequestHeader("Content-Type", "text/plain"),
a.setRequestHeader("Authorization", h),
r)
throw new Error("gzip not supported");
try {
a.send(t)
} catch (e) {}
}
,
l.initRequestCallback = function(e, t, i, r) {
var o, s;
void 0 === r && (r = null),
r[0],
r[1],
o = e.responseText,
s = e.status;
var a = o ? JSON.parse(o) : {}
, n = l.instance.processRequestResponse(s, e.statusText, o, "Init");
if (n == ce.EGAHTTPApiResponse.Ok || n == ce.EGAHTTPApiResponse.BadRequest)
if (null != a)
if (n !== ce.EGAHTTPApiResponse.BadRequest) {
var h = de.validateAndCleanInitRequestResponse(a);
h ? i(ce.EGAHTTPApiResponse.Ok, h, "", 0) : i(ce.EGAHTTPApiResponse.BadResponse, null, "", 0)
} else
i(n, null, "", 0);
else
i(ce.EGAHTTPApiResponse.JsonDecodeFailed, null, "", 0);
else
i(n, null, "", 0)
}
,
l.prototype.createPayloadData = function(e, t) {
if (t)
throw new Error("gzip not supported");
return e
}
,
l.prototype.processRequestResponse = function(e, t, i, r) {
return i ? 200 === e ? ce.EGAHTTPApiResponse.Ok : 0 === e || 401 === e ? ce.EGAHTTPApiResponse.Unauthorized : 400 === e ? ce.EGAHTTPApiResponse.BadRequest : 500 === e ? ce.EGAHTTPApiResponse.InternalServerError : ce.EGAHTTPApiResponse.UnknownResponseCode : ce.EGAHTTPApiResponse.NoResponse
}
,
l.sdkErrorTypeToString = function(e) {
switch (e) {
case ce.EGASdkErrorType.Rejected:
return "rejected";
default:
return ""
}
}
,
l.instance = new l,
l
}(),
ce.GAHTTPApi = fe,
ye = Le || (Le = {}),
Se = ye.events || (ye.events = {}),
we = ye.store.GAStore,
ge = ye.store.EGAStore,
xe = ye.store.EGAStoreArgsOperator,
be = ye.state.GAState,
ve = ye.logging.GALogger,
ze = ye.utilities.GAUtilities,
Ce = ye.http.EGAHTTPApiResponse,
Te = ye.http.GAHTTPApi,
Pe = ye.validators.GAValidator,
Ae = ye.http.EGASdkErrorType,
_e = function() {
function u() {}
return u.addSessionStartEvent = function() {
if (be.isEventSubmissionEnabled()) {
var e = {};
e.category = u.CategorySessionStart,
be.incrementSessionNum(),
we.setItem(be.SessionNumKey, be.getSessionNum().toString()),
u.addDimensionsToEvent(e),
u.addEventToStore(e),
ve.i("Add SESSION START event"),
u.processEvents(u.CategorySessionStart, !1)
}
}
,
u.addSessionEndEvent = function() {
if (be.isEventSubmissionEnabled()) {
var e = be.getSessionStart()
, t = be.getClientTsAdjusted() - e;
t < 0 && (ve.w("Session length was calculated to be less then 0. Should not be possible. Resetting to 0."),
t = 0);
var i = {};
i.category = u.CategorySessionEnd,
i.length = t,
u.addDimensionsToEvent(i),
u.addEventToStore(i),
ve.i("Add SESSION END event."),
u.processEvents("", !1)
}
}
,
u.addBusinessEvent = function(e, t, i, r, o, s) {
if (void 0 === o && (o = null),
be.isEventSubmissionEnabled())
if (Pe.validateBusinessEvent(e, t, o, i, r)) {
var a = {};
be.incrementTransactionNum(),
we.setItem(be.TransactionNumKey, be.getTransactionNum().toString()),
a.event_id = i + ":" + r,
a.category = u.CategoryBusiness,
a.currency = e,
a.amount = t,
a[be.TransactionNumKey] = be.getTransactionNum(),
o && (a.cart_type = o),
u.addDimensionsToEvent(a),
u.addFieldsToEvent(a, be.validateAndCleanCustomFields(s)),
ve.i("Add BUSINESS event: {currency:" + e + ", amount:" + t + ", itemType:" + i + ", itemId:" + r + ", cartType:" + o + "}"),
u.addEventToStore(a)
} else
Te.instance.sendSdkErrorEvent(Ae.Rejected)
}
,
u.addResourceEvent = function(e, t, i, r, o, s) {
if (be.isEventSubmissionEnabled())
if (Pe.validateResourceEvent(e, t, i, r, o, be.getAvailableResourceCurrencies(), be.getAvailableResourceItemTypes())) {
e === ye.EGAResourceFlowType.Sink && (i *= -1);
var a = {}
, n = u.resourceFlowTypeToString(e);
a.event_id = n + ":" + t + ":" + r + ":" + o,
a.category = u.CategoryResource,
a.amount = i,
u.addDimensionsToEvent(a),
u.addFieldsToEvent(a, be.validateAndCleanCustomFields(s)),
ve.i("Add RESOURCE event: {currency:" + t + ", amount:" + i + ", itemType:" + r + ", itemId:" + o + "}"),
u.addEventToStore(a)
} else
Te.instance.sendSdkErrorEvent(Ae.Rejected)
}
,
u.addProgressionEvent = function(e, t, i, r, o, s, a) {
if (be.isEventSubmissionEnabled()) {
var n = u.progressionStatusToString(e);
if (Pe.validateProgressionEvent(e, t, i, r)) {
var h, c = {};
h = i ? r ? t + ":" + i + ":" + r : t + ":" + i : t,
c.category = u.CategoryProgression,
c.event_id = n + ":" + h;
var l = 0;
s && e != ye.EGAProgressionStatus.Start && (c.score = o),
e === ye.EGAProgressionStatus.Fail && be.incrementProgressionTries(h),
e === ye.EGAProgressionStatus.Complete && (be.incrementProgressionTries(h),
l = be.getProgressionTries(h),
c.attempt_num = l,
be.clearProgressionTries(h)),
u.addDimensionsToEvent(c),
u.addFieldsToEvent(c, be.validateAndCleanCustomFields(a)),
ve.i("Add PROGRESSION event: {status:" + n + ", progression01:" + t + ", progression02:" + i + ", progression03:" + r + ", score:" + o + ", attempt:" + l + "}"),
u.addEventToStore(c)
} else
Te.instance.sendSdkErrorEvent(Ae.Rejected)
}
}
,
u.addDesignEvent = function(e, t, i, r) {
if (be.isEventSubmissionEnabled())
if (Pe.validateDesignEvent(e, t)) {
var o = {};
o.category = u.CategoryDesign,
o.event_id = e,
i && (o.value = t),
u.addDimensionsToEvent(o),
u.addFieldsToEvent(o, be.validateAndCleanCustomFields(r)),
ve.i("Add DESIGN event: {eventId:" + e + ", value:" + t + "}"),
u.addEventToStore(o)
} else
Te.instance.sendSdkErrorEvent(Ae.Rejected)
}
,
u.addErrorEvent = function(e, t, i) {
if (be.isEventSubmissionEnabled()) {
var r = u.errorSeverityToString(e);
if (Pe.validateErrorEvent(e, t)) {
var o = {};
o.category = u.CategoryError,
o.severity = r,
o.message = t,
u.addDimensionsToEvent(o),
u.addFieldsToEvent(o, be.validateAndCleanCustomFields(i)),
ve.i("Add ERROR event: {severity:" + r + ", message:" + t + "}"),
u.addEventToStore(o)
} else
Te.instance.sendSdkErrorEvent(Ae.Rejected)
}
}
,
u.processEvents = function(e, t) {
if (be.isEventSubmissionEnabled())
try {
var i = ze.createGuid();
t && (u.cleanupEvents(),
u.fixMissingSessionEndEvents());
var r = [];
r.push(["status", xe.Equal, "new"]);
var o = [];
o.push(["status", xe.Equal, "new"]),
e && (r.push(["category", xe.Equal, e]),
o.push(["category", xe.Equal, e]));
var s = [];
s.push(["status", i]);
var a = we.select(ge.Events, r);
if (!a || 0 == a.length)
return ve.i("Event queue: No events to send"),
void u.updateSessionStore();
if (a.length > u.MaxEventCount) {
if (!(a = we.select(ge.Events, r, !0, u.MaxEventCount)))
return;
var n = a[a.length - 1].client_ts;
if (r.push(["client_ts", xe.LessOrEqual, n]),
!(a = we.select(ge.Events, r)))
return;
o.push(["client_ts", xe.LessOrEqual, n])
}
if (ve.i("Event queue: Sending " + a.length + " events."),
!we.update(ge.Events, s, o))
return;
for (var h = [], c = 0; c < a.length; ++c) {
var l = a[c]
, m = JSON.parse(ze.decode64(l.event));
0 != m.length && h.push(m)
}
Te.instance.sendEventsInArray(h, i, u.processEventsCallback)
} catch (e) {
ve.e("Error during ProcessEvents(): " + e.stack)
}
}
,
u.processEventsCallback = function(e, t, i, r) {
var o = [];
if (o.push(["status", xe.Equal, i]),
e === Ce.Ok)
we.delete(ge.Events, o),
ve.i("Event queue: " + r + " events sent.");
else if (e === Ce.NoResponse) {
var s = [];
s.push(["status", "new"]),
ve.w("Event queue: Failed to send events to collector - Retrying next time"),
we.update(ge.Events, s, o)
} else {
if (t) {
var a, n = 0;
for (var h in t)
0 == n && (a = t[h]),
++n;
e === Ce.BadRequest && a.constructor === Array ? ve.w("Event queue: " + r + " events sent. " + n + " events failed GA server validation.") : ve.w("Event queue: Failed to send events.")
} else
ve.w("Event queue: Failed to send events.");
we.delete(ge.Events, o)
}
}
,
u.cleanupEvents = function() {
we.update(ge.Events, [["status", "new"]])
}
,
u.fixMissingSessionEndEvents = function() {
if (be.isEventSubmissionEnabled()) {
var e = [];
e.push(["session_id", xe.NotEqual, be.getSessionId()]);
var t = we.select(ge.Sessions, e);
if (t && 0 != t.length) {
ve.i(t.length + " session(s) located with missing session_end event.");
for (var i = 0; i < t.length; ++i) {
var r = JSON.parse(ze.decode64(t[i].event))
, o = r.client_ts - t[i].timestamp;
o = Math.max(0, o),
r.category = u.CategorySessionEnd,
r.length = o,
u.addEventToStore(r)
}
}
}
}
,
u.addEventToStore = function(e) {
if (be.isEventSubmissionEnabled())
if (be.isInitialized())
try {
if (we.isStoreTooLargeForEvents() && !ze.stringMatch(e.category, /^(user|session_end|business)$/))
return void ve.w("Database too large. Event has been blocked.");
var t = be.getEventAnnotations()
, i = ze.encode64(JSON.stringify(t));
for (var r in e)
t[r] = e[r];
var o = JSON.stringify(t);
ve.ii("Event added to queue: " + o);
var s = {
status: "new"
};
s.category = t.category,
s.session_id = t.session_id,
s.client_ts = t.client_ts,
s.event = ze.encode64(JSON.stringify(t)),
we.insert(ge.Events, s),
e.category == u.CategorySessionEnd ? we.delete(ge.Sessions, [["session_id", xe.Equal, t.session_id]]) : ((s = {}).session_id = t.session_id,
s.timestamp = be.getSessionStart(),
s.event = i,
we.insert(ge.Sessions, s, !0, "session_id")),
we.isStorageAvailable() && we.save()
} catch (r) {
ve.e("addEventToStore: error"),
ve.e(r.stack)
}
else
ve.w("Could not add event: SDK is not initialized")
}
,
u.updateSessionStore = function() {
if (be.sessionIsStarted()) {
var e = {};
e.session_id = be.instance.sessionId,
e.timestamp = be.getSessionStart(),
e.event = ze.encode64(JSON.stringify(be.getEventAnnotations())),
we.insert(ge.Sessions, e, !0, "session_id"),
we.isStorageAvailable() && we.save()
}
}
,
u.addDimensionsToEvent = function(e) {
e && (be.getCurrentCustomDimension01() && (e.custom_01 = be.getCurrentCustomDimension01()),
be.getCurrentCustomDimension02() && (e.custom_02 = be.getCurrentCustomDimension02()),
be.getCurrentCustomDimension03() && (e.custom_03 = be.getCurrentCustomDimension03()))
}
,
u.addFieldsToEvent = function(e, t) {
e && t && 0 < Object.keys(t).length && (e.custom_fields = t)
}
,
u.resourceFlowTypeToString = function(e) {
return e == ye.EGAResourceFlowType.Source || e == ye.EGAResourceFlowType[ye.EGAResourceFlowType.Source] ? "Source" : e == ye.EGAResourceFlowType.Sink || e == ye.EGAResourceFlowType[ye.EGAResourceFlowType.Sink] ? "Sink" : ""
}
,
u.progressionStatusToString = function(e) {
return e == ye.EGAProgressionStatus.Start || e == ye.EGAProgressionStatus[ye.EGAProgressionStatus.Start] ? "Start" : e == ye.EGAProgressionStatus.Complete || e == ye.EGAProgressionStatus[ye.EGAProgressionStatus.Complete] ? "Complete" : e == ye.EGAProgressionStatus.Fail || e == ye.EGAProgressionStatus[ye.EGAProgressionStatus.Fail] ? "Fail" : ""
}
,
u.errorSeverityToString = function(e) {
return e == ye.EGAErrorSeverity.Debug || e == ye.EGAErrorSeverity[ye.EGAErrorSeverity.Debug] ? "debug" : e == ye.EGAErrorSeverity.Info || e == ye.EGAErrorSeverity[ye.EGAErrorSeverity.Info] ? "info" : e == ye.EGAErrorSeverity.Warning || e == ye.EGAErrorSeverity[ye.EGAErrorSeverity.Warning] ? "warning" : e == ye.EGAErrorSeverity.Error || e == ye.EGAErrorSeverity[ye.EGAErrorSeverity.Error] ? "error" : e == ye.EGAErrorSeverity.Critical || e == ye.EGAErrorSeverity[ye.EGAErrorSeverity.Critical] ? "critical" : ""
}
,
u.instance = new u,
u.CategorySessionStart = "user",
u.CategorySessionEnd = "session_end",
u.CategoryDesign = "design",
u.CategoryBusiness = "business",
u.CategoryProgression = "progression",
u.CategoryResource = "resource",
u.CategoryError = "error",
u.MaxEventCount = 500,
u
}(),
Se.GAEvents = _e,
Be = Le || (Le = {}),
De = Be.threading || (Be.threading = {}),
ke = Be.logging.GALogger,
Ee = Be.state.GAState,
Me = Be.events.GAEvents,
Ie = function() {
function o() {
this.blocks = new De.PriorityQueue({
compare: function(e, t) {
return e - t
}
}),
this.id2TimedBlockMap = {},
o.startThread()
}
return o.createTimedBlock = function(e) {
void 0 === e && (e = 0);
var t = new Date;
return t.setSeconds(t.getSeconds() + e),
new De.TimedBlock(t)
}
,
o.performTaskOnGAThread = function(e, t) {
void 0 === t && (t = 0);
var i = new Date;
i.setSeconds(i.getSeconds() + t);
var r = new De.TimedBlock(i);
r.block = e,
o.instance.id2TimedBlockMap[r.id] = r,
o.instance.addTimedBlock(r)
}
,
o.performTimedBlockOnGAThread = function(e) {
o.instance.id2TimedBlockMap[e.id] = e,
o.instance.addTimedBlock(e)
}
,
o.scheduleTimer = function(e, t) {
var i = new Date;
i.setSeconds(i.getSeconds() + e);
var r = new De.TimedBlock(i);
return r.block = t,
o.instance.id2TimedBlockMap[r.id] = r,
o.instance.addTimedBlock(r),
r.id
}
,
o.getTimedBlockById = function(e) {
return e in o.instance.id2TimedBlockMap ? o.instance.id2TimedBlockMap[e] : null
}
,
o.ensureEventQueueIsRunning = function() {
o.instance.keepRunning = !0,
o.instance.isRunning || (o.instance.isRunning = !0,
o.scheduleTimer(o.ProcessEventsIntervalInSeconds, o.processEventQueue))
}
,
o.endSessionAndStopQueue = function() {
Ee.isInitialized() && (ke.i("Ending session."),
o.stopEventQueue(),
Ee.isEnabled() && Ee.sessionIsStarted() && (Me.addSessionEndEvent(),
Ee.instance.sessionStart = 0))
}
,
o.stopEventQueue = function() {
o.instance.keepRunning = !1
}
,
o.ignoreTimer = function(e) {
e in o.instance.id2TimedBlockMap && (o.instance.id2TimedBlockMap[e].ignore = !0)
}
,
o.setEventProcessInterval = function(e) {
0 < e && (o.ProcessEventsIntervalInSeconds = e)
}
,
o.prototype.addTimedBlock = function(e) {
this.blocks.enqueue(e.deadline.getTime(), e)
}
,
o.run = function() {
clearTimeout(o.runTimeoutId);
try {
for (var e; e = o.getNextBlock(); )
if (!e.ignore)
if (e.async) {
if (!e.running) {
e.running = !0,
e.block();
break
}
} else
e.block();
return void (o.runTimeoutId = setTimeout(o.run, o.ThreadWaitTimeInMs))
} catch (e) {
ke.e("Error on GA thread"),
ke.e(e.stack)
}
}
,
o.startThread = function() {
o.runTimeoutId = setTimeout(o.run, 0)
}
,
o.getNextBlock = function() {
var e = new Date;
return o.instance.blocks.hasItems() && o.instance.blocks.peek().deadline.getTime() <= e.getTime() ? o.instance.blocks.peek().async && o.instance.blocks.peek().running ? o.instance.blocks.peek() : o.instance.blocks.dequeue() : null
}
,
o.processEventQueue = function() {
Me.processEvents("", !0),
o.instance.keepRunning ? o.scheduleTimer(o.ProcessEventsIntervalInSeconds, o.processEventQueue) : o.instance.isRunning = !1
}
,
o.instance = new o,
o.ThreadWaitTimeInMs = 1e3,
o.ProcessEventsIntervalInSeconds = 8,
o
}(),
De.GAThreading = Ie,
Oe = Le || (Le = {}),
Re = Oe.threading.GAThreading,
Fe = Oe.logging.GALogger,
Ge = Oe.store.GAStore,
Ne = Oe.state.GAState,
Ue = Oe.http.GAHTTPApi,
We = Oe.device.GADevice,
Xe = Oe.validators.GAValidator,
He = Oe.http.EGAHTTPApiResponse,
je = Oe.utilities.GAUtilities,
Ye = Oe.events.GAEvents,
Ve = function() {
function a() {}
return a.init = function() {
if (We.touch(),
a.methodMap.configureAvailableCustomDimensions01 = a.configureAvailableCustomDimensions01,
a.methodMap.configureAvailableCustomDimensions02 = a.configureAvailableCustomDimensions02,
a.methodMap.configureAvailableCustomDimensions03 = a.configureAvailableCustomDimensions03,
a.methodMap.configureAvailableResourceCurrencies = a.configureAvailableResourceCurrencies,
a.methodMap.configureAvailableResourceItemTypes = a.configureAvailableResourceItemTypes,
a.methodMap.configureBuild = a.configureBuild,
a.methodMap.configureSdkGameEngineVersion = a.configureSdkGameEngineVersion,
a.methodMap.configureGameEngineVersion = a.configureGameEngineVersion,
a.methodMap.configureUserId = a.configureUserId,
a.methodMap.initialize = a.initialize,
a.methodMap.addBusinessEvent = a.addBusinessEvent,
a.methodMap.addResourceEvent = a.addResourceEvent,
a.methodMap.addProgressionEvent = a.addProgressionEvent,
a.methodMap.addDesignEvent = a.addDesignEvent,
a.methodMap.addErrorEvent = a.addErrorEvent,
a.methodMap.addErrorEvent = a.addErrorEvent,
a.methodMap.setEnabledInfoLog = a.setEnabledInfoLog,
a.methodMap.setEnabledVerboseLog = a.setEnabledVerboseLog,
a.methodMap.setEnabledManualSessionHandling = a.setEnabledManualSessionHandling,
a.methodMap.setEnabledEventSubmission = a.setEnabledEventSubmission,
a.methodMap.setCustomDimension01 = a.setCustomDimension01,
a.methodMap.setCustomDimension02 = a.setCustomDimension02,
a.methodMap.setCustomDimension03 = a.setCustomDimension03,
a.methodMap.setFacebookId = a.setFacebookId,
a.methodMap.setGender = a.setGender,
a.methodMap.setBirthYear = a.setBirthYear,
a.methodMap.setEventProcessInterval = a.setEventProcessInterval,
a.methodMap.startSession = a.startSession,
a.methodMap.endSession = a.endSession,
a.methodMap.onStop = a.onStop,
a.methodMap.onResume = a.onResume,
a.methodMap.addCommandCenterListener = a.addCommandCenterListener,
a.methodMap.removeCommandCenterListener = a.removeCommandCenterListener,
a.methodMap.getCommandCenterValueAsString = a.getCommandCenterValueAsString,
a.methodMap.isCommandCenterReady = a.isCommandCenterReady,
a.methodMap.getConfigurationsContentAsString = a.getConfigurationsContentAsString,
"undefined" != typeof window && void 0 !== window.GameAnalytics && void 0 !== window.GameAnalytics.q) {
var e = window.GameAnalytics.q;
for (var t in e)
a.gaCommand.apply(null, e[t])
}
}
,
a.gaCommand = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
0 < e.length && e[0]in Oe.GameAnalytics.methodMap && (1 < e.length ? Oe.GameAnalytics.methodMap[e[0]].apply(null, Array.prototype.slice.call(e, 1)) : Oe.GameAnalytics.methodMap[e[0]]())
}
,
a.configureAvailableCustomDimensions01 = function(e) {
void 0 === e && (e = []),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("Available custom dimensions must be set before SDK is initialized") : Ne.setAvailableCustomDimensions01(e)
})
}
,
a.configureAvailableCustomDimensions02 = function(e) {
void 0 === e && (e = []),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("Available custom dimensions must be set before SDK is initialized") : Ne.setAvailableCustomDimensions02(e)
})
}
,
a.configureAvailableCustomDimensions03 = function(e) {
void 0 === e && (e = []),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("Available custom dimensions must be set before SDK is initialized") : Ne.setAvailableCustomDimensions03(e)
})
}
,
a.configureAvailableResourceCurrencies = function(e) {
void 0 === e && (e = []),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("Available resource currencies must be set before SDK is initialized") : Ne.setAvailableResourceCurrencies(e)
})
}
,
a.configureAvailableResourceItemTypes = function(e) {
void 0 === e && (e = []),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("Available resource item types must be set before SDK is initialized") : Ne.setAvailableResourceItemTypes(e)
})
}
,
a.configureBuild = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("Build version must be set before SDK is initialized.") : Xe.validateBuild(e) ? Ne.setBuild(e) : Fe.i("Validation fail - configure build: Cannot be null, empty or above 32 length. String: " + e)
})
}
,
a.configureSdkGameEngineVersion = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) || (Xe.validateSdkWrapperVersion(e) ? We.sdkGameEngineVersion = e : Fe.i("Validation fail - configure sdk version: Sdk version not supported. String: " + e))
})
}
,
a.configureGameEngineVersion = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) || (Xe.validateEngineVersion(e) ? We.gameEngineVersion = e : Fe.i("Validation fail - configure game engine version: Game engine version not supported. String: " + e))
})
}
,
a.configureUserId = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !1) ? Fe.w("A custom user id must be set before SDK is initialized.") : Xe.validateUserId(e) ? Ne.setUserId(e) : Fe.i("Validation fail - configure user_id: Cannot be null, empty or above 64 length. Will use default user_id method. Used string: " + e)
})
}
,
a.initialize = function(e, t) {
void 0 === e && (e = ""),
void 0 === t && (t = ""),
We.updateConnectionType();
var i = Re.createTimedBlock();
i.async = !0,
a.initTimedBlockId = i.id,
i.block = function() {
a.isSdkReady(!0, !1) ? Fe.w("SDK already initialized. Can only be called once.") : Xe.validateKeys(e, t) ? (Ne.setKeys(e, t),
a.internalInitialize()) : Fe.w("SDK failed initialize. Game key or secret key is invalid. Can only contain characters A-z 0-9, gameKey is 32 length, gameSecret is 40 length. Failed keys - gameKey: " + e + ", secretKey: " + t)
}
,
Re.performTimedBlockOnGAThread(i)
}
,
a.addBusinessEvent = function(e, t, i, r, o) {
void 0 === e && (e = ""),
void 0 === t && (t = 0),
void 0 === i && (i = ""),
void 0 === r && (r = ""),
void 0 === o && (o = ""),
We.updateConnectionType(),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !0, "Could not add business event") && Ye.addBusinessEvent(e, t, i, r, o, {})
})
}
,
a.addResourceEvent = function(e, t, i, r, o) {
void 0 === e && (e = Oe.EGAResourceFlowType.Undefined),
void 0 === t && (t = ""),
void 0 === i && (i = 0),
void 0 === r && (r = ""),
void 0 === o && (o = ""),
We.updateConnectionType(),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !0, "Could not add resource event") && Ye.addResourceEvent(e, t, i, r, o, {})
})
}
,
a.addProgressionEvent = function(t, i, r, o, s) {
void 0 === t && (t = Oe.EGAProgressionStatus.Undefined),
void 0 === i && (i = ""),
void 0 === r && (r = ""),
void 0 === o && (o = ""),
We.updateConnectionType(),
Re.performTaskOnGAThread(function() {
if (a.isSdkReady(!0, !0, "Could not add progression event")) {
var e = "number" == typeof s;
Ye.addProgressionEvent(t, i, r, o, e ? s : 0, e, {})
}
})
}
,
a.addDesignEvent = function(t, i) {
We.updateConnectionType(),
Re.performTaskOnGAThread(function() {
if (a.isSdkReady(!0, !0, "Could not add design event")) {
var e = "number" == typeof i;
Ye.addDesignEvent(t, e ? i : 0, e, {})
}
})
}
,
a.addErrorEvent = function(e, t) {
void 0 === e && (e = Oe.EGAErrorSeverity.Undefined),
void 0 === t && (t = ""),
We.updateConnectionType(),
Re.performTaskOnGAThread(function() {
a.isSdkReady(!0, !0, "Could not add error event") && Ye.addErrorEvent(e, t, {})
})
}
,
a.setEnabledInfoLog = function(e) {
void 0 === e && (e = !1),
Re.performTaskOnGAThread(function() {
e ? (Fe.setInfoLog(e),
Fe.i("Info logging enabled")) : (Fe.i("Info logging disabled"),
Fe.setInfoLog(e))
})
}
,
a.setEnabledVerboseLog = function(e) {
void 0 === e && (e = !1),
Re.performTaskOnGAThread(function() {
e ? (Fe.setVerboseLog(e),
Fe.i("Verbose logging enabled")) : (Fe.i("Verbose logging disabled"),
Fe.setVerboseLog(e))
})
}
,
a.setEnabledManualSessionHandling = function(e) {
void 0 === e && (e = !1),
Re.performTaskOnGAThread(function() {
Ne.setManualSessionHandling(e)
})
}
,
a.setEnabledEventSubmission = function(e) {
void 0 === e && (e = !1),
Re.performTaskOnGAThread(function() {
e ? (Ne.setEnabledEventSubmission(e),
Fe.i("Event submission enabled")) : (Fe.i("Event submission disabled"),
Ne.setEnabledEventSubmission(e))
})
}
,
a.setCustomDimension01 = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
Xe.validateDimension01(e, Ne.getAvailableCustomDimensions01()) ? Ne.setCustomDimension01(e) : Fe.w("Could not set custom01 dimension value to '" + e + "'. Value not found in available custom01 dimension values")
})
}
,
a.setCustomDimension02 = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
Xe.validateDimension02(e, Ne.getAvailableCustomDimensions02()) ? Ne.setCustomDimension02(e) : Fe.w("Could not set custom02 dimension value to '" + e + "'. Value not found in available custom02 dimension values")
})
}
,
a.setCustomDimension03 = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
Xe.validateDimension03(e, Ne.getAvailableCustomDimensions03()) ? Ne.setCustomDimension03(e) : Fe.w("Could not set custom03 dimension value to '" + e + "'. Value not found in available custom03 dimension values")
})
}
,
a.setFacebookId = function(e) {
void 0 === e && (e = ""),
Re.performTaskOnGAThread(function() {
Xe.validateFacebookId(e) && Ne.setFacebookId(e)
})
}
,
a.setGender = function(e) {
void 0 === e && (e = Oe.EGAGender.Undefined),
Re.performTaskOnGAThread(function() {
Xe.validateGender(e) && Ne.setGender(e)
})
}
,
a.setBirthYear = function(e) {
void 0 === e && (e = 0),
Re.performTaskOnGAThread(function() {
Xe.validateBirthyear(e) && Ne.setBirthYear(e)
})
}
,
a.setEventProcessInterval = function(e) {
Re.performTaskOnGAThread(function() {
Re.setEventProcessInterval(e)
})
}
,
a.startSession = function() {
if (Ne.isInitialized()) {
var e = Re.createTimedBlock();
e.async = !0,
a.initTimedBlockId = e.id,
e.block = function() {
Ne.isEnabled() && Ne.sessionIsStarted() && Re.endSessionAndStopQueue(),
a.resumeSessionAndStartQueue()
}
,
Re.performTimedBlockOnGAThread(e)
}
}
,
a.endSession = function() {
a.onStop()
}
,
a.onStop = function() {
Re.performTaskOnGAThread(function() {
try {
Re.endSessionAndStopQueue()
} catch (e) {}
})
}
,
a.onResume = function() {
var e = Re.createTimedBlock();
e.async = !0,
a.initTimedBlockId = e.id,
e.block = function() {
a.resumeSessionAndStartQueue()
}
,
Re.performTimedBlockOnGAThread(e)
}
,
a.getCommandCenterValueAsString = function(e, t) {
return void 0 === t && (t = null),
Ne.getConfigurationStringValue(e, t)
}
,
a.isCommandCenterReady = function() {
return Ne.isCommandCenterReady()
}
,
a.addCommandCenterListener = function(e) {
Ne.addCommandCenterListener(e)
}
,
a.removeCommandCenterListener = function(e) {
Ne.removeCommandCenterListener(e)
}
,
a.getConfigurationsContentAsString = function() {
return Ne.getConfigurationsContentAsString()
}
,
a.internalInitialize = function() {
Ne.ensurePersistedStates(),
Ge.setItem(Ne.DefaultUserIdKey, Ne.getDefaultId()),
Ne.setInitialized(!0),
a.newSession(),
Ne.isEnabled() && Re.ensureEventQueueIsRunning()
}
,
a.newSession = function() {
Fe.i("Starting a new session."),
Ne.validateAndFixCurrentDimensions(),
Ue.instance.requestInit(a.startNewSessionCallback)
}
,
a.startNewSessionCallback = function(e, t) {
if (e === He.Ok && t) {
var i = 0;
if (t.server_ts) {
var r = t.server_ts;
i = Ne.calculateServerTimeOffset(r)
}
t.time_offset = i,
Ge.setItem(Ne.SdkConfigCachedKey, je.encode64(JSON.stringify(t))),
Ne.instance.sdkConfigCached = t,
Ne.instance.sdkConfig = t,
Ne.instance.initAuthorized = !0
} else
e == He.Unauthorized ? (Fe.w("Initialize SDK failed - Unauthorized"),
Ne.instance.initAuthorized = !1) : (e === He.NoResponse || e === He.RequestTimeout ? Fe.i("Init call (session start) failed - no response. Could be offline or timeout.") : e === He.BadResponse || e === He.JsonEncodeFailed || e === He.JsonDecodeFailed ? Fe.i("Init call (session start) failed - bad response. Could be bad response from proxy or GA servers.") : e !== He.BadRequest && e !== He.UnknownResponseCode || Fe.i("Init call (session start) failed - bad request or unknown response."),
null == Ne.instance.sdkConfig ? null != Ne.instance.sdkConfigCached ? (Fe.i("Init call (session start) failed - using cached init values."),
Ne.instance.sdkConfig = Ne.instance.sdkConfigCached) : (Fe.i("Init call (session start) failed - using default init values."),
Ne.instance.sdkConfig = Ne.instance.sdkConfigDefault) : Fe.i("Init call (session start) failed - using cached init values."),
Ne.instance.initAuthorized = !0);
if (Ne.instance.clientServerTimeOffset = Ne.getSdkConfig().time_offset ? Ne.getSdkConfig().time_offset : 0,
Ne.populateConfigurations(Ne.getSdkConfig()),
!Ne.isEnabled())
return Fe.w("Could not start session: SDK is disabled."),
void Re.stopEventQueue();
Re.ensureEventQueueIsRunning();
var o = je.createGuid();
Ne.instance.sessionId = o,
Ne.instance.sessionStart = Ne.getClientTsAdjusted(),
Ye.addSessionStartEvent();
var s = Re.getTimedBlockById(a.initTimedBlockId);
null != s && (s.running = !1),
a.initTimedBlockId = -1
}
,
a.resumeSessionAndStartQueue = function() {
Ne.isInitialized() && (Fe.i("Resuming session."),
Ne.sessionIsStarted() || a.newSession())
}
,
a.isSdkReady = function(e, t, i) {
return void 0 === t && (t = !0),
void 0 === i && (i = ""),
i && (i += ": "),
e && !Ne.isInitialized() ? (t && Fe.w(i + "SDK is not initialized"),
!1) : e && !Ne.isEnabled() ? (t && Fe.w(i + "SDK is disabled"),
!1) : !(e && !Ne.sessionIsStarted()) || (t && Fe.w(i + "Session has not started yet"),
!1)
}
,
a.initTimedBlockId = -1,
a.methodMap = {},
a
}(),
Oe.GameAnalytics = Ve,
Le.GameAnalytics.init();
Le.GameAnalytics.gaCommand;
var Ke = Le
, qe = function() {
function e() {}
return e.prototype.setup = function(e, t, i) {
z.analyticsEnabled && (Ke.GameAnalytics.initialize(e, t),
Ke.GameAnalytics.configureBuild(i),
Ke.GameAnalytics.startSession(),
window.addEventListener("beforeunload", function() {
Ke.GameAnalytics.endSession()
}))
}
,
e.prototype.addProgressionEvent = function(e, t, i, r, o) {
z.analyticsEnabled && Ke.GameAnalytics.addProgressionEvent(e, t, i, r, o)
}
,
e.prototype.addDesignEvent = function(e, t) {
z.analyticsEnabled && Ke.GameAnalytics.addDesignEvent(e, t)
}
,
e
}();
function Ze(s, a, n, h) {
return new (n || (n = Promise))(function(e, t) {
function i(e) {
try {
o(h.next(e))
} catch (e) {
t(e)
}
}
function r(e) {
try {
o(h.throw(e))
} catch (e) {
t(e)
}
}
function o(t) {
t.done ? e(t.value) : new n(function(e) {
e(t.value)
}
).then(i, r)
}
o((h = h.apply(s, a || [])).next())
}
)
}
function Je(i, r) {
var o, s, a, e, n = {
label: 0,
sent: function() {
if (1 & a[0])
throw a[1];
return a[1]
},
trys: [],
ops: []
};
return e = {
next: t(0),
throw: t(1),
return: t(2)
},
"function" == typeof Symbol && (e[Symbol.iterator] = function() {
return this
}
),
e;
function t(t) {
return function(e) {
return function(t) {
if (o)
throw new TypeError("Generator is already executing.");
for (; n; )
try {
if (o = 1,
s && (a = 2 & t[0] ? s.return : t[0] ? s.throw || ((a = s.return) && a.call(s),
0) : s.next) && !(a = a.call(s, t[1])).done)
return a;
switch (s = 0,
a && (t = [2 & t[0], a.value]),
t[0]) {
case 0:
case 1:
a = t;
break;
case 4:
return n.label++,
{
value: t[1],
done: !1
};
case 5:
n.label++,
s = t[1],
t = [0];
continue;
case 7:
t = n.ops.pop(),
n.trys.pop();
continue;
default:
if (!(a = 0 < (a = n.trys).length && a[a.length - 1]) && (6 === t[0] || 2 === t[0])) {
n = 0;
continue
}
if (3 === t[0] && (!a || t[1] > a[0] && t[1] < a[3])) {
n.label = t[1];
break
}
if (6 === t[0] && n.label < a[1]) {
n.label = a[1],
a = t;
break
}
if (a && n.label < a[2]) {
n.label = a[2],
n.ops.push(t);
break
}
a[2] && n.ops.pop(),
n.trys.pop();
continue
}
t = r.call(i, n)
} catch (e) {
t = [6, e],
s = 0
} finally {
o = a = 0
}
if (5 & t[0])
throw t[1];
return {
value: t[0] ? t[1] : void 0,
done: !0
}
}([t, e])
}
}
}
var Qe = e(function(e, t) {
e.exports = function s(a, n, h) {
function c(i, e) {
if (!n[i]) {
if (!a[i]) {
var t = m;
if (!e && t)
return t(i, !0);
if (l)
return l(i, !0);
var r = new Error("Cannot find module '" + i + "'");
throw r.code = "MODULE_NOT_FOUND",
r
}
var o = n[i] = {
exports: {}
};
a[i][0].call(o.exports, function(e) {
var t = a[i][1][e];
return c(t || e)
}, o, o.exports, s, a, n, h)
}
return n[i].exports
}
for (var l = m, e = 0; e < h.length; e++)
c(h[e]);
return c
}({
1: [function(e, r, x) {
(function() {
var y, t = this || Function("return this")(), S = function() {
var m, i, u, d, p, f, e = Date.now ? Date.now : function() {
return +new Date
}
, y = "undefined" != typeof SHIFTY_DEBUG_NOW ? SHIFTY_DEBUG_NOW : e;
function o() {}
function s(e, t) {
var i;
for (i in e)
Object.hasOwnProperty.call(e, i) && t(i)
}
function a(t, i) {
return s(i, function(e) {
t[e] = i[e]
}),
t
}
function n(t, i) {
s(i, function(e) {
void 0 === t[e] && (t[e] = i[e])
})
}
function S(e, t, i, r, o, s, a) {
var n, h, c, l = e < s ? 0 : (e - s) / o;
for (n in t)
t.hasOwnProperty(n) && (h = a[n],
c = "function" == typeof h ? h : m[h],
t[n] = w(i[n], r[n], c, l));
return t
}
function w(e, t, i, r) {
return e + (t - e) * i(r)
}
function g(t, i) {
var r = l.prototype.filter
, o = t._filterArgs;
s(r, function(e) {
void 0 !== r[e][i] && r[e][i].apply(t, o)
})
}
function h(e, t, i, r, o, s, a, n, h, c, l) {
u = t + i + r,
d = Math.min(l || y(), u),
p = u <= d,
f = r - (u - d),
e.isPlaying() && (p ? (h(a, e._attachment, f),
e.stop(!0)) : (e._scheduleId = c(e._timeoutHandler, 1e3 / 60),
g(e, "beforeTween"),
d < t + i ? S(1, o, s, a, 1, 1, n) : S(d, o, s, a, r, t + i, n),
g(e, "afterTween"),
h(o, e._attachment, f)))
}
function c(e, t) {
var i = {}
, r = typeof t;
return s(e, "string" === r || "function" === r ? function(e) {
i[e] = t
}
: function(e) {
i[e] || (i[e] = t[e] || "linear")
}
),
i
}
function l(e, t) {
this._currentState = e || {},
this._configured = !1,
this._scheduleFunction = i,
void 0 !== t && this.setConfig(t)
}
return i = "undefined" != typeof window && (window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || window.mozCancelRequestAnimationFrame && window.mozRequestAnimationFrame) || setTimeout,
l.prototype.tween = function(e) {
return this._isTweening ? this : (void 0 === e && this._configured || this.setConfig(e),
this._timestamp = y(),
this._start(this.get(), this._attachment),
this.resume())
}
,
l.prototype.setConfig = function(e) {
e = e || {},
this._configured = !0,
this._attachment = e.attachment,
this._pausedAtTime = null,
this._scheduleId = null,
this._delay = e.delay || 0,
this._start = e.start || o,
this._step = e.step || o,
this._finish = e.finish || o,
this._duration = e.duration || 500,
this._currentState = a({}, e.from || this.get()),
this._originalState = this.get(),
this._targetState = a({}, e.to || this.get());
var t = this;
this._timeoutHandler = function() {
h(t, t._timestamp, t._delay, t._duration, t._currentState, t._originalState, t._targetState, t._easing, t._step, t._scheduleFunction)
}
;
var i = this._currentState
, r = this._targetState;
return n(r, i),
this._easing = c(i, e.easing || "linear"),
this._filterArgs = [i, this._originalState, r, this._easing],
g(this, "tweenCreated"),
this
}
,
l.prototype.get = function() {
return a({}, this._currentState)
}
,
l.prototype.set = function(e) {
this._currentState = e
}
,
l.prototype.pause = function() {
return this._pausedAtTime = y(),
this._isPaused = !0,
this
}
,
l.prototype.resume = function() {
return this._isPaused && (this._timestamp += y() - this._pausedAtTime),
this._isPaused = !1,
this._isTweening = !0,
this._timeoutHandler(),
this
}
,
l.prototype.seek = function(e) {
e = Math.max(e, 0);
var t = y();
return this._timestamp + e === 0 || (this._timestamp = t - e,
this.isPlaying() || (this._isTweening = !0,
this._isPaused = !1,
h(this, this._timestamp, this._delay, this._duration, this._currentState, this._originalState, this._targetState, this._easing, this._step, this._scheduleFunction, t),
this.pause())),
this
}
,
l.prototype.stop = function(e) {
return this._isTweening = !1,
this._isPaused = !1,
this._timeoutHandler = o,
(t.cancelAnimationFrame || t.webkitCancelAnimationFrame || t.oCancelAnimationFrame || t.msCancelAnimationFrame || t.mozCancelRequestAnimationFrame || t.clearTimeout)(this._scheduleId),
e && (g(this, "beforeTween"),
S(1, this._currentState, this._originalState, this._targetState, 1, 0, this._easing),
g(this, "afterTween"),
g(this, "afterTweenEnd"),
this._finish.call(this, this._currentState, this._attachment)),
this
}
,
l.prototype.isPlaying = function() {
return this._isTweening && !this._isPaused
}
,
l.prototype.setScheduleFunction = function(e) {
this._scheduleFunction = e
}
,
l.prototype.dispose = function() {
var e;
for (e in this)
this.hasOwnProperty(e) && delete this[e]
}
,
l.prototype.filter = {},
m = l.prototype.formula = {
linear: function(e) {
return e
}
},
a(l, {
now: y,
each: s,
tweenProps: S,
tweenProp: w,
applyFilter: g,
shallowCopy: a,
defaults: n,
composeEasingObject: c
}),
"function" == typeof SHIFTY_DEBUG_NOW && (t.timeoutHandler = h),
"object" == typeof x ? r.exports = l : void 0 === t.Tweenable && (t.Tweenable = l),
l
}();
S.shallowCopy(S.prototype.formula, {
easeInQuad: function(e) {
return Math.pow(e, 2)
},
easeOutQuad: function(e) {
return -(Math.pow(e - 1, 2) - 1)
},
easeInOutQuad: function(e) {
return (e /= .5) < 1 ? .5 * Math.pow(e, 2) : -.5 * ((e -= 2) * e - 2)
},
easeInCubic: function(e) {
return Math.pow(e, 3)
},
easeOutCubic: function(e) {
return Math.pow(e - 1, 3) + 1
},
easeInOutCubic: function(e) {
return (e /= .5) < 1 ? .5 * Math.pow(e, 3) : .5 * (Math.pow(e - 2, 3) + 2)
},
easeInQuart: function(e) {
return Math.pow(e, 4)
},
easeOutQuart: function(e) {
return -(Math.pow(e - 1, 4) - 1)
},
easeInOutQuart: function(e) {
return (e /= .5) < 1 ? .5 * Math.pow(e, 4) : -.5 * ((e -= 2) * Math.pow(e, 3) - 2)
},
easeInQuint: function(e) {
return Math.pow(e, 5)
},
easeOutQuint: function(e) {
return Math.pow(e - 1, 5) + 1
},
easeInOutQuint: function(e) {
return (e /= .5) < 1 ? .5 * Math.pow(e, 5) : .5 * (Math.pow(e - 2, 5) + 2)
},
easeInSine: function(e) {
return 1 - Math.cos(e * (Math.PI / 2))
},
easeOutSine: function(e) {
return Math.sin(e * (Math.PI / 2))
},
easeInOutSine: function(e) {
return -.5 * (Math.cos(Math.PI * e) - 1)
},
easeInExpo: function(e) {
return 0 === e ? 0 : Math.pow(2, 10 * (e - 1))
},
easeOutExpo: function(e) {
return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
},
easeInOutExpo: function(e) {
return 0 === e ? 0 : 1 === e ? 1 : (e /= .5) < 1 ? .5 * Math.pow(2, 10 * (e - 1)) : .5 * (2 - Math.pow(2, -10 * --e))
},
easeInCirc: function(e) {
return -(Math.sqrt(1 - e * e) - 1)
},
easeOutCirc: function(e) {
return Math.sqrt(1 - Math.pow(e - 1, 2))
},
easeInOutCirc: function(e) {
return (e /= .5) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
},
easeOutBounce: function(e) {
return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
},
easeInBack: function(e) {
return e * e * (2.70158 * e - 1.70158)
},
easeOutBack: function(e) {
return (e -= 1) * e * (2.70158 * e + 1.70158) + 1
},
easeInOutBack: function(e) {
var t = 1.70158;
return (e /= .5) < 1 ? e * e * ((1 + (t *= 1.525)) * e - t) * .5 : .5 * ((e -= 2) * e * ((1 + (t *= 1.525)) * e + t) + 2)
},
elastic: function(e) {
return -1 * Math.pow(4, -8 * e) * Math.sin((6 * e - 1) * (2 * Math.PI) / 2) + 1
},
swingFromTo: function(e) {
var t = 1.70158;
return (e /= .5) < 1 ? e * e * ((1 + (t *= 1.525)) * e - t) * .5 : .5 * ((e -= 2) * e * ((1 + (t *= 1.525)) * e + t) + 2)
},
swingFrom: function(e) {
return e * e * (2.70158 * e - 1.70158)
},
swingTo: function(e) {
return (e -= 1) * e * (2.70158 * e + 1.70158) + 1
},
bounce: function(e) {
return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
},
bouncePast: function(e) {
return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 2 - (7.5625 * (e -= 1.5 / 2.75) * e + .75) : e < 2.5 / 2.75 ? 2 - (7.5625 * (e -= 2.25 / 2.75) * e + .9375) : 2 - (7.5625 * (e -= 2.625 / 2.75) * e + .984375)
},
easeFromTo: function(e) {
return (e /= .5) < 1 ? .5 * Math.pow(e, 4) : -.5 * ((e -= 2) * Math.pow(e, 3) - 2)
},
easeFrom: function(e) {
return Math.pow(e, 4)
},
easeTo: function(e) {
return Math.pow(e, .25)
}
}),
function() {
function l(e, t, i, r, o, s) {
var a, c = 0, l = 0, m = 0, n = 0, h = 0, u = 0;
function d(e) {
return ((c * e + l) * e + m) * e
}
function p(e) {
return 0 <= e ? e : 0 - e
}
function f(e, t) {
var i, r, o, s, a, n, h;
for (o = e,
n = 0; n < 8; n++) {
if (p(s = d(o) - e) < t)
return o;
if (p(a = (3 * c * (h = o) + 2 * l) * h + m) < 1e-6)
break;
o -= s / a
}
if (r = 1,
(o = e) < (i = 0))
return i;
if (r < o)
return r;
for (; i < r; ) {
if (p((s = d(o)) - e) < t)
return o;
s < e ? i = o : r = o,
o = .5 * (r - i) + i
}
return o
}
return c = 1 - (m = 3 * t) - (l = 3 * (r - t) - m),
n = 1 - (u = 3 * i) - (h = 3 * (o - i) - u),
a = f(e, 1 / (200 * s)),
((n * a + h) * a + u) * a
}
S.setBezierFunction = function(e, t, i, r, o) {
var s, a, n, h, c = (s = t,
a = i,
n = r,
h = o,
function(e) {
return l(e, s, a, n, h, 1)
}
);
return c.displayName = e,
c.x1 = t,
c.y1 = i,
c.x2 = r,
c.y2 = o,
S.prototype.formula[e] = c
}
,
S.unsetBezierFunction = function(e) {
delete S.prototype.formula[e]
}
}(),
(y = new S)._filterArgs = [],
S.interpolate = function(e, t, i, r, o) {
var s = S.shallowCopy({}, e)
, a = o || 0
, n = S.composeEasingObject(e, r || "linear");
y.set({});
var h = y._filterArgs;
h.length = 0,
h[0] = s,
h[1] = e,
h[2] = t,
h[3] = n,
S.applyFilter(y, "tweenCreated"),
S.applyFilter(y, "beforeTween");
var c, l, m, u, d, p, f = (c = e,
l = s,
m = t,
u = i,
d = n,
p = a,
S.tweenProps(u, l, c, m, 1, p, d));
return S.applyFilter(y, "afterTween"),
f
}
,
function(n) {
var h = /(\d|\-|\.)/
, c = /([^\-0-9\.]+)/g
, s = /[0-9.\-]+/g
, a = new RegExp("rgb\\(" + s.source + /,\s*/.source + s.source + /,\s*/.source + s.source + "\\)","g")
, l = /^.*\(/
, r = /#([0-9]|[a-f]){3,6}/gi
, m = "VAL";
function o(i) {
n.each(i, function(e) {
var t = i[e];
"string" == typeof t && t.match(r) && (i[e] = f(r, t, u))
})
}
function u(e) {
var t, i = (3 === (t = (t = e).replace(/#/, "")).length && (t = (t = t.split(""))[0] + t[0] + t[1] + t[1] + t[2] + t[2]),
d[0] = p(t.substr(0, 2)),
d[1] = p(t.substr(2, 2)),
d[2] = p(t.substr(4, 2)),
d);
return "rgb(" + i[0] + "," + i[1] + "," + i[2] + ")"
}
var d = [];
function p(e) {
return parseInt(e, 16)
}
function f(e, t, i) {
var r = t.match(e)
, o = t.replace(e, m);
if (r)
for (var s, a = r.length, n = 0; n < a; n++)
s = r.shift(),
o = o.replace(m, i(s));
return o
}
function y(e) {
for (var t = e.match(s), i = t.length, r = e.match(l)[0], o = 0; o < i; o++)
r += parseInt(t[o], 10) + ",";
return r = r.slice(0, -1) + ")"
}
function S(s) {
var a = {};
return n.each(s, function(e) {
var t, i, r = s[e];
if ("string" == typeof r) {
var o = b(r);
a[e] = {
formatString: (t = r,
i = t.match(c),
i ? (1 === i.length || t.charAt(0).match(h)) && i.unshift("") : i = ["", ""],
i.join(m)),
chunkNames: function(e, t) {
var i, r = [], o = e.length;
for (i = 0; i < o; i++)
r.push("_" + t + "_" + i);
return r
}(o, e)
}
}
}),
a
}
function w(s, a) {
n.each(a, function(e) {
for (var t = s[e], i = b(t), r = i.length, o = 0; o < r; o++)
s[a[e].chunkNames[o]] = +i[o];
delete s[e]
})
}
function g(o, s) {
n.each(s, function(e) {
var t = o[e]
, i = function(e, t) {
for (var i, r = {}, o = t.length, s = 0; s < o; s++)
i = t[s],
r[i] = e[i],
delete e[i];
return r
}(o, s[e].chunkNames)
, r = function(e, t) {
x.length = 0;
for (var i = t.length, r = 0; r < i; r++)
x.push(e[t[r]]);
return x
}(i, s[e].chunkNames);
t = function(e, t) {
for (var i = e, r = t.length, o = 0; o < r; o++)
i = i.replace(m, +t[o].toFixed(4));
return i
}(s[e].formatString, r),
o[e] = f(a, t, y)
})
}
var x = [];
function b(e) {
return e.match(s)
}
n.prototype.filter.token = {
tweenCreated: function(e, t, i, r) {
o(e),
o(t),
o(i),
this._tokenData = S(e)
},
beforeTween: function(e, t, i, r) {
var h, c;
h = r,
c = this._tokenData,
n.each(c, function(e) {
var t, i = c[e], r = i.chunkNames, o = r.length, s = h[e];
if ("string" == typeof s) {
var a = s.split(" ")
, n = a[a.length - 1];
for (t = 0; t < o; t++)
h[r[t]] = a[t] || n
} else
for (t = 0; t < o; t++)
h[r[t]] = s;
delete h[e]
}),
w(e, this._tokenData),
w(t, this._tokenData),
w(i, this._tokenData)
},
afterTween: function(e, t, i, r) {
var h, c;
g(e, this._tokenData),
g(t, this._tokenData),
g(i, this._tokenData),
h = r,
c = this._tokenData,
n.each(c, function(e) {
var t = c[e]
, i = t.chunkNames
, r = i.length
, o = h[i[0]]
, s = typeof o;
if ("string" === s) {
for (var a = "", n = 0; n < r; n++)
a += " " + h[i[n]],
delete h[i[n]];
h[e] = a.substr(1)
} else
h[e] = o
})
}
}
}(S)
}
).call(null)
}
, {}],
2: [function(e, t, i) {
var r = e("./shape")
, o = e("./utils")
, s = function(e, t) {
this._pathTemplate = "M 50,50 m 0,-{radius} a {radius},{radius} 0 1 1 0,{2radius} a {radius},{radius} 0 1 1 0,-{2radius}",
this.containerAspectRatio = 1,
r.apply(this, arguments)
};
((s.prototype = new r).constructor = s).prototype._pathString = function(e) {
var t = e.strokeWidth;
e.trailWidth && e.trailWidth > e.strokeWidth && (t = e.trailWidth);
var i = 50 - t / 2;
return o.render(this._pathTemplate, {
radius: i,
"2radius": 2 * i
})
}
,
s.prototype._trailString = function(e) {
return this._pathString(e)
}
,
t.exports = s
}
, {
"./shape": 7,
"./utils": 9
}],
3: [function(e, t, i) {
var r = e("./shape")
, o = e("./utils")
, s = function(e, t) {
this._pathTemplate = "M 0,{center} L 100,{center}",
r.apply(this, arguments)
};
((s.prototype = new r).constructor = s).prototype._initializeSvg = function(e, t) {
e.setAttribute("viewBox", "0 0 100 " + t.strokeWidth),
e.setAttribute("preserveAspectRatio", "none")
}
,
s.prototype._pathString = function(e) {
return o.render(this._pathTemplate, {
center: e.strokeWidth / 2
})
}
,
s.prototype._trailString = function(e) {
return this._pathString(e)
}
,
t.exports = s
}
, {
"./shape": 7,
"./utils": 9
}],
4: [function(e, t, i) {
t.exports = {
Line: e("./line"),
Circle: e("./circle"),
SemiCircle: e("./semicircle"),
Square: e("./square"),
Path: e("./path"),
Shape: e("./shape"),
utils: e("./utils")
}
}
, {
"./circle": 2,
"./line": 3,
"./path": 5,
"./semicircle": 6,
"./shape": 7,
"./square": 8,
"./utils": 9
}],
5: [function(e, t, i) {
var l = e("shifty")
, m = e("./utils")
, r = {
easeIn: "easeInCubic",
easeOut: "easeOutCubic",
easeInOut: "easeInOutCubic"
}
, o = function e(t, i) {
if (!(this instanceof e))
throw new Error("Constructor was called without new keyword");
var r;
i = m.extend({
duration: 800,
easing: "linear",
from: {},
to: {},
step: function() {}
}, i),
r = m.isString(t) ? document.querySelector(t) : t,
this.path = r,
this._opts = i,
this._tweenable = null;
var o = this.path.getTotalLength();
this.path.style.strokeDasharray = o + " " + o,
this.set(0)
};
o.prototype.value = function() {
var e = this._getComputedDashOffset()
, t = this.path.getTotalLength()
, i = 1 - e / t;
return parseFloat(i.toFixed(6), 10)
}
,
o.prototype.set = function(e) {
this.stop(),
this.path.style.strokeDashoffset = this._progressToOffset(e);
var t = this._opts.step;
if (m.isFunction(t)) {
var i = this._easing(this._opts.easing)
, r = this._calculateTo(e, i)
, o = this._opts.shape || this;
t(r, o, this._opts.attachment)
}
}
,
o.prototype.stop = function() {
this._stopTween(),
this.path.style.strokeDashoffset = this._getComputedDashOffset()
}
,
o.prototype.animate = function(e, i, t) {
i = i || {},
m.isFunction(i) && (t = i,
i = {});
var r = m.extend({}, i)
, o = m.extend({}, this._opts);
i = m.extend(o, i);
var s = this._easing(i.easing)
, a = this._resolveFromAndTo(e, s, r);
this.stop(),
this.path.getBoundingClientRect();
var n = this._getComputedDashOffset()
, h = this._progressToOffset(e)
, c = this;
this._tweenable = new l,
this._tweenable.tween({
from: m.extend({
offset: n
}, a.from),
to: m.extend({
offset: h
}, a.to),
duration: i.duration,
easing: s,
step: function(e) {
c.path.style.strokeDashoffset = e.offset;
var t = i.shape || c;
i.step(e, t, i.attachment)
},
finish: function(e) {
m.isFunction(t) && t()
}
})
}
,
o.prototype._getComputedDashOffset = function() {
var e = window.getComputedStyle(this.path, null);
return parseFloat(e.getPropertyValue("stroke-dashoffset"), 10)
}
,
o.prototype._progressToOffset = function(e) {
var t = this.path.getTotalLength();
return t - e * t
}
,
o.prototype._resolveFromAndTo = function(e, t, i) {
return i.from && i.to ? {
from: i.from,
to: i.to
} : {
from: this._calculateFrom(t),
to: this._calculateTo(e, t)
}
}
,
o.prototype._calculateFrom = function(e) {
return l.interpolate(this._opts.from, this._opts.to, this.value(), e)
}
,
o.prototype._calculateTo = function(e, t) {
return l.interpolate(this._opts.from, this._opts.to, e, t)
}
,
o.prototype._stopTween = function() {
null !== this._tweenable && (this._tweenable.stop(),
this._tweenable = null)
}
,
o.prototype._easing = function(e) {
return r.hasOwnProperty(e) ? r[e] : e
}
,
t.exports = o
}
, {
"./utils": 9,
shifty: 1
}],
6: [function(e, t, i) {
var r = e("./shape")
, o = e("./circle")
, s = e("./utils")
, a = function(e, t) {
this._pathTemplate = "M 50,50 m -{radius},0 a {radius},{radius} 0 1 1 {2radius},0",
this.containerAspectRatio = 2,
r.apply(this, arguments)
};
((a.prototype = new r).constructor = a).prototype._initializeSvg = function(e, t) {
e.setAttribute("viewBox", "0 0 100 50")
}
,
a.prototype._initializeTextContainer = function(e, t, i) {
e.text.style && (i.style.top = "auto",
i.style.bottom = "0",
e.text.alignToBottom ? s.setStyle(i, "transform", "translate(-50%, 0)") : s.setStyle(i, "transform", "translate(-50%, 50%)"))
}
,
a.prototype._pathString = o.prototype._pathString,
a.prototype._trailString = o.prototype._trailString,
t.exports = a
}
, {
"./circle": 2,
"./shape": 7,
"./utils": 9
}],
7: [function(e, t, i) {
var a = e("./path")
, n = e("./utils")
, r = "Object is destroyed"
, o = function e(t, i) {
if (!(this instanceof e))
throw new Error("Constructor was called without new keyword");
if (0 !== arguments.length) {
this._opts = n.extend({
color: "#555",
strokeWidth: 1,
trailColor: null,
trailWidth: null,
fill: null,
text: {
style: {
color: null,
position: "absolute",
left: "50%",
top: "50%",
padding: 0,
margin: 0,
transform: {
prefix: !0,
value: "translate(-50%, -50%)"
}
},
autoStyleContainer: !0,
alignToBottom: !0,
value: null,
className: "progressbar-text"
},
svgStyle: {
display: "block",
width: "100%"
},
warnings: !1
}, i, !0),
n.isObject(i) && void 0 !== i.svgStyle && (this._opts.svgStyle = i.svgStyle),
n.isObject(i) && n.isObject(i.text) && void 0 !== i.text.style && (this._opts.text.style = i.text.style);
var r, o = this._createSvgView(this._opts);
if (!(r = n.isString(t) ? document.querySelector(t) : t))
throw new Error("Container does not exist: " + t);
this._container = r,
this._container.appendChild(o.svg),
this._opts.warnings && this._warnContainerAspectRatio(this._container),
this._opts.svgStyle && n.setStyles(o.svg, this._opts.svgStyle),
this.svg = o.svg,
this.path = o.path,
this.trail = o.trail,
this.text = null;
var s = n.extend({
attachment: void 0,
shape: this
}, this._opts);
this._progressPath = new a(o.path,s),
n.isObject(this._opts.text) && null !== this._opts.text.value && this.setText(this._opts.text.value)
}
};
o.prototype.animate = function(e, t, i) {
if (null === this._progressPath)
throw new Error(r);
this._progressPath.animate(e, t, i)
}
,
o.prototype.stop = function() {
if (null === this._progressPath)
throw new Error(r);
void 0 !== this._progressPath && this._progressPath.stop()
}
,
o.prototype.destroy = function() {
if (null === this._progressPath)
throw new Error(r);
this.stop(),
this.svg.parentNode.removeChild(this.svg),
this.svg = null,
this.path = null,
this.trail = null,
(this._progressPath = null) !== this.text && (this.text.parentNode.removeChild(this.text),
this.text = null)
}
,
o.prototype.set = function(e) {
if (null === this._progressPath)
throw new Error(r);
this._progressPath.set(e)
}
,
o.prototype.value = function() {
if (null === this._progressPath)
throw new Error(r);
return void 0 === this._progressPath ? 0 : this._progressPath.value()
}
,
o.prototype.setText = function(e) {
if (null === this._progressPath)
throw new Error(r);
null === this.text && (this.text = this._createTextContainer(this._opts, this._container),
this._container.appendChild(this.text)),
n.isObject(e) ? (n.removeChildren(this.text),
this.text.appendChild(e)) : this.text.innerHTML = e
}
,
o.prototype._createSvgView = function(e) {
var t = document.createElementNS("http://www.w3.org/2000/svg", "svg");
this._initializeSvg(t, e);
var i = null;
(e.trailColor || e.trailWidth) && (i = this._createTrail(e),
t.appendChild(i));
var r = this._createPath(e);
return t.appendChild(r),
{
svg: t,
path: r,
trail: i
}
}
,
o.prototype._initializeSvg = function(e, t) {
e.setAttribute("viewBox", "0 0 100 100")
}
,
o.prototype._createPath = function(e) {
var t = this._pathString(e);
return this._createPathElement(t, e)
}
,
o.prototype._createTrail = function(e) {
var t = this._trailString(e)
, i = n.extend({}, e);
return i.trailColor || (i.trailColor = "#eee"),
i.trailWidth || (i.trailWidth = i.strokeWidth),
i.color = i.trailColor,
i.strokeWidth = i.trailWidth,
i.fill = null,
this._createPathElement(t, i)
}
,
o.prototype._createPathElement = function(e, t) {
var i = document.createElementNS("http://www.w3.org/2000/svg", "path");
return i.setAttribute("d", e),
i.setAttribute("stroke", t.color),
i.setAttribute("stroke-width", t.strokeWidth),
t.fill ? i.setAttribute("fill", t.fill) : i.setAttribute("fill-opacity", "0"),
i
}
,
o.prototype._createTextContainer = function(e, t) {
var i = document.createElement("div");
i.className = e.text.className;
var r = e.text.style;
return r && (e.text.autoStyleContainer && (t.style.position = "relative"),
n.setStyles(i, r),
r.color || (i.style.color = e.color)),
this._initializeTextContainer(e, t, i),
i
}
,
o.prototype._initializeTextContainer = function(e, t, i) {}
,
o.prototype._pathString = function(e) {
throw new Error("Override this function for each progress bar")
}
,
o.prototype._trailString = function(e) {
throw new Error("Override this function for each progress bar")
}
,
o.prototype._warnContainerAspectRatio = function(e) {
if (this.containerAspectRatio) {
var t = window.getComputedStyle(e, null)
, i = parseFloat(t.getPropertyValue("width"), 10)
, r = parseFloat(t.getPropertyValue("height"), 10);
n.floatEquals(this.containerAspectRatio, i / r)
}
}
,
t.exports = o
}
, {
"./path": 5,
"./utils": 9
}],
8: [function(e, t, i) {
var r = e("./shape")
, o = e("./utils")
, s = function(e, t) {
this._pathTemplate = "M 0,{halfOfStrokeWidth} L {width},{halfOfStrokeWidth} L {width},{width} L {halfOfStrokeWidth},{width} L {halfOfStrokeWidth},{strokeWidth}",
this._trailTemplate = "M {startMargin},{halfOfStrokeWidth} L {width},{halfOfStrokeWidth} L {width},{width} L {halfOfStrokeWidth},{width} L {halfOfStrokeWidth},{halfOfStrokeWidth}",
r.apply(this, arguments)
};
((s.prototype = new r).constructor = s).prototype._pathString = function(e) {
var t = 100 - e.strokeWidth / 2;
return o.render(this._pathTemplate, {
width: t,
strokeWidth: e.strokeWidth,
halfOfStrokeWidth: e.strokeWidth / 2
})
}
,
s.prototype._trailString = function(e) {
var t = 100 - e.strokeWidth / 2;
return o.render(this._trailTemplate, {
width: t,
strokeWidth: e.strokeWidth,
halfOfStrokeWidth: e.strokeWidth / 2,
startMargin: e.strokeWidth / 2 - e.trailWidth / 2
})
}
,
t.exports = s
}
, {
"./shape": 7,
"./utils": 9
}],
9: [function(e, t, i) {
var a = "Webkit Moz O ms".split(" ");
function r(e, t, i) {
for (var r = e.style, o = 0; o < a.length; ++o) {
var s = a[o];
r[s + n(t)] = i
}
r[t] = i
}
function n(e) {
return e.charAt(0).toUpperCase() + e.slice(1)
}
function h(e) {
if (t = e,
"[object Array]" === Object.prototype.toString.call(t))
return !1;
var t, i = typeof e;
return "object" === i && !!e
}
function o(e, t) {
for (var i in e)
if (e.hasOwnProperty(i)) {
var r = e[i];
t(r, i)
}
}
t.exports = {
extend: function e(t, i, r) {
for (var o in t = t || {},
r = r || !1,
i = i || {})
if (i.hasOwnProperty(o)) {
var s = t[o]
, a = i[o];
r && h(s) && h(a) ? t[o] = e(s, a, r) : t[o] = a
}
return t
},
render: function(e, t) {
var i = e;
for (var r in t)
if (t.hasOwnProperty(r)) {
var o = t[r]
, s = "\\{" + r + "\\}"
, a = new RegExp(s,"g");
i = i.replace(a, o)
}
return i
},
setStyle: r,
setStyles: function(i, e) {
o(e, function(e, t) {
null != e && (h(e) && !0 === e.prefix ? r(i, t, e.value) : i.style[t] = e)
})
},
capitalize: n,
isString: function(e) {
return "string" == typeof e || e instanceof String
},
isFunction: function(e) {
return "function" == typeof e
},
isObject: h,
forEachObject: o,
floatEquals: function(e, t) {
return Math.abs(e - t) < .001
},
removeChildren: function(e) {
for (; e.firstChild; )
e.removeChild(e.firstChild)
}
}
}
, {}]
}, {}, [4])(4)
});
var $e = function() {
function t(e) {
this.circleLoader = null,
this.loaded = !1,
this.showPlayButton = "undefined" == typeof playBtn || playBtn,
this.progress = 0,
this.options = {
gameId: "12346",
gameTitle: "Place Holder",
gameName: "place-holder",
libs: [],
version: "dev",
barColor: "white"
},
this.options.gameId = e.gameId,
this.options.gameTitle = e.gameTitle,
this.options.version = e.version,
this.options.barColor = e.barColor ? e.barColor : this.options.barColor,
this.options.libs = e.libs
}
return t.getInstance = function(e) {
if (!t.instance) {
if (!e)
throw new Error("Can not create new SplashLoader instance without options!");
t.instance = new t(e)
}
return t.instance
}
,
t.prototype.create = function() {
return Ze(this, void 0, void 0, function() {
var r, o, s, a, n, h;
return Je(this, function(e) {
switch (e.label) {
case 0:
return r = "\n #h5branding-center {\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -20%);\n text-align: center;\n width: 100%;\n }\n #h5branding-wrapper {\n position: relative;\n z-index: 665;\n width: 150px;\n height: 150px;\n display:inline-block;\n margin: 35px 40px 96px 40px;\n }\n\n #h5branding-wrapper > #h5branding-bar, #h5branding-wrapper > img {\n box-shadow: inset 10px 10px 20px 5px rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n #h5branding-ad {\n position: relative;\n z-index: 667;\n border-radius: 5px;\n border: 3px solid white;\n background: rgba(256, 256, 256, 0.2);\n width: 336px;\n height: 280px;\n display: none;\n margin: 0px 10px 0px 10px;\n }\n\n #h5branding-wrapper > img {\n /* Needs appropriate vendor prefixes */\n box-sizing: border-box;\n\n /* This needs to be equal to strokeWidth */\n padding: 4%;\n }\n\n #h5branding-wrapper > img {\n border-radius: 50%;\n box-shadow: inset 0 5px 5px rgba(0, 0, 0, 0.5), 5px 5px 7px rgba(0, 0, 0, 0.3);\n }\n\n #h5branding-container {\n box-sizing: border-box;\n position: absolute;\n z-index: 664;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: #000;\n overflow: hidden;\n }\n \n #h5branding-background {\n position: absolute;\n top: -25%;\n left: -25%;\n width: 150%;\n height: 150%;\n background-blend-mode: multiply;\n background-size: cover;\n filter: blur(40px) brightness(1.5);\n }\n \n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n /* IE10+ CSS styles go here */\n #h5branding-background {\n background-image: none !important;\n }\n }\n\n #h5branding-logo {\n position: absolute;\n margin: 0 auto;\n left: 0;\n right: 0;\n text-align: center;\n top: 10%;\n }\n\n #h5branding-logo > img {\n height: 150px;\n }\n\n #h5branding-title {\n position: absolute;\n width: 100%;\n background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.5) 50%, transparent);\n color: #fff;\n text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);\n bottom:10%;\n padding: 15px 0;\n text-align: center;\n font-size: 18px;\n font-family: Helvetica, Arial, sans-serif;\n font-weight: bold;\n line-height: 100%;\n }\n \n #h5branding-button {\n /* border: 0; */\n padding: 10px 22px;\n border-radius: 5px;\n border: 3px solid white;\n background: linear-gradient(0deg, #dddddd, #ffffff);\n color: #222;\n text-transform: uppercase;\n text-shadow: 0 0 1px #fff;\n font-family: Helvetica, Arial, sans-serif;\n font-weight: bold;\n font-size: 18px;\n cursor: pointer;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);\n display: none;\n width: 150px;\n position: absolute;\n top: 170px;\n margin: 0 auto;\n left: 0;\n right: 0;\n }\n \n @media (orientation: portrait) and (max-width: 1080px) {\n #h5branding-logo > img {\n height: initial;\n width:100%;\n }\n }\n \n @media (orientation: landscape) and (max-height: 640px) {\n #h5branding-title {\n display: none;\n }\n \n #h5branding-logo > img {\n height: 100px;\n }\n }\n \n @media (orientation: landscape) and (max-height: 460px) {\n #h5branding-title {\n display: none;\n }\n \n #h5branding-wrapper {\n width: 110px;\n height: 110px;\n margin: 0;\n }\n \n #h5branding-logo {\n top: 0;\n transform: scale(0.7, 0.7);\n }\n \n #h5branding-button {\n top: initial;\n width: 110px;\n font-size: 14px;\n position: absolute;\n top: 140px;\n left: 0;\n right: 0;\n }\n \n #h5branding-ad {\n display: none !important;\n }\n }\n \n @media (orientation: portrait) and (max-width: 250px) {\n #h5branding-logo {\n top: 2%;\n }\n }\n \n @media (orientation: landscape) and (max-width: 330px) {\n #h5branding-button {\n top: 120px;\n }\n \n #h5branding-logo > img {\n height: 70px;\n }\n }\n \n @media (max-width: 600px) and (max-height: 850px) {\n #h5branding-ad {\n display: none !important;\n }\n }\n \n @media (max-width: 600px) and (max-height: 1100px) {\n #h5branding-center {\n top: 40%;\n }\n\n #h5branding-title {\n bottom: 5%\n }\n }\n \n @media (max-width: 600px) and (max-height: 900px) {\n #h5branding-title {\n display: none\n }\n }\n \n @media (orientation: landscape) and (min-width: 800px) {\n #h5branding-wrapper {\n margin-left: 120px;\n margin-right: 120px;\n }\n }\n\n ",
t = this.getGameLogoUrl(this.options.gameId),
i = this.options.gameTitle,
o = '\n <div id="h5branding-background"></div>\n <div id="h5branding-logo"></div>\n <div id="h5branding-center">\n <div id="h5branding-ad"></div>\n <div id="h5branding-wrapper">\n <img src="' + t + '" />\n <div id="h5branding-bar"></div>\n <button id="h5branding-button" onclick="h5branding.SplashLoader.getInstance().onPlayButtonClick();">Play</button>\n </div>\n </div>\n <div id="h5branding-title">' + i + "</div>\n ",
s = document.head || document.getElementsByTagName("head")[0],
(a = document.createElement("style")).type = "text/css",
a.styleSheet ? a.styleSheet.cssText = r : a.appendChild(document.createTextNode(r)),
s.appendChild(a),
(n = document.createElement("div")).innerHTML = o,
n.id = "h5branding-container",
(h = document.body || document.getElementsByTagName("body")[0]).insertBefore(n, h.firstChild),
this.circleLoader = new Qe.Circle("#h5branding-bar",{
strokeWidth: 3,
color: this.options.barColor
}),
[4, Promise.all([this.loadBranding(), this.loadLibs(), T.preload()])];
case 1:
return e.sent(),
this.loaded = !0,
[2]
}
var t, i
})
})
}
,
t.prototype.loadBranding = function() {
return Ze(this, void 0, void 0, function() {
var t, i, r;
return Je(this, function(e) {
switch (e.label) {
case 0:
return [4, z.preload(Date.now().toString())];
case 1:
return e.sent(),
(t = document.getElementById("h5branding-background")) && (t.style.backgroundImage = "url(" + this.getGameLogoUrl(this.options.gameId) + ")",
t.style.backgroundColor = z.brandingBackgroundColor),
(i = document.getElementById("h5branding-logo")) && C.getBrandingDomain() !== h.BrandingDomain.Neutral && ((r = document.createElement("img")).src = z.brandingLogoUrl.replace("_small", "").replace("https://cdn.fbrq.io/@azerion/splash/assets/images/", "kizi/"),
i.appendChild(r)),
[2]
}
})
})
}
,
t.prototype.loadLibs = function() {
var i = this
, r = this.options.libs.map(function(e, t) {
return a.instance.loadScript(e, !0, function() {
i.setScriptloadProgress(r.length, t + 1)
})
});
return Promise.all(r)
}
,
Object.defineProperty(t.prototype, "bannerAllowed", {
get: function() {
var e = document.body.clientWidth
, t = document.body.clientHeight;
return this.progress < 100 && !(t < e && t <= 460) && !(e < 600 && t < 850)
},
enumerable: !0,
configurable: !0
}),
t.prototype.showBanner = function() {
if (!this.bannerAllowed)
return null;
var e = document.getElementById("h5branding-ad");
return e ? (e.style.display = "inline-flex",
e) : null
}
,
t.prototype.setScriptloadProgress = function(e, t) {
var i = .3 * t / e;
this.circleLoader.animate(i, null, function() {})
}
,
t.prototype.setLoadProgress = function(e) {
var t = this;
if (this.loaded)
if (e = 30 + .7 * e,
100 === (this.progress = e)) {
var i = document.querySelector("#h5branding-button");
this.circleLoader.animate(1, null, function() {
!C.inGDGameZone() && i && !0 === t.showPlayButton ? i.style.display = "block" : (C.inGDGameZone() || !1 === t.showPlayButton) && t.onPlayButtonClick()
})
} else
this.circleLoader.animate(e / 100, null, function() {})
}
,
t.prototype.setButtonCallback = function(e) {
this.buttonCallback = e
}
,
t.prototype.onPlayButtonClick = function() {
this.buttonCallback && this.buttonCallback()
}
,
t.prototype.destroy = function() {
var e = document.querySelector("#h5branding-container");
null !== e && null !== e.parentNode && e.parentNode.removeChild(e)
}
,
t.prototype.getGameLogoUrl = function(e) {
var t = e + "-512x512.jpeg";
return window.hasOwnProperty("fbrqSA") && !0 === window.fbrqSA ? "assets/" + t : "" + t
}
,
t
}()
, et = Ke.EGAProgressionStatus
, tt = new T
, it = new qe;
h.EGAProgressionStatus = et,
h.google = tt,
h.gameanalytics = it,
h.Utils = C,
h.Domain = s,
h.Branding = z,
h.SplashLoader = $e,
Object.defineProperty(h, "__esModule", {
value: !0
})
}),
function(e, t) {
"object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t(e.h5ads = e.h5ads || {})
}(this, function(r) {
"use strict";
var o = function(e, t) {
return (o = Object.setPrototypeOf || {
__proto__: []
}instanceof Array && function(e, t) {
e.__proto__ = t
}
|| function(e, t) {
for (var i in t)
t.hasOwnProperty(i) && (e[i] = t[i])
}
)(e, t)
};
function i(e, t) {
function i() {
this.constructor = e
}
o(e, t),
e.prototype = null === t ? Object.create(t) : (i.prototype = t.prototype,
new i)
}
var e, s, t, a, n, h = (function(e) {
var r = Object.prototype.hasOwnProperty
, d = "~";
function i() {}
function n(e, t, i) {
this.fn = e,
this.context = t,
this.once = i || !1
}
function o(e, t, i, r, o) {
if ("function" != typeof i)
throw new TypeError("The listener must be a function");
var s = new n(i,r || e,o)
, a = d ? d + t : t;
return e._events[a] ? e._events[a].fn ? e._events[a] = [e._events[a], s] : e._events[a].push(s) : (e._events[a] = s,
e._eventsCount++),
e
}
function c(e, t) {
0 == --e._eventsCount ? e._events = new i : delete e._events[t]
}
function t() {
this._events = new i,
this._eventsCount = 0
}
Object.create && (i.prototype = Object.create(null),
(new i).__proto__ || (d = !1)),
t.prototype.eventNames = function() {
var e, t, i = [];
if (0 === this._eventsCount)
return i;
for (t in e = this._events)
r.call(e, t) && i.push(d ? t.slice(1) : t);
return Object.getOwnPropertySymbols ? i.concat(Object.getOwnPropertySymbols(e)) : i
}
,
t.prototype.listeners = function(e) {
var t = d ? d + e : e
, i = this._events[t];
if (!i)
return [];
if (i.fn)
return [i.fn];
for (var r = 0, o = i.length, s = new Array(o); r < o; r++)
s[r] = i[r].fn;
return s
}
,
t.prototype.listenerCount = function(e) {
var t = d ? d + e : e
, i = this._events[t];
return i ? i.fn ? 1 : i.length : 0
}
,
t.prototype.emit = function(e, t, i, r, o, s) {
var a = d ? d + e : e;
if (!this._events[a])
return !1;
var n, h, c = this._events[a], l = arguments.length;
if (c.fn) {
switch (c.once && this.removeListener(e, c.fn, void 0, !0),
l) {
case 1:
return c.fn.call(c.context),
!0;
case 2:
return c.fn.call(c.context, t),
!0;
case 3:
return c.fn.call(c.context, t, i),
!0;
case 4:
return c.fn.call(c.context, t, i, r),
!0;
case 5:
return c.fn.call(c.context, t, i, r, o),
!0;
case 6:
return c.fn.call(c.context, t, i, r, o, s),
!0
}
for (h = 1,
n = new Array(l - 1); h < l; h++)
n[h - 1] = arguments[h];
c.fn.apply(c.context, n)
} else {
var m, u = c.length;
for (h = 0; h < u; h++)
switch (c[h].once && this.removeListener(e, c[h].fn, void 0, !0),
l) {
case 1:
c[h].fn.call(c[h].context);
break;
case 2:
c[h].fn.call(c[h].context, t);
break;
case 3:
c[h].fn.call(c[h].context, t, i);
break;
case 4:
c[h].fn.call(c[h].context, t, i, r);
break;
default:
if (!n)
for (m = 1,
n = new Array(l - 1); m < l; m++)
n[m - 1] = arguments[m];
c[h].fn.apply(c[h].context, n)
}
}
return !0
}
,
t.prototype.on = function(e, t, i) {
return o(this, e, t, i, !1)
}
,
t.prototype.once = function(e, t, i) {
return o(this, e, t, i, !0)
}
,
t.prototype.removeListener = function(e, t, i, r) {
var o = d ? d + e : e;
if (!this._events[o])
return this;
if (!t)
return c(this, o),
this;
var s = this._events[o];
if (s.fn)
s.fn !== t || r && !s.once || i && s.context !== i || c(this, o);
else {
for (var a = 0, n = [], h = s.length; a < h; a++)
(s[a].fn !== t || r && !s[a].once || i && s[a].context !== i) && n.push(s[a]);
n.length ? this._events[o] = 1 === n.length ? n[0] : n : c(this, o)
}
return this
}
,
t.prototype.removeAllListeners = function(e) {
var t;
return e ? (t = d ? d + e : e,
this._events[t] && c(this, t)) : (this._events = new i,
this._eventsCount = 0),
this
}
,
t.prototype.off = t.prototype.removeListener,
t.prototype.addListener = t.prototype.on,
t.prefixed = d,
t.EventEmitter = t,
e.exports = t
}(e = {
exports: {}
}, e.exports),
e.exports), c = function() {
function e(e, t, i) {
void 0 === i && (i = !1),
this.adsEnabled = !1,
void 0 === cordova.plugins || void 0 !== cordova.plugins && void 0 === cordova.plugins.gdApi || (i && cordova.plugins.gdApi.enableTestAds(),
this.setAdListeners(),
cordova.plugins.gdApi.init([e, t], function(e) {}, function(e) {}))
}
return e.prototype.setAdListeners = function() {
var t = this;
cordova.plugins.gdApi.setAdListener(function(e) {
switch (e.event) {
case "BANNER_STARTED":
t.adManager.emit(y.CONTENT_PAUSED);
break;
case "API_IS_READY":
t.adsEnabled = !0;
break;
case "API_ALREADY_INITIALIZED":
break;
case "BANNER_CLOSED":
case "API_NOT_READY":
case "BANNER_FAILED":
t.adManager.emit(y.CONTENT_RESUMED)
}
}, function(e) {
t.adsEnabled = !1
})
}
,
e.prototype.setManager = function(e) {
this.adManager = e
}
,
e.prototype.showAd = function(e) {
var t = this;
this.adsEnabled ? cordova.plugins.gdApi.showBanner(function(e) {}, function(e) {
t.adManager.emit(y.CONTENT_RESUMED)
}) : this.adManager.emit(y.CONTENT_RESUMED)
}
,
e.prototype.adAvailable = function(e) {
return !0
}
,
e.prototype.preloadAd = function(e) {}
,
e.prototype.destroyAd = function(e) {}
,
e.prototype.hideAd = function(e) {}
,
e
}(), l = function() {
function e(e) {
var t = this;
this.adsEnabled = !1,
this.adsEnabled = !0,
HeyzapAds.start(e).then(function() {}, function(e) {
t.adsEnabled = !1
})
}
return e.prototype.setManager = function(e) {
this.adManager = e
}
,
e.prototype.showAd = function(e, t) {
var i = this;
switch (this.adsEnabled || this.adManager.emit(y.CONTENT_RESUMED),
e) {
case w.interstitial:
HeyzapAds.InterstitialAd.addEventListener(HeyzapAds.InterstitialAd.Events.HIDE, function() {
i.adManager.emit(y.CONTENT_RESUMED, HeyzapAds.InterstitialAd.Events.HIDE)
}),
HeyzapAds.InterstitialAd.addEventListener(HeyzapAds.InterstitialAd.Events.SHOW_FAILED, function() {
i.adManager.emit(y.CONTENT_RESUMED, HeyzapAds.InterstitialAd.Events.SHOW_FAILED)
}),
HeyzapAds.InterstitialAd.addEventListener(HeyzapAds.InterstitialAd.Events.CLICKED, function() {
i.adManager.emit(y.AD_CLICKED, HeyzapAds.InterstitialAd.Events.CLICKED)
}),
HeyzapAds.InterstitialAd.show().then(function() {
i.adManager.emit(y.CONTENT_PAUSED)
}, function(e) {
i.adManager.emit(y.CONTENT_RESUMED)
});
break;
case w.interstitial:
HeyzapAds.VideoAd.addEventListener(HeyzapAds.VideoAd.Events.HIDE, function() {
i.adManager.emit(y.CONTENT_RESUMED, HeyzapAds.VideoAd.Events.HIDE)
}),
HeyzapAds.VideoAd.addEventListener(HeyzapAds.VideoAd.Events.SHOW_FAILED, function() {
i.adManager.emit(y.CONTENT_RESUMED, HeyzapAds.VideoAd.Events.SHOW_FAILED)
}),
HeyzapAds.VideoAd.addEventListener(HeyzapAds.VideoAd.Events.CLICKED, function() {
i.adManager.emit(y.AD_CLICKED, HeyzapAds.VideoAd.Events.CLICKED)
}),
HeyzapAds.VideoAd.show().then(function() {
i.adManager.emit(y.CONTENT_PAUSED)
}, function(e) {
i.adManager.emit(y.CONTENT_RESUMED)
});
break;
case w.rewarded:
HeyzapAds.IncentivizedAd.addEventListener(HeyzapAds.IncentivizedAd.Events.HIDE, function() {
i.adManager.emit(y.CONTENT_RESUMED, HeyzapAds.IncentivizedAd.Events.HIDE)
}),
HeyzapAds.IncentivizedAd.addEventListener(HeyzapAds.IncentivizedAd.Events.SHOW_FAILED, function() {
i.adManager.emit(y.CONTENT_RESUMED, HeyzapAds.IncentivizedAd.Events.SHOW_FAILED)
}),
HeyzapAds.IncentivizedAd.addEventListener(HeyzapAds.IncentivizedAd.Events.CLICKED, function() {
i.adManager.emit(y.AD_CLICKED, HeyzapAds.IncentivizedAd.Events.CLICKED)
}),
HeyzapAds.IncentivizedAd.show().then(function() {
i.adManager.emit(y.CONTENT_PAUSED)
}, function(e) {
i.adManager.emit(y.CONTENT_RESUMED)
});
break;
case w.banner:
if (void 0 === t)
return;
HeyzapAds.BannerAd.show(t).then(function() {}, function(e) {})
}
}
,
e.prototype.adAvailable = function(e) {
return !0
}
,
e.prototype.preloadAd = function(e) {
this.adsEnabled && e === w.rewarded && HeyzapAds.IncentivizedAd.fetch().then(function() {}, function(e) {})
}
,
e.prototype.destroyAd = function(e) {
this.adsEnabled && e === w.banner && HeyzapAds.BannerAd.destroy().then(function() {}, function(e) {})
}
,
e.prototype.hideAd = function(e) {
this.adsEnabled && e === w.banner && HeyzapAds.BannerAd.hide().then(function() {}, function(e) {})
}
,
e
}(), m = function() {
function e(e) {
var t = this;
if (this.adsEnabled = !1,
this.interstitialLoaded = !1,
this.rewardedLoaded = !1,
"undefined" != typeof IronSourceAds) {
IronSourceAds.init({
appKey: e
});
var i = function() {
return t.resumeGameplay()
};
window.addEventListener("interstitialClosed", i),
window.addEventListener("interstitialShowFailed", i),
window.addEventListener("interstitialLoaded", function() {
return t.interstitialChanged(!0)
}),
window.addEventListener("rewardedVideoClosed", i),
window.addEventListener("rewardedVideoFailed", i),
IronSourceAds.hasRewardedVideo({
onSuccess: this.rewardedChanged.bind(this)
}),
window.addEventListener("rewardedVideoAvailabilityChanged", function(e) {
return t.rewardedChanged(e.available)
})
}
}
return e.prototype.setManager = function(e) {
this.adManager = e
}
,
e.prototype.showAd = function(e) {
switch (void 0 === e && (e = w.interstitial),
e) {
case w.interstitial:
if (!this.interstitialLoaded) {
this.resumeGameplay();
break
}
this.interstitialChanged(!1),
this.adManager.emit(y.CONTENT_PAUSED),
IronSourceAds.showInterstitial();
break;
case w.rewarded:
if (!this.rewardedLoaded) {
this.resumeGameplay();
break
}
this.adManager.emit(y.CONTENT_PAUSED),
IronSourceAds.showRewardedVideo();
break;
default:
this.resumeGameplay()
}
}
,
e.prototype.resumeGameplay = function() {
this.adManager.emit(y.CONTENT_RESUMED)
}
,
e.prototype.preloadAd = function(e) {
void 0 === e && (e = w.interstitial),
e === w.interstitial && IronSourceAds.loadInterstitial()
}
,
e.prototype.destroyAd = function() {}
,
e.prototype.hideAd = function() {}
,
e.prototype.adAvailable = function(e) {
switch (e) {
case w.interstitial:
return this.interstitialLoaded;
case w.rewarded:
return this.rewardedLoaded
}
return !1
}
,
e.prototype.interstitialChanged = function(e) {
this.interstitialLoaded = e
}
,
e.prototype.rewardedChanged = function(e) {
this.rewardedLoaded = e
}
,
e
}();
(t = s || (s = {})).interstitial = "interstitial",
t.rewarded = "rewarded",
t.display = "display",
(a = r.GameDistributionBannerSize || (r.GameDistributionBannerSize = {}))[a.LargeRectangle = 0] = "LargeRectangle",
a[a.MediumRectangle = 1] = "MediumRectangle",
a[a.Billboard = 2] = "Billboard",
a[a.Leaderboard = 3] = "Leaderboard",
a[a.Skyscraper = 4] = "Skyscraper",
a[a.WideSkyscraper = 5] = "WideSkyscraper",
(n = r.GameDistributionAlignment || (r.GameDistributionAlignment = {}))[n.TopLeft = 0] = "TopLeft",
n[n.TopCenter = 1] = "TopCenter",
n[n.TopRight = 2] = "TopRight",
n[n.CenterLeft = 3] = "CenterLeft",
n[n.Center = 4] = "Center",
n[n.CenterRight = 5] = "CenterRight",
n[n.BottomLeft = 6] = "BottomLeft",
n[n.BottomCenter = 7] = "BottomCenter",
n[n.BottomRight = 8] = "BottomRight";
var u, d, p = function() {
function e() {
this.offsetX = 0,
this.offsetY = 0,
this.element = document.createElement("div"),
this.element.style.position = "absolute",
this.element.style.top = "0px",
this.element.style.left = "0px",
this.element.id = "banner-" + Date.now() + (1e7 * Math.random() | 0),
document.body.appendChild(this.element)
}
return e.prototype.loadBanner = function() {
return "undefined" == typeof gdsdk ? Promise.reject("GD Sdk not available, probably due to adblocker") : gdsdk.showAd(s.display, {
containerId: this.element.id
})
}
,
e.prototype.destroy = function() {
document.body.removeChild(this.element),
this.resizeListener && window.removeEventListener("resize", this.resizeListener),
delete this.element,
delete this.parent,
delete this.alignment
}
,
e.prototype.alignIn = function(e, t) {
var i = this;
this.parent || (this.parent = e,
this.alignment = t,
this.resizeListener = function() {
return i.resize()
}
,
window.addEventListener("resize", this.resizeListener),
this.resize())
}
,
e.prototype.setOffset = function(e, t) {
void 0 === e && (e = 0),
void 0 === t && (t = 0),
this.offsetX = e,
this.offsetY = t,
this.resize()
}
,
e.prototype.resize = function() {
if (this.parent) {
var e = this.parent.getBoundingClientRect();
switch (this.alignment) {
case r.GameDistributionAlignment.TopLeft:
this.position(e.left, e.top);
break;
case r.GameDistributionAlignment.TopCenter:
this.position(e.left + e.width / 2 - this.width / 2, e.top);
break;
case r.GameDistributionAlignment.TopRight:
this.position(e.left + e.width - this.width, e.top);
break;
case r.GameDistributionAlignment.CenterLeft:
this.position(e.left, e.top + e.height / 2 - this.height / 2);
break;
case r.GameDistributionAlignment.Center:
this.position(e.left + e.width / 2 - this.width / 2, e.top + e.height / 2 - this.height / 2);
break;
case r.GameDistributionAlignment.CenterRight:
this.position(e.left + e.width - this.width, e.top + e.height / 2 - this.height / 2);
break;
case r.GameDistributionAlignment.BottomLeft:
this.position(e.left, e.top + e.height - this.height);
break;
case r.GameDistributionAlignment.BottomCenter:
this.position(e.left + e.width / 2 - this.width / 2, e.top + e.height - this.height);
break;
case r.GameDistributionAlignment.BottomRight:
this.position(e.left + e.width - this.width, e.top + e.height - this.height)
}
}
}
,
e.prototype.setSize = function(e) {
var t, i;
switch (e) {
default:
case r.GameDistributionBannerSize.LargeRectangle:
t = 336,
i = 280;
break;
case r.GameDistributionBannerSize.MediumRectangle:
t = 300,
i = 250;
break;
case r.GameDistributionBannerSize.Billboard:
t = 970,
i = 250;
break;
case r.GameDistributionBannerSize.Leaderboard:
t = 728,
i = 90;
break;
case r.GameDistributionBannerSize.Skyscraper:
t = 120,
i = 600;
break;
case r.GameDistributionBannerSize.WideSkyscraper:
t = 160,
i = 600
}
this.width = t,
this.height = i,
this.element.style.width = t + "px",
this.element.style.height = i + "px"
}
,
e.prototype.position = function(e, t) {
this.element.style.left = e + this.offsetX + "px",
this.element.style.top = t + this.offsetY + "px"
}
,
e
}(), f = function() {
function e(e) {
var t, i, r, o, s = this;
this.adsEnabled = !1,
this.hasRewarded = !1,
this.adShowing = !1,
this.areAdsEnabled(),
window.GD_OPTIONS = {
gameId: e,
advertisementSettings: {
autoplay: !1
},
onEvent: function(e) {
switch (e.name) {
case "SDK_GAME_PAUSE":
s.adManager.emit(y.CONTENT_PAUSED);
break;
case "SDK_READY":
s.sdkLoaded()
}
}
},
t = document,
i = "gamedistribution-jssdk",
o = t.getElementsByTagName("script")[0],
t.getElementById(i) || ((r = t.createElement("script")).id = i,
r.src = "js/main.min.js",
o.parentNode && o.parentNode.insertBefore(r, o))
}
return e.prototype.setManager = function(e) {
this.adManager = e
}
,
e.prototype.sdkLoaded = function() {
var t = this;
this.areAdsEnabled().then(function(e) {
e && (t.adsEnabled = !0,
t.adManager.emit(y.AD_PROVIDER_LOADED))
})
}
,
e.prototype.showAd = function(e) {
var t = this;
if (this.adsEnabled) {
if ("undefined" == typeof gdsdk || gdsdk && void 0 === gdsdk.showAd)
return this.adsEnabled = !1,
void this.adManager.emit(y.CONTENT_RESUMED);
gdsdk.showAd(e === w.rewarded ? s.rewarded : s.interstitial).then(function() {
e === w.rewarded && (t.adManager.emit(y.AD_REWARDED),
t.hasRewarded = !1),
t.adManager.emit(y.CONTENT_RESUMED)
}).catch(function() {
e === w.rewarded && t.hasRewarded && (t.hasRewarded = !1),
t.adManager.emit(y.CONTENT_RESUMED)
})
} else
this.adManager.emit(y.CONTENT_RESUMED)
}
,
e.prototype.createBanner = function(e) {
if (this.adsEnabled) {
var t = new p;
return t.setSize(e),
t
}
}
,
e.prototype.loadBanner = function(e) {
if (this.adsEnabled) {
var t = new p;
return t.setSize(e),
t.loadBanner(),
t
}
}
,
e.prototype.preloadAd = function(e) {
var t = this;
!this.hasRewarded && this.adsEnabled && e === w.rewarded && gdsdk.preloadAd(s.rewarded).then(function() {
t.hasRewarded = !0,
t.adManager.emit(y.AD_LOADED, e)
})
}
,
e.prototype.adAvailable = function(e) {
return e !== w.rewarded || this.hasRewarded
}
,
e.prototype.destroyAd = function() {}
,
e.prototype.hideAd = function() {}
,
e.prototype.areAdsEnabled = function() {
var i = document.createElement("div");
i.innerHTML = "&nbsp;",
i.className = "adsbox",
i.style.position = "absolute",
i.style.fontSize = "10px",
document.body.appendChild(i);
return new Promise(function(t) {
window.setTimeout(function() {
var e;
t((e = !0,
0 === i.offsetHeight && (e = !1),
i.parentNode && i.parentNode.removeChild(i),
e))
}, 100)
}
)
}
,
e
}();
(d = u || (u = {}))[d.start = 0] = "start",
d[d.firstQuartile = 1] = "firstQuartile",
d[d.midPoint = 2] = "midPoint",
d[d.thirdQuartile = 3] = "thirdQuartile",
d[d.complete = 4] = "complete";
var y, S, w, g, x = function() {
function e(e, t) {
this.googleEnabled = !1,
this.adsEnabled = !0,
this.adTagUrl = "",
this.adRequested = !1,
this.areAdsEnabled(),
"undefined" != typeof google && (this.googleEnabled = !0,
this.gameContent = "string" == typeof e.parentElement ? document.getElementById(e.parentElement) : e.parentElement,
this.gameContent.style.position = "absolute",
this.gameContent.style.width = "100%",
this.adContent = this.gameContent.parentNode.appendChild(document.createElement("div")),
this.adContent.id = "phaser-ad-container",
this.adContent.style.position = "absolute",
this.adContent.style.zIndex = "9999",
this.adContent.style.display = "none",
this.adContent.style.top = "0",
this.adContent.style.left = "0",
this.adContent.style.width = "100%",
this.adContent.style.height = "100%",
this.adContent.style.overflow = "hidden",
this.adTagUrl = t,
this.adDisplay = new google.ima.AdDisplayContainer(this.adContent),
google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED),
google.ima.settings.setLocale("nl"),
this.adLoader = new google.ima.AdsLoader(this.adDisplay),
this.adLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, this.onAdManagerLoader, !1, this),
this.adLoader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, this.onAdError, !1, this))
}
return e.prototype.setManager = function(e) {
this.adManager = e
}
,
e.prototype.showAd = function(e, t) {
if (!this.adRequested)
if (this.adsEnabled || this.adManager.emit(y.AD_DISABLED, !0),
this.googleEnabled) {
this.adDisplay.initialize();
var i = new google.ima.AdsRequest;
i.adTagUrl = this.adTagUrl + this.parseCustomParams(t);
var r = window.innerWidth
, o = window.innerHeight;
document.body.clientHeight < window.innerHeight && (o = document.body.clientHeight,
r = document.body.clientWidth),
i.linearAdSlotWidth = r,
i.linearAdSlotHeight = o,
i.nonLinearAdSlotWidth = r,
i.nonLinearAdSlotHeight = o,
i.forceNonLinearFullSlot = !0;
try {
this.adRequested = !0,
this.adLoader.requestAds(i)
} catch (e) {
this.onContentResumeRequested()
}
} else
this.onContentResumeRequested()
}
,
e.prototype.adAvailable = function(e) {
return !0
}
,
e.prototype.preloadAd = function() {}
,
e.prototype.destroyAd = function() {}
,
e.prototype.hideAd = function() {}
,
e.prototype.onAdManagerLoader = function(e) {
var t = this
, i = new google.ima.AdsRenderingSettings;
i.restoreCustomPlaybackStateOnAdBreakComplete = !0;
var r = e.getAdsManager(this.gameContent, i);
(this.adsManager = r).addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, this.onContentPauseRequested, !1, this),
r.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, this.onContentResumeRequested, !1, this),
r.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, this.onAdError, !1, this),
[google.ima.AdEvent.Type.ALL_ADS_COMPLETED, google.ima.AdEvent.Type.CLICK, google.ima.AdEvent.Type.COMPLETE, google.ima.AdEvent.Type.FIRST_QUARTILE, google.ima.AdEvent.Type.LOADED, google.ima.AdEvent.Type.MIDPOINT, google.ima.AdEvent.Type.PAUSED, google.ima.AdEvent.Type.STARTED, google.ima.AdEvent.Type.THIRD_QUARTILE].forEach(function(e) {
r.addEventListener(e, t.onAdEvent, !1, t)
});
try {
this.adContent.style.display = "block";
var o = window.innerWidth
, s = window.innerHeight;
this.adsManager.init(o, s, google.ima.ViewMode.NORMAL),
this.adsManager.start(),
this.resizeListener = function() {
null !== t.adsManager && t.adsManager.resize(window.innerWidth, window.innerHeight, google.ima.ViewMode.NORMAL)
}
,
window.addEventListener("resize", this.resizeListener)
} catch (e) {
this.onAdError(e)
}
}
,
e.prototype.onAdEvent = function(e) {
switch (e.type) {
case google.ima.AdEvent.Type.CLICK:
this.adManager.emit(y.AD_CLICKED);
break;
case google.ima.AdEvent.Type.LOADED:
this.adRequested = !1;
var t = e.getAd();
t.isLinear() || this.onContentResumeRequested();
break;
case google.ima.AdEvent.Type.STARTED:
this.adManager.emit(y.AD_PROGRESSION, u.start);
break;
case google.ima.AdEvent.Type.FIRST_QUARTILE:
this.adManager.emit(y.AD_PROGRESSION, u.firstQuartile);
break;
case google.ima.AdEvent.Type.MIDPOINT:
this.adManager.emit(y.AD_PROGRESSION, u.midPoint);
break;
case google.ima.AdEvent.Type.THIRD_QUARTILE:
this.adManager.emit(y.AD_PROGRESSION, u.thirdQuartile);
break;
case google.ima.AdEvent.Type.COMPLETE:
this.adManager.emit(y.AD_PROGRESSION, u.complete);
break;
case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:
this.onContentResumeRequested()
}
}
,
e.prototype.onAdError = function(e) {
null !== this.adsManager && (this.adsManager.destroy(),
null !== this.resizeListener && window.removeEventListener("resize", this.resizeListener)),
this.adRequested && (this.adRequested = !1),
this.onContentResumeRequested()
}
,
e.prototype.onContentPauseRequested = function() {
this.adManager.emit(y.CONTENT_PAUSED)
}
,
e.prototype.onContentResumeRequested = function() {
"undefined" != typeof google && (this.adContent.style.display = "none"),
this.adManager.emit(y.CONTENT_RESUMED)
}
,
e.prototype.parseCustomParams = function(e) {
if (void 0 === e)
return "";
var t = "";
for (var i in e) {
if (e.hasOwnProperty(i))
0 < t.length && (t += "&"),
t += i + "=" + (Array.isArray(e[i]) ? e[i].join(",") : e[i])
}
return "&cust_params=" + encodeURIComponent(t)
}
,
e.prototype.areAdsEnabled = function() {
var t = this
, i = document.createElement("div");
i.innerHTML = "&nbsp;",
i.className = "adsbox",
i.style.position = "absolute",
i.style.fontSize = "10px",
document.body.appendChild(i);
window.setTimeout(function() {
var e;
t.adsEnabled = (e = !0,
0 === i.offsetHeight && (e = !1),
i.parentNode && i.parentNode.removeChild(i),
e)
}, 100)
}
,
e
}();
(S = y || (y = {})).CONTENT_PAUSED = "onContentPaused",
S.CONTENT_RESUMED = "onContentResumed",
S.AD_PROGRESSION = "onAdProgression",
S.AD_DISABLED = "onAdsDisabled",
S.AD_CLICKED = "onAdClicked",
S.AD_REWARDED = "onAdRewardGranted",
S.BANNER_SHOWN = "onBannerShown",
S.BANNER_HIDDEN = "onBannerHidden",
S.AD_LOADED = "onAdLoaded",
S.AD_PROVIDER_LOADED = "onAdProviderLoaded",
(g = w || (w = {}))[g.interstitial = 0] = "interstitial",
g[g.rewarded = 1] = "rewarded",
g[g.banner = 2] = "banner";
var b, v;
new (function(t) {
function e() {
var e = null !== t && t.apply(this, arguments) || this;
return e.bannerActive = !1,
e.provider = null,
e
}
return i(e, t),
e.prototype.setAdProvider = function(e) {
this.provider = e,
this.provider.setManager(this)
}
,
e.prototype.showAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not request an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.showAd.apply(this.provider, t)
}
,
e.prototype.createBanner = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
return this.provider.loadBanner.apply(this.provider, e)
}
,
e.prototype.loadBanner = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
return this.provider.loadBanner.apply(this.provider, e)
}
,
e.prototype.preloadAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not preload an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.preloadAd.apply(this.provider, t)
}
,
e.prototype.destroyAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not destroy an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.destroyAd.apply(this.provider, t)
}
,
e.prototype.hideAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not hide an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.hideAd.apply(this.provider, t)
}
,
e.prototype.adsEnabled = function() {
if (null === this.provider)
throw new Error("Can not hide an ad without an provider, please attach an ad provider!");
return this.provider.adsEnabled
}
,
e.prototype.adAvailable = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not hide an ad without an provider, please attach an ad provider!");
return t.unshift(e),
this.provider.adAvailable.apply(this.provider, t)
}
,
e
}(h));
(v = b || (b = {}))[v.AdMob = 0] = "AdMob",
v[v.MoPub = 1] = "MoPub",
v[v.Chartboost = 2] = "Chartboost",
v[v.Heyzap = 3] = "Heyzap";
var z, C, T = function() {
function e(e, t) {
if (this.adsEnabled = !1,
this.bannerShowable = !1,
this.interstitialShowable = !1,
this.insentiveShowable = !1,
Cocoon && Cocoon.Ad) {
switch (this.adsEnabled = !0,
e) {
default:
case b.AdMob:
this.cocoonProvider = Cocoon.Ad.AdMob;
break;
case b.Chartboost:
this.cocoonProvider = Cocoon.Ad.Chartboost;
break;
case b.Heyzap:
this.cocoonProvider = Cocoon.Ad.Heyzap;
break;
case b.MoPub:
this.cocoonProvider = Cocoon.Ad.MoPub
}
this.cocoonProvider.configure(t)
}
}
return e.prototype.setManager = function(e) {
this.adManager = e
}
,
e.prototype.showAd = function(e) {
if (this.adsEnabled) {
if (e === w.banner) {
if (!this.bannerShowable || null === this.banner)
return;
this.adManager.emit(y.BANNER_SHOWN, this.banner.width, this.banner.height),
this.adManager.bannerActive = !0,
this.banner.show()
}
if (e === w.interstitial) {
if (!this.interstitialShowable || null === this.interstitial)
return void this.adManager.emit(y.CONTENT_RESUMED, w.interstitial);
this.interstitial.show()
}
if (e === w.rewarded) {
if (!this.insentiveShowable || null === this.insentive)
return void this.adManager.emit(y.CONTENT_RESUMED, w.rewarded);
this.insentive.show()
}
} else
e !== w.banner && this.adManager.emit(y.CONTENT_RESUMED)
}
,
e.prototype.adAvailable = function(e) {
return !0
}
,
e.prototype.preloadAd = function(e, t, i) {
var r = this;
this.adsEnabled && (this.destroyAd(e),
e === w.banner && (this.banner = this.cocoonProvider.createBanner(t),
i && this.banner.setLayout(i),
this.banner.on("load", function() {
r.bannerShowable = !0
}),
this.banner.on("fail", function() {
r.bannerShowable = !1,
r.banner = null
}),
this.banner.on("click", function() {
r.adManager.emit(y.AD_CLICKED, w.banner)
}),
this.banner.on("show", function() {}),
this.banner.on("dismiss", function() {}),
this.banner.load()),
e === w.interstitial && (this.interstitial = this.cocoonProvider.createInterstitial(t),
this.interstitial.on("load", function() {
r.interstitialShowable = !0
}),
this.interstitial.on("fail", function() {
r.interstitialShowable = !1,
r.interstitial = null
}),
this.interstitial.on("click", function() {
r.adManager.emit(y.AD_CLICKED, w.interstitial)
}),
this.interstitial.on("show", function() {
r.adManager.emit(y.CONTENT_PAUSED, w.interstitial)
}),
this.interstitial.on("dismiss", function() {
r.adManager.emit(y.CONTENT_RESUMED, w.interstitial),
r.interstitialShowable = !1,
r.interstitial = null
}),
this.interstitial.load()),
e === w.rewarded && (this.insentive = this.cocoonProvider.createRewardedVideo(t),
this.insentive.on("load", function() {
r.insentiveShowable = !0
}),
this.insentive.on("fail", function() {
r.insentiveShowable = !1,
r.insentive = null
}),
this.insentive.on("click", function() {
r.adManager.emit(y.AD_CLICKED, w.rewarded)
}),
this.insentive.on("show", function() {
r.adManager.emit(y.CONTENT_PAUSED, w.rewarded)
}),
this.insentive.on("dismiss", function() {
r.adManager.emit(y.CONTENT_RESUMED, w.rewarded),
r.insentiveShowable = !1,
r.insentive = null
}),
this.insentive.on("reward", function() {
r.adManager.emit(y.AD_REWARDED, w.rewarded),
r.insentiveShowable = !1,
r.insentive = null
}),
this.insentive.load()))
}
,
e.prototype.destroyAd = function(e) {
if (this.adsEnabled) {
if (e === w.banner && null !== this.banner) {
try {
this.cocoonProvider.releaseBanner(this.banner)
} catch (e) {}
this.banner = null,
this.bannerShowable = !1
}
e === w.interstitial && null !== this.interstitial && (this.cocoonProvider.releaseInterstitial(this.interstitial),
this.interstitial = null,
this.interstitialShowable = !1)
}
}
,
e.prototype.hideAd = function(e) {
this.adsEnabled && (e === w.interstitial && null !== this.interstitial && this.interstitial.hide(),
e === w.banner && null !== this.banner && (this.adManager.bannerActive && (this.adManager.bannerActive = !1,
this.adManager.emit(y.BANNER_HIDDEN, this.banner.width, this.banner.height)),
this.banner.hide()),
e === w.rewarded && null !== this.insentive && this.insentive.hide())
}
,
e
}();
(z = r.AdEvents || (r.AdEvents = {})).CONTENT_PAUSED = "onContentPaused",
z.CONTENT_RESUMED = "onContentResumed",
z.AD_PROGRESSION = "onAdProgression",
z.AD_DISABLED = "onAdsDisabled",
z.AD_CLICKED = "onAdClicked",
z.AD_REWARDED = "onAdRewardGranted",
z.BANNER_SHOWN = "onBannerShown",
z.BANNER_HIDDEN = "onBannerHidden",
z.AD_LOADED = "onAdLoaded",
z.AD_PROVIDER_LOADED = "onAdProviderLoaded",
(C = r.AdType || (r.AdType = {}))[C.interstitial = 0] = "interstitial",
C[C.rewarded = 1] = "rewarded",
C[C.banner = 2] = "banner";
var P = function(t) {
function e() {
var e = null !== t && t.apply(this, arguments) || this;
return e.bannerActive = !1,
e.provider = null,
e
}
return i(e, t),
e.prototype.setAdProvider = function(e) {
this.provider = e,
this.provider.setManager(this)
}
,
e.prototype.showAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not request an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.showAd.apply(this.provider, t)
}
,
e.prototype.createBanner = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
return this.provider.loadBanner.apply(this.provider, e)
}
,
e.prototype.loadBanner = function() {
for (var e = [], t = 0; t < arguments.length; t++)
e[t] = arguments[t];
return this.provider.loadBanner.apply(this.provider, e)
}
,
e.prototype.preloadAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not preload an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.preloadAd.apply(this.provider, t)
}
,
e.prototype.destroyAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not destroy an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.destroyAd.apply(this.provider, t)
}
,
e.prototype.hideAd = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not hide an ad without an provider, please attach an ad provider!");
t.unshift(e),
this.provider.hideAd.apply(this.provider, t)
}
,
e.prototype.adsEnabled = function() {
if (null === this.provider)
throw new Error("Can not hide an ad without an provider, please attach an ad provider!");
return this.provider.adsEnabled
}
,
e.prototype.adAvailable = function(e) {
for (var t = [], i = 1; i < arguments.length; i++)
t[i - 1] = arguments[i];
if (null === this.provider)
throw new Error("Can not hide an ad without an provider, please attach an ad provider!");
return t.unshift(e),
this.provider.adAvailable.apply(this.provider, t)
}
,
e
}(h)
, A = new P;
r.H5AdWrapper = P,
r.adWrapper = A,
r.CocoonAds = T,
r.CordovaGamedistribution = c,
r.CordovaHeyzap = l,
r.CordovaIronSource = m,
r.GameDistribution = f,
r.GameDistributionBanner = p,
r.Ima3 = x,
Object.defineProperty(r, "__esModule", {
value: !0
})
}),
function() {
function r(e, t, i) {
return e.call.apply(e.bind, arguments)
}
function o(t, i, e) {
if (!t)
throw Error();
if (2 < arguments.length) {
var r = Array.prototype.slice.call(arguments, 2);
return function() {
var e = Array.prototype.slice.call(arguments);
return Array.prototype.unshift.apply(e, r),
t.apply(i, e)
}
}
return function() {
return t.apply(i, arguments)
}
}
function p(e, t, i) {
return (p = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? r : o).apply(null, arguments)
}
var n = Date.now || function() {
return +new Date
}
;
function t(e, t) {
this.a = e,
this.o = t || e,
this.c = this.o.document
}
var h = !!window.FontFace;
function c(e, t, i, r) {
if (t = e.c.createElement(t),
i)
for (var o in i)
i.hasOwnProperty(o) && ("style" == o ? t.style.cssText = i[o] : t.setAttribute(o, i[o]));
return r && t.appendChild(e.c.createTextNode(r)),
t
}
function l(e, t, i) {
(e = e.c.getElementsByTagName(t)[0]) || (e = document.documentElement),
e.insertBefore(i, e.lastChild)
}
function i(e) {
e.parentNode && e.parentNode.removeChild(e)
}
function f(e, t, i) {
t = t || [],
i = i || [];
for (var r = e.className.split(/\s+/), o = 0; o < t.length; o += 1) {
for (var s = !1, a = 0; a < r.length; a += 1)
if (t[o] === r[a]) {
s = !0;
break
}
s || r.push(t[o])
}
for (t = [],
o = 0; o < r.length; o += 1) {
for (s = !1,
a = 0; a < i.length; a += 1)
if (r[o] === i[a]) {
s = !0;
break
}
s || t.push(r[o])
}
e.className = t.join(" ").replace(/\s+/g, " ").replace(/^\s+|\s+$/, "")
}
function s(e, t) {
for (var i = e.className.split(/\s+/), r = 0, o = i.length; r < o; r++)
if (i[r] == t)
return !0;
return !1
}
function m(e, t, i) {
function r() {
a && o && (a(s),
a = null)
}
t = c(e, "link", {
rel: "stylesheet",
href: t,
media: "all"
});
var o = !1
, s = null
, a = i || null;
h ? (t.onload = function() {
o = !0,
r()
}
,
t.onerror = function() {
o = !0,
s = Error("Stylesheet failed to load"),
r()
}
) : setTimeout(function() {
o = !0,
r()
}, 0),
l(e, "head", t)
}
function u(e, t, i, r) {
var o = e.c.getElementsByTagName("head")[0];
if (o) {
var s = c(e, "script", {
src: t
})
, a = !1;
return s.onload = s.onreadystatechange = function() {
a || this.readyState && "loaded" != this.readyState && "complete" != this.readyState || (a = !0,
i && i(null),
s.onload = s.onreadystatechange = null,
"HEAD" == s.parentNode.tagName && o.removeChild(s))
}
,
o.appendChild(s),
setTimeout(function() {
a || (a = !0,
i && i(Error("Script load timeout")))
}, r || 5e3),
s
}
return null
}
function d() {
this.a = 0,
this.c = null
}
function y(e) {
return e.a++,
function() {
e.a--,
a(e)
}
}
function S(e, t) {
e.c = t,
a(e)
}
function a(e) {
0 == e.a && e.c && (e.c(),
e.c = null)
}
function w(e) {
this.a = e || "-"
}
function g(e, t) {
this.c = e,
this.f = 4,
this.a = "n";
var i = (t || "n4").match(/^([nio])([1-9])$/i);
i && (this.a = i[1],
this.f = parseInt(i[2], 10))
}
function x(e) {
var t = [];
e = e.split(/,\s*/);
for (var i = 0; i < e.length; i++) {
var r = e[i].replace(/['"]/g, "");
-1 != r.indexOf(" ") || /^\d/.test(r) ? t.push("'" + r + "'") : t.push(r)
}
return t.join(",")
}
function b(e) {
return e.a + e.f
}
function v(e) {
var t = "normal";
return "o" === e.a ? t = "oblique" : "i" === e.a && (t = "italic"),
t
}
function z(e, t) {
this.c = e,
this.f = e.o.document.documentElement,
this.h = t,
this.a = new w("-"),
this.j = !1 !== t.events,
this.g = !1 !== t.classes
}
function C(e) {
if (e.g) {
var t = s(e.f, e.a.c("wf", "active"))
, i = []
, r = [e.a.c("wf", "loading")];
t || i.push(e.a.c("wf", "inactive")),
f(e.f, i, r)
}
T(e, "inactive")
}
function T(e, t, i) {
e.j && e.h[t] && (i ? e.h[t](i.c, b(i)) : e.h[t]())
}
function P() {
this.c = {}
}
function A(e, t) {
this.c = e,
this.f = t,
this.a = c(this.c, "span", {
"aria-hidden": "true"
}, this.f)
}
function _(e) {
l(e.c, "body", e.a)
}
function B(e) {
return "display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:" + x(e.c) + ";font-style:" + v(e) + ";font-weight:" + e.f + "00;"
}
function D(e, t, i, r, o, s) {
this.g = e,
this.j = t,
this.a = r,
this.c = i,
this.f = o || 3e3,
this.h = s || void 0
}
function k(e, t, i, r, o, s, a) {
this.v = e,
this.B = t,
this.c = i,
this.a = r,
this.s = a || "BESbswy",
this.f = {},
this.w = o || 3e3,
this.u = s || null,
this.m = this.j = this.h = this.g = null,
this.g = new A(this.c,this.s),
this.h = new A(this.c,this.s),
this.j = new A(this.c,this.s),
this.m = new A(this.c,this.s),
e = B(e = new g(this.a.c + ",serif",b(this.a))),
this.g.a.style.cssText = e,
e = B(e = new g(this.a.c + ",sans-serif",b(this.a))),
this.h.a.style.cssText = e,
e = B(e = new g("serif",b(this.a))),
this.j.a.style.cssText = e,
e = B(e = new g("sans-serif",b(this.a))),
this.m.a.style.cssText = e,
_(this.g),
_(this.h),
_(this.j),
_(this.m)
}
w.prototype.c = function(e) {
for (var t = [], i = 0; i < arguments.length; i++)
t.push(arguments[i].replace(/[\W_]+/g, "").toLowerCase());
return t.join(this.a)
}
,
D.prototype.start = function() {
var o = this.c.o.document
, s = this
, a = n()
, e = new Promise(function(i, r) {
!function t() {
var e;
n() - a >= s.f ? r() : o.fonts.load((e = s.a,
v(e) + " " + e.f + "00 300px " + x(e.c)), s.h).then(function(e) {
1 <= e.length ? i() : setTimeout(t, 25)
}, function() {
r()
})
}()
}
)
, i = null
, t = new Promise(function(e, t) {
i = setTimeout(t, s.f)
}
);
Promise.race([t, e]).then(function() {
i && (clearTimeout(i),
i = null),
s.g(s.a)
}, function() {
s.j(s.a)
})
}
;
var E = {
D: "serif",
C: "sans-serif"
}
, M = null;
function I() {
if (null === M) {
var e = /AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);
M = !!e && (parseInt(e[1], 10) < 536 || 536 === parseInt(e[1], 10) && parseInt(e[2], 10) <= 11)
}
return M
}
function L(e, t, i) {
for (var r in E)
if (E.hasOwnProperty(r) && t === e.f[E[r]] && i === e.f[E[r]])
return !0;
return !1
}
function O(e) {
var t, i = e.g.a.offsetWidth, r = e.h.a.offsetWidth;
(t = i === e.f.serif && r === e.f["sans-serif"]) || (t = I() && L(e, i, r)),
t ? n() - e.A >= e.w ? I() && L(e, i, r) && (null === e.u || e.u.hasOwnProperty(e.a.c)) ? R(e, e.v) : R(e, e.B) : setTimeout(p(function() {
O(this)
}, e), 50) : R(e, e.v)
}
function R(e, t) {
setTimeout(p(function() {
i(this.g.a),
i(this.h.a),
i(this.j.a),
i(this.m.a),
t(this.a)
}, e), 0)
}
function F(e, t, i) {
this.c = e,
this.a = t,
this.f = 0,
this.m = this.j = !1,
this.s = i
}
k.prototype.start = function() {
this.f.serif = this.j.a.offsetWidth,
this.f["sans-serif"] = this.m.a.offsetWidth,
this.A = n(),
O(this)
}
;
var G = null;
function N(e) {
0 == --e.f && e.j && (e.m ? ((e = e.a).g && f(e.f, [e.a.c("wf", "active")], [e.a.c("wf", "loading"), e.a.c("wf", "inactive")]),
T(e, "active")) : C(e.a))
}
function e(e) {
this.j = e,
this.a = new P,
this.h = 0,
this.f = this.g = !0
}
function U(e, t) {
this.c = e,
this.a = t
}
function W(e, t) {
this.c = e,
this.a = t
}
function X(e, t) {
this.c = e || "https://fonts.googleapis.com/css",
this.a = [],
this.f = [],
this.g = t || ""
}
F.prototype.g = function(e) {
var t = this.a;
t.g && f(t.f, [t.a.c("wf", e.c, b(e).toString(), "active")], [t.a.c("wf", e.c, b(e).toString(), "loading"), t.a.c("wf", e.c, b(e).toString(), "inactive")]),
T(t, "fontactive", e),
this.m = !0,
N(this)
}
,
F.prototype.h = function(e) {
var t = this.a;
if (t.g) {
var i = s(t.f, t.a.c("wf", e.c, b(e).toString(), "active"))
, r = []
, o = [t.a.c("wf", e.c, b(e).toString(), "loading")];
i || r.push(t.a.c("wf", e.c, b(e).toString(), "inactive")),
f(t.f, r, o)
}
T(t, "fontinactive", e),
N(this)
}
,
e.prototype.load = function(e) {
this.c = new t(this.j,e.context || this.j),
this.g = !1 !== e.events,
this.f = !1 !== e.classes,
function(o, e, t) {
var i = []
, r = t.timeout;
s = e,
s.g && f(s.f, [s.a.c("wf", "loading")]),
T(s, "loading");
var s;
var i = function(e, t, i) {
var r, o = [];
for (r in t)
if (t.hasOwnProperty(r)) {
var s = e.c[r];
s && o.push(s(t[r], i))
}
return o
}(o.a, t, o.c)
, a = new F(o.c,e,r);
for (o.h = i.length,
e = 0,
t = i.length; e < t; e++)
i[e].load(function(e, t, i) {
var r, c, l, m, u, d;
c = a,
l = e,
m = t,
u = i,
d = 0 == --(r = o).h,
(r.f || r.g) && setTimeout(function() {
var e = u || null
, t = m || {};
if (0 === l.length && d)
C(c.a);
else {
c.f += l.length,
d && (c.j = d);
var i, r = [];
for (i = 0; i < l.length; i++) {
var o = l[i]
, s = t[o.c]
, a = c.a
, n = o;
if (a.g && f(a.f, [a.a.c("wf", n.c, b(n).toString(), "loading")]),
T(a, "fontloading", n),
(a = null) === G)
if (window.FontFace) {
var n = /Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent)
, h = /OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent) && /Apple/.exec(window.navigator.vendor);
G = n ? 42 < parseInt(n[1], 10) : !h
} else
G = !1;
a = G ? new D(p(c.g, c),p(c.h, c),c.c,o,c.s,s) : new k(p(c.g, c),p(c.h, c),c.c,o,c.s,e,s),
r.push(a)
}
for (i = 0; i < r.length; i++)
r[i].start()
}
}, 0)
})
}(this, new z(this.c,e), e)
}
,
U.prototype.load = function(a) {
var t = this
, n = t.a.projectId
, e = t.a.version;
if (n) {
var h = t.c.o;
u(this.c, (t.a.api || "https://fast.fonts.net/jsapi") + "/" + n + ".js" + (e ? "?v=" + e : ""), function(e) {
e ? a([]) : (h["__MonotypeConfiguration__" + n] = function() {
return t.a
}
,
function e() {
if (h["__mti_fntLst" + n]) {
var t, i = h["__mti_fntLst" + n](), r = [];
if (i)
for (var o = 0; o < i.length; o++) {
var s = i[o].fontfamily;
null != i[o].fontStyle && null != i[o].fontWeight ? (t = i[o].fontStyle + i[o].fontWeight,
r.push(new g(s,t))) : r.push(new g(s))
}
a(r)
} else
setTimeout(function() {
e()
}, 50)
}())
}).id = "__MonotypeAPIScript__" + n
} else
a([])
}
,
W.prototype.load = function(e) {
var t, i, r = this.a.urls || [], o = this.a.families || [], s = this.a.testStrings || {}, a = new d;
for (t = 0,
i = r.length; t < i; t++)
m(this.c, r[t], y(a));
var n = [];
for (t = 0,
i = o.length; t < i; t++)
if ((r = o[t].split(":"))[1])
for (var h = r[1].split(","), c = 0; c < h.length; c += 1)
n.push(new g(r[0],h[c]));
else
n.push(new g(r[0]));
S(a, function() {
e(n, s)
})
}
;
function H(e) {
this.f = e,
this.a = [],
this.c = {}
}
var j = {
latin: "BESbswy",
"latin-ext": "çöüğş",
cyrillic: "йяЖ",
greek: "αβΣ",
khmer: "កខគ",
Hanuman: "កខគ"
}
, Y = {
thin: "1",
extralight: "2",
"extra-light": "2",
ultralight: "2",
"ultra-light": "2",
light: "3",
regular: "4",
book: "4",
medium: "5",
"semi-bold": "6",
semibold: "6",
"demi-bold": "6",
demibold: "6",
bold: "7",
"extra-bold": "8",
extrabold: "8",
"ultra-bold": "8",
ultrabold: "8",
black: "9",
heavy: "9",
l: "3",
r: "4",
b: "7"
}
, V = {
i: "i",
italic: "i",
n: "n",
normal: "n"
}
, K = /^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;
function q(e, t) {
this.c = e,
this.a = t
}
var Z = {
Arimo: !0,
Cousine: !0,
Tinos: !0
};
function J(e, t) {
this.c = e,
this.a = t
}
function Q(e, t) {
this.c = e,
this.f = t,
this.a = []
}
q.prototype.load = function(e) {
var t = new d
, i = this.c
, r = new X(this.a.api,this.a.text)
, o = this.a.families;
!function(e, t) {
for (var i = t.length, r = 0; r < i; r++) {
var o = t[r].split(":");
3 == o.length && e.f.push(o.pop());
var s = "";
2 == o.length && "" != o[1] && (s = ":"),
e.a.push(o.join(s))
}
}(r, o);
var s = new H(o);
!function(e) {
for (var t = e.f.length, i = 0; i < t; i++) {
var r = e.f[i].split(":")
, o = r[0].replace(/\+/g, " ")
, s = ["n4"];
if (2 <= r.length) {
var a;
if (a = [],
n = r[1])
for (var n, h = (n = n.split(",")).length, c = 0; c < h; c++) {
var l;
if ((l = n[c]).match(/^[\w-]+$/))
if (null == (u = K.exec(l.toLowerCase())))
l = "";
else {
if (l = null == (l = u[2]) || "" == l ? "n" : V[l],
null == (u = u[1]) || "" == u)
u = "4";
else
var m = Y[u]
, u = m || (isNaN(u) ? "4" : u.substr(0, 1));
l = [l, u].join("")
}
else
l = "";
l && a.push(l)
}
0 < a.length && (s = a),
3 == r.length && (a = [],
0 < (r = (r = r[2]) ? r.split(",") : a).length && (r = j[r[0]]) && (e.c[o] = r))
}
for (e.c[o] || (r = j[o]) && (e.c[o] = r),
r = 0; r < s.length; r += 1)
e.a.push(new g(o,s[r]))
}
}(s),
m(i, function(e) {
if (0 == e.a.length)
throw Error("No fonts to load!");
if (-1 != e.c.indexOf("kit="))
return e.c;
for (var t = e.a.length, i = [], r = 0; r < t; r++)
i.push(e.a[r].replace(/ /g, "+"));
return t = e.c + "?family=" + i.join("%7C"),
0 < e.f.length && (t += "&subset=" + e.f.join(",")),
0 < e.g.length && (t += "&text=" + encodeURIComponent(e.g)),
t
}(r), y(t)),
S(t, function() {
e(s.a, s.c, Z)
})
}
,
J.prototype.load = function(a) {
var e = this.a.id
, n = this.c.o;
e ? u(this.c, (this.a.api || "https://use.typekit.net") + "/" + e + ".js", function(e) {
if (e)
a([]);
else if (n.Typekit && n.Typekit.config && n.Typekit.config.fn) {
e = n.Typekit.config.fn;
for (var t = [], i = 0; i < e.length; i += 2)
for (var r = e[i], o = e[i + 1], s = 0; s < o.length; s++)
t.push(new g(r,o[s]));
try {
n.Typekit.load({
events: !1,
classes: !1,
async: !0
})
} catch (e) {}
a(t)
}
}, 2e3) : a([])
}
,
Q.prototype.load = function(c) {
var e, t = this.f.id, i = this.c.o, l = this;
t ? (i.__webfontfontdeckmodule__ || (i.__webfontfontdeckmodule__ = {}),
i.__webfontfontdeckmodule__[t] = function(e, t) {
for (var i = 0, r = t.fonts.length; i < r; ++i) {
var o = t.fonts[i];
l.a.push(new g(o.name,(s = "font-weight:" + o.weight + ";font-style:" + o.style,
h = n = a = void 0,
a = 4,
n = "n",
h = null,
s && ((h = s.match(/(normal|oblique|italic)/i)) && h[1] && (n = h[1].substr(0, 1).toLowerCase()),
(h = s.match(/([1-9]00|normal|bold)/i)) && h[1] && (/bold/i.test(h[1]) ? a = 7 : /[1-9]00/.test(h[1]) && (a = parseInt(h[1].substr(0, 1), 10)))),
n + a)))
}
var s, a, n, h;
c(l.a)
}
,
u(this.c, (this.f.api || "https://f.fontdeck.com/s/css/js/") + ((e = this.c).o.location.hostname || e.a.location.hostname) + "/" + t + ".js", function(e) {
e && c([])
})) : c([])
}
;
var $ = new e(window);
$.a.c.custom = function(e, t) {
return new W(t,e)
}
,
$.a.c.fontdeck = function(e, t) {
return new Q(t,e)
}
,
$.a.c.monotype = function(e, t) {
return new U(t,e)
}
,
$.a.c.typekit = function(e, t) {
return new J(t,e)
}
,
$.a.c.google = function(e, t) {
return new q(t,e)
}
;
var ee = {
load: p($.load, $)
};
"function" == typeof define && define.amd ? define(function() {
return ee
}) : "undefined" != typeof module && module.exports ? module.exports = ee : (window.WebFont = ee,
window.WebFontConfig && $.load(window.WebFontConfig))
}();
var Fabrique, __extends = this && this.__extends || function() {
var r = function(e, t) {
return (r = Object.setPrototypeOf || {
__proto__: []
}instanceof Array && function(e, t) {
e.__proto__ = t
}
|| function(e, t) {
for (var i in t)
t.hasOwnProperty(i) && (e[i] = t[i])
}
)(e, t)
};
return function(e, t) {
function i() {
this.constructor = e
}
r(e, t),
e.prototype = null === t ? Object.create(t) : (i.prototype = t.prototype,
new i)
}
}(), Constants = function() {
function e() {}
return e.DIV_ID = "content",
e.GAME_SCALE = 1,
e.CALCULATED_WIDTH = 0,
e.CALCULATED_HEIGHT = 0,
e.GAME_WIDTH = 640,
e.GAME_HEIGHT = 520,
e.LANDSCAPE_LOCKED = !0,
e.GAME_KEY = "a7204cd6b6d828f9cf910eae915aad32",
e.SECRET_KEY = "d4bd4ee1ae2bc3b909e659d07830d779b1fdedcd",
e.GOOGLE_ID = "UA-78960661-47",
e.GOOGLE_APP_NAME = "bob-the-robber-2",
e.GAME_TITLE = "Bob The Robber 2",
e
}();
!function(o) {
var s, e;
(e = s || (s = {})).PAUSED = "Paused",
e.RESUMED = "Resumed";
var t = function() {
function e() {
this.contentStatus = s.RESUMED
}
return e.getInstance = function() {
return e.instance || (e.instance = new e),
e.instance
}
,
e.prototype.init = function() {
var e = new h5ads.GameDistribution("34d6aae0257d4e4c8068cbdfc11a8758");
h5ads.adWrapper.setAdProvider(e),
window.hasOwnProperty("fbrqSA") && !0 === window.fbrqSA && (h5branding.Utils.ASSET_LOCATION = "assets/")
}
,
e.prototype.showAd = function(e, t, i) {
var r = this;
o.LoaderHelper.show(),
h5ads.adWrapper.once(h5ads.AdEvents.CONTENT_PAUSED, function() {
o.LoaderHelper.hide(),
h5branding.google.sendScreenView("advertisement_" + e),
i && i.call(r),
r.contentStatus = s.PAUSED,
o.PauseHandler.getInstance().pause()
}),
h5ads.adWrapper.once(h5ads.AdEvents.CONTENT_RESUMED, function() {
o.LoaderHelper.hide(),
h5ads.adWrapper.removeAllListeners(h5ads.AdEvents.CONTENT_PAUSED),
h5ads.adWrapper.removeAllListeners(h5ads.AdEvents.CONTENT_RESUMED),
r.contentStatus = s.RESUMED,
o.PauseHandler.getInstance().resume(),
t && t.call(r)
}),
h5ads.adWrapper.showAd(h5ads.AdType.interstitial)
}
,
e.prototype.isAdPlaying = function() {
return this.contentStatus === s.PAUSED
}
,
e
}();
o.AdHandler = t
}(Fabrique || (Fabrique = {})),
function(e) {
var t = function() {
function e() {}
return e.show = function() {
var e = document.getElementById("loader");
e && (e.style.display = "block")
}
,
e.hide = function() {
var e = document.getElementById("loader");
e && (e.style.display = "none")
}
,
e
}();
e.LoaderHelper = t
}(Fabrique || (Fabrique = {})),
function(e) {
var t = function() {
function t(e) {
this.game = e,
this.focused = !0
}
return t.getInstance = function(e) {
return t.instance || (t.instance = new t(e)),
t.instance
}
,
t.prototype.init = function() {
var e = this;
this.game.stage.disableVisibilityChange = !0,
this.onPauseCallback = new Phaser.Signal,
h5branding.Utils.isOnDevice() && (document.addEventListener("pause", function() {
return e.onPause()
}),
document.addEventListener("resume", function() {
return e.onResume()
})),
this.game.onBlur.add(this.onBlur, this),
this.game.onFocus.add(this.onFocus, this),
this.game.onPause.add(this.onPause, this),
this.game.onResume.add(this.onResume, this)
}
,
t.prototype.onBlur = function() {
this.focused = !1,
this.game.onPause.dispatch()
}
,
t.prototype.onFocus = function() {
this.focused = !0,
e.AdHandler.getInstance().isAdPlaying() || this.game.onResume.dispatch()
}
,
t.prototype.onPause = function() {
this.game.sound.setMute(),
this.onPauseCallback && this.onPauseCallback.dispatch()
}
,
t.prototype.onResume = function() {
this.game.sound.unsetMute()
}
,
t.prototype.pause = function() {
this.game.onPause.dispatch()
}
,
t.prototype.resume = function() {
this.hasFocus && this.game.onResume.dispatch()
}
,
Object.defineProperty(t.prototype, "hasFocus", {
get: function() {
return this.focused
},
enumerable: !0,
configurable: !0
}),
t
}();
e.PauseHandler = t
}(Fabrique || (Fabrique = {})),
function(e) {
var t = function() {
function e() {
var s, e, a, t, i, n, r = this;
this.apiKey = "797KpZtV5ELZ1kD0DTZGGA",
this.recurringError = [],
s = window,
e = document,
a = "rg4js",
s.RaygunObject = a,
s[a] = s[a] || function() {
(s[a].o = s[a].o || []).push(arguments)
}
,
t = e.createElement("script"),
i = e.getElementsByTagName("script")[0],
t.async = 1,
t.src = "js/null.js?//cdn.raygun.io/raygun4js/raygun.min.js",
i.parentNode.insertBefore(t, i),
n = s.onerror,
s.onerror = function(e, t, i, r, o) {
n && n(e, t, i, r, o),
o || (o = new Error(e)),
s[a].q = s[a].q || [],
s[a].q.push({
e: o
})
}
,
rg4js("apiKey", this.apiKey),
rg4js("enableCrashReporting", !0),
rg4js("setVersion", version),
rg4js("options", {
ignore3rdPartyErrors: !0
}),
rg4js("onBeforeSend", function(e) {
return r.filterError(e)
}),
rg4js("enablePulse", !1)
}
return e.getInstance = function() {
return null === e.instance && (e.instance = new e),
e.instance
}
,
e.prototype.filterError = function(e) {
if (void 0 !== e && e.Details && e.Details.Error && e.Details.Error.Message) {
if (-1 !== this.recurringError.indexOf(e.Details.Error.Message))
return !1;
this.recurringError.push(e.Details.Error.Message)
}
return e
}
,
e.instance = null,
e
}();
e.RayGun = t
}(Fabrique || (Fabrique = {})),
function(e) {
var t = function() {
function e() {}
return e.getInstance = function() {
return e.instance || (e.instance = new e),
e.instance
}
,
e.prototype.resize = function(e) {
var t = window.innerWidth - Constants.GAME_WIDTH / Constants.GAME_HEIGHT * window.innerHeight;
600 <= window.innerHeight && 240 <= t ? this.leftBanner || (this.leftBanner = h5ads.adWrapper.loadBanner(h5ads.GameDistributionBannerSize.Skyscraper),
this.leftBanner.alignIn(e.canvas, h5ads.GameDistributionAlignment.CenterLeft),
this.rightBanner = h5ads.adWrapper.loadBanner(h5ads.GameDistributionBannerSize.Skyscraper),
this.rightBanner.alignIn(e.canvas, h5ads.GameDistributionAlignment.CenterRight)) : this.leftBanner && (this.leftBanner.destroy(),
this.leftBanner = void 0,
this.rightBanner.destroy(),
this.rightBanner = void 0)
}
,
e
}();
e.SideBanners = t
}(Fabrique || (Fabrique = {}));
var states, Input = function() {
function r() {
this.channels = new Array;
for (var e = 0; e < r.NUM_CHANNELS; e++)
this.channels[e] = {}
}
return r.getInstance = function() {
return null == r.instance && (r.instance = new r),
r.instance
}
,
r.Init = function() {
return r.instance = new r
}
,
r.prototype.addKeyAction = function(e, t, i) {
void 0 === i && (i = 0),
this.channels[i][e] = -1;
var r = Game.getGame().input.keyboard.addKey(t);
r.onDown.add(function() {
this.channels[i][e] = Game.frame
}, this),
r.onUp.add(function() {
this.channels[i][e] = -1
}, this)
}
,
r.prototype.setDoing = function(e, t, i) {
i ? this.channels[e][t] < 0 && (this.channels[e][t] = Game.frame) : this.channels[e][t] = -1
}
,
r.prototype.isDoing = function(e, t) {
return void 0 === t && (t = 0),
0 <= this.channels[t][e]
}
,
r.prototype.justDid = function(e, t) {
void 0 === t && (t = 0);
var i = this.channels[t][e];
return 0 <= i && Game.frame - i == 1
}
,
r.rep = function(e, t) {
void 0 === t && (t = 0);
var i = r.getInstance().channels[t][e];
return 0 <= i && 30 < Game.frame - i
}
,
r.NUM_CHANNELS = 20,
r.instance = null,
r
}();
!function(i) {
var e = function(t) {
function e() {
var e = null !== t && t.apply(this, arguments) || this;
return e.isSwitchingState = !1,
e.mc = null,
e
}
return __extends(e, t),
e.prototype.processEnterFrameEvents = function() {
for (var e = 0; e < Game.getGame().world.children.length; e++) {
var t = Game.getGame().world.children[e];
t instanceof MovieClip && t.processEnterFrameEvents()
}
}
,
e.prototype.create = function() {
Timer.Init(),
i.Boot.adjustWorld(),
this.cnt = 0,
Game.JoypadLeft && (Game.JoypadLeft.visible = Game.JoypadRight.visible = !1),
this.isSwitchingState = Game.LeftCurtain.visible
}
,
e.prototype.update = function() {
Game.frame++,
1 == this.cnt && Game.LeftCurtain.visible && this.openCurtains(.1),
this.cnt++
}
,
e.prototype.switchState = function(e, t) {
void 0 === t && (t = !0),
this.isSwitchingState || (GameplayState.HideMobileGUI(),
this.isSwitchingState = !0,
t ? this.closeCurtains(function() {
Game.getGame().state.start(e)
}) : Game.getGame().state.start(e))
}
,
e.prototype.closeCurtains = function(e) {
void 0 === e && (e = null),
Game.LeftCurtain.visible = Game.RightCurtain.visible = !0,
Game.LeftCurtain.x = Game.LEFT_CURTAIN_OPEN_X,
Game.RightCurtain.x = Game.RIGHT_CURTAIN_OPEN_X,
SoundManager.getInstance().playSound("SPlateDown"),
TweenMax.to(Game.LeftCurtain, .5, {
x: 0,
ease: "Quad.easeOut"
}),
TweenMax.to(Game.RightCurtain, .5, {
x: Game.WIDTH,
onComplete: e,
onCompleteContext: this,
ease: "Quad.easeOut"
})
}
,
e.prototype.openCurtains = function(e) {
TweenMax.delayedCall(e, this.delayBrickWallOpenSound, this),
TweenMax.to(Game.LeftCurtain, .5, {
x: Game.LEFT_CURTAIN_OPEN_X,
ease: "Quad.easeIn",
delay: e
}),
TweenMax.to(Game.RightCurtain, .5, {
x: Game.RIGHT_CURTAIN_OPEN_X,
ease: "Quad.easeIn",
delay: e,
onComplete: this.openCurtainsEnd,
onCompleteContext: this
})
}
,
e.prototype.delayBrickWallOpenSound = function() {
SoundManager.getInstance().playSound("SPlateUp")
}
,
e.prototype.openCurtainsEnd = function() {
Game.LeftCurtain.visible = Game.RightCurtain.visible = !1,
this.isSwitchingState = !1
}
,
e
}(Phaser.State);
i.OzState = e
}(states || (states = {})),
function(t) {
var e = function(e) {
function a() {
return e.call(this) || this
}
return __extends(a, e),
a.prototype.init = function() {
var e = this;
h5branding.gameanalytics.setup(Constants.GAME_KEY, Constants.SECRET_KEY, version),
h5branding.google.setup(Constants.GOOGLE_ID, Constants.GOOGLE_APP_NAME, version),
h5branding.google.sendScreenView("splash"),
Fabrique.PauseHandler.getInstance(this.game).init(),
this.game.canvas.oncontextmenu = function(e) {
e.preventDefault()
}
,
this.game.scale.pageAlignHorizontally = !0,
this.game.scale.pageAlignVertically = !0,
this.game.scale.windowConstraints.right = "layout",
this.game.scale.windowConstraints.bottom = "visual",
this.scale.scaleMode = Phaser.ScaleManager.USER_SCALE,
this.scale.fullScreenScaleMode = Phaser.ScaleManager.USER_SCALE,
window.addEventListener("resize", function() {
return a.mobileResizeCallback(e.game.scale)
}),
a.mobileResizeCallback(this.game.scale),
this.game.scale.refresh()
}
,
a.prototype.preload = function() {
var e = this;
Fabrique.LoaderHelper.hide(),
this.game.load.onFileComplete.add(function(e) {
h5branding.SplashLoader.getInstance().setLoadProgress(e)
}),
this.game.load.onLoadComplete.add(function() {
h5branding.SplashLoader.getInstance().setLoadProgress(100)
}),
h5ads.adWrapper.preloadAd(h5ads.AdType.interstitial),
h5branding.SplashLoader.getInstance().setButtonCallback(function() {
h5branding.SplashLoader.getInstance().destroy(),
Fabrique.AdHandler.getInstance().showAd("splash", function() {
e.game.state.start(t.MenuState.Name)
})
}),
this.game.load.cacheBuster = "undefined" == typeof version ? null : version,
this.game.load.image(h5branding.Branding.LOGO_KEY, h5branding.Branding.brandingLogoUrl),
MovieClip.RegisterSpritesheet("PreloaderObjects", PreloaderObjects.data, PreloaderObjectsLayouts.data),
MovieClip.RegisterSpritesheet("Objects", Objects.data, ObjectsLayouts.data),
MovieClip.RegisterSpritesheet("Levels", Levels.data, LevelsLayouts.data),
SoundManager.Init(),
SoundManager.Preload()
}
,
a.prototype.create = function() {
this.game.stage.backgroundColor = 0,
Game.CurtainContainer = new MovieClip,
Game.getGame().stage.addChild(Game.CurtainContainer),
Game.LeftCurtain = new MovieClip("LeftCurtainGraphics",0,0,null,"PreloaderObjects",PreloaderObjectsLayouts.data),
Game.LeftCurtain.inputEnabled = !0,
Game.LeftCurtain.x = Game.LEFT_CURTAIN_OPEN_X,
Game.CurtainContainer.addChild(Game.LeftCurtain),
Game.RightCurtain = new MovieClip("RightCurtainGraphics",0,0,null,"PreloaderObjects",PreloaderObjectsLayouts.data),
Game.RightCurtain.inputEnabled = !0,
Game.RightCurtain.x = Game.RIGHT_CURTAIN_OPEN_X,
Game.CurtainContainer.addChild(Game.RightCurtain),
Game.LeftCurtain.visible = Game.RightCurtain.visible = !1,
Game.PadLeft = new MovieClip("cmcSidePad",0,0,null,"PreloaderObjects",PreloaderObjectsLayouts.data),
Game.PadLeft.x = 0,
Game.getGame().stage.addChild(Game.PadLeft),
Game.PadRight = new MovieClip("cmcSidePad",0,0,null,"PreloaderObjects",PreloaderObjectsLayouts.data),
Game.PadRight.x = Game.WIDTH,
Game.PadRight.scaleX = -1,
Game.getGame().stage.addChild(Game.PadRight),
Game.AdjustPad()
}
,
a.onSizeChange = function() {
window.innerWidth > window.innerHeight ? a.handleCorrect() : a.handleIncorrect(),
a.InW == Math.round(window.innerWidth) && a.InH == Math.round(window.innerHeight) && 3 < a.NUMRESIZE || (a.InW = Math.round(window.innerWidth),
a.InH = Math.round(window.innerHeight),
a.NUMRESIZE++,
a.adjustWorld())
}
,
a.adjustWorld = function() {
var e = Game.getGame()
, t = Math.min(window.innerWidth / Game.WIDTH, window.innerHeight / Game.HEIGHT);
e.scale.setGameSize(window.innerWidth / t, Game.HEIGHT),
e.scale.setUserScale(t, t, 0, 0),
e.camera.bounds.x = -1 / 0,
e.camera.bounds.width = 1 / 0;
var i = -Math.floor((window.innerWidth / t - Game.WIDTH) / 2);
e.camera.x = -1 !== e.state.current.indexOf("loader") || -1 !== e.state.current.indexOf("plash") ? 0 : i,
a.PADH = Math.round(-i),
Game.AdjustPad()
}
,
a.mobileResizeCallback = function(e) {
var t = window.innerWidth
, i = window.innerHeight;
a.setScaling(e.game);
var r = Game.WIDTH * Constants.GAME_SCALE
, o = Game.HEIGHT * Constants.GAME_SCALE
, s = 1;
s /= i < t ? t / o : i / r,
Constants.CALCULATED_WIDTH = Math.ceil(t * s),
Constants.CALCULATED_HEIGHT = Math.ceil(i * s),
e.setGameSize(Constants.CALCULATED_WIDTH, Constants.CALCULATED_HEIGHT),
e.setUserScale(1 / s, 1 / s),
a.onSizeChange()
}
,
a.setScaling = function(e) {
var t = window.innerWidth
, i = window.innerHeight;
(t *= e.device.pixelRatio) < (i *= e.device.pixelRatio) && 1023 < i && (Constants.GAME_SCALE = .75),
Constants.GAME_SCALE = 1
}
,
a.handleCorrect = function() {
Game.getGame().paused = !1,
document.getElementById("orientation").style.display = "none",
document.getElementById("content").style.display = "block"
}
,
a.handleIncorrect = function() {
Game.getGame().paused = !0,
document.getElementById("orientation").style.display = "block",
document.getElementById("content").style.display = "none"
}
,
a.Name = "boot",
a.InW = -1,
a.InH = -1,
a.PADH = 0,
a.NUMRESIZE = 0,
a
}(t.OzState);
t.Boot = e
}(states || (states = {})),
function(i) {
var e = function(e) {
function t() {
return null !== e && e.apply(this, arguments) || this
}
return __extends(t, e),
t.prototype.init = function() {
SoundManager.AddAllSounds()
}
,
t.prototype.create = function() {
e.prototype.create.call(this),
h5branding.google.sendScreenView("menu"),
SoundManager.getInstance().stopAllAudio(),
SoundManager.PlayMenuMusic(),
this.mc = new MovieClip("cmcMenu",0,0,null),
this.world.addChild(this.mc),
this.mc.getChild("btnNewGame").makeButton(this.goPlay, !0, this, !0, !0),
this.mc.getChild("btnCredits").makeButton(this.showCredits, !0, this, !0, !0),
this.mc.getChild("back").makeButton(this.showAdonExitCredits, !0, this, !0, !1),
this.mc.getChild("sound").makeSoundButton(),
this.mc.getChild("music").makeMusicButton(),
this.mc.getChild("music").alpha = this.mc.getChild("sound").alpha = 0,
this.mc.getChild("title").scaleX = this.mc.getChild("title").scaleY = .01,
this.mc.getChild("btnNewGame").scaleX = this.mc.getChild("btnNewGame").scaleY = .01,
this.mc.getChild("btnCredits").scaleX = this.mc.getChild("btnCredits").scaleY = .01,
TweenMax.to(this.mc.getChild("title"), 1, {
delay: .7,
scaleX: 1,
scaleY: 1,
ease: "Elastic.easeOut"
}),
TweenMax.to(this.mc.getChild("btnNewGame"), 1, {
delay: 1,
scaleX: 1,
scaleY: 1,
ease: "Elastic.easeOut"
}),
TweenMax.to(this.mc.getChild("btnCredits"), 1, {
delay: 1.3,
scaleX: 1,
scaleY: 1,
ease: "Elastic.easeOut"
}),
TweenMax.to(this.mc.getChild("music"), .05, {
delay: 2,
alpha: 1
}),
TweenMax.to(this.mc.getChild("sound"), .05, {
delay: 2,
alpha: 1
}),
h5branding.Utils.getBrandingDomain() !== h5branding.BrandingDomain.Neutral && h5branding.Branding.outGoingLinksAllowed() ? (this.mc.getChild("sponsor").makeButton(Game.sponsor, !1, this, !1, !0, !0),
this.mc.getChild("sponsor").scaleX = this.mc.getChild("sponsor").scaleY = .01,
TweenMax.to(this.mc.getChild("sponsor"), 1, {
delay: 1.6,
scaleX: 1,
scaleY: 1,
ease: "Elastic.easeOut"
})) : this.mc.getChild("sponsor").visible = !1,
this.hideCredits()
}
,
t.prototype.showCredits = function() {
this.mc.getChild("credits").visible = !0,
this.mc.getChild("back").visible = !0,
this.mc.getChild("title").visible = !1,
this.mc.getChild("sponsor").visible = !1,
this.mc.getChild("btnNewGame").visible = !1,
this.mc.getChild("btnCredits").visible = !1
}
,
t.prototype.showAdonExitCredits = function() {
var e = this;
Fabrique.AdHandler.getInstance().showAd("exitCredits", function() {
e.hideCredits()
})
}
,
t.prototype.hideCredits = function() {
this.mc.getChild("credits").visible = !1,
this.mc.getChild("back").visible = !1,
this.mc.getChild("title").visible = !0,
h5branding.Utils.getBrandingDomain() !== h5branding.BrandingDomain.Neutral && h5branding.Branding.outGoingLinksAllowed() && (this.mc.getChild("sponsor").visible = !0),
this.mc.getChild("btnNewGame").visible = !0,
this.mc.getChild("btnCredits").visible = !0
}
,
t.prototype.goPlay = function() {
var e = this;
0 < Game.levelsScore[0] ? this.switchState(i.LevelsState.Name) : i.Story.MakeAnimation(this.mc, 1, 3, function() {
e.switchState(i.LevelsState.Name, !1)
}, this)
}
,
t.prototype.shutdown = function() {
e.prototype.shutdown.call(this)
}
,
t.Name = "menu",
t
}(i.OzState);
i.MenuState = e
}(states || (states = {})),
function(e) {
var t = function(e) {
function s() {
return null !== e && e.apply(this, arguments) || this
}
return __extends(s, e),
s.MakeAnimation = function(e, t, i, r, o) {
s.EndFrame = i,
s.OnComp = r,
s.OnCompContext = o,
s.CurFrame = t,
e.removeAllChildren(),
e.addChild(s.Mc = new MovieClip("cmcAnimation")),
s.Mc.getChild("bottomRect").inputEnabled = s.Mc.getChild("storyPic").inputEnabled = !0,
s.OpenThePage(),
s.Mc.getChild("skipStory").makeButton(s.EndAnimation, !0, this, !0, !1)
}
,
s.CloseThePage = function() {
s.Mc.getChild("blackCloud").y = 310,
s.TwBlackRect = TweenMax.to(s.Mc.getChild("blackRect"), .7, {
alpha: 1
}),
s.TwBlackCloud = TweenMax.to(s.Mc.getChild("blackCloud"), .7, {
y: 400
}),
s.CurFrame == s.EndFrame ? TweenMax.delayedCall(.7, this.EndAnimation, this) : (s.CurFrame++,
TweenMax.delayedCall(.7, this.OpenThePage, this))
}
,
s.OpenThePage = function() {
s.Mc.getChild("storyPic").gotoAndStop(s.CurFrame),
s.Mc.getChild("storyText").gotoAndStop(s.CurFrame),
s.TwBlackRect = TweenMax.to(s.Mc.getChild("blackRect"), 1, {
alpha: 0
}),
s.TwBlackCloud = TweenMax.to(s.Mc.getChild("blackCloud"), 1, {
y: 530
}),
s.TwReadWait = TweenMax.delayedCall(4.2, this.CloseThePage, this)
}
,
s.EndAnimation = function() {
s.TwBlackCloud && s.TwBlackCloud.kill(),
s.TwBlackRect && s.TwBlackRect.kill(),
s.TwReadWait && s.TwReadWait.kill(),
s.TwBlackCloud = s.TwBlackRect = null,
s.Mc.remove(),
s.Mc = null,
s.OnComp.call(s.OnCompContext)
}
,
s.prototype.create = function() {
h5branding.google.sendScreenView("story")
}
,
s
}(e.OzState);
e.Story = t
}(states || (states = {})),
function(t) {
var e = function(l) {
function m() {
var e = null !== l && l.apply(this, arguments) || this;
return e.shopInstText = [[345, 29, 0], [224, 253, 0], [67, 344, 0]],
e.shopInstArrow = [[392, 102, 0], [393, 266, -10], [30, 366, 0]],
e
}
return __extends(m, l),
m.prototype.create = function() {
var a = this;
h5branding.google.sendScreenView("level_select"),
this.dummyScore = 1,
this.dummyMoney = 1,
l.prototype.create.call(this),
this.mc = new MovieClip("cmcLevels",0,0,null),
this.world.addChild(this.mc),
this.mc.getChild("back").makeButton(this.BacktoMenu, !0, this, !0, !1),
this.mc.getChild("clearProgress").makeButton(this.clearProgress, !0, this, !0, !1),
this.mc.getChild("gotoShop").makeButton(this.gotoShop, !0, this, !1, !1, !1, !0),
this.mc.getChild("gotoShop").addOverDown(function() {
SoundManager.getInstance().playSound("SPlateUp")
}, this),
h5branding.Utils.getBrandingDomain() !== h5branding.BrandingDomain.Neutral && h5branding.Branding.outGoingLinksAllowed() ? (this.mc.getChild("sponsor").makeButton(function() {
a.mc.getChild("sponsor").changeFrame1(),
Game.sponsor()
}, !0, this, !1, !1, !0, !0),
this.mc.getChild("sponsor").addOverDown(function() {
SoundManager.getInstance().playSound("SPlateUp")
}, this),
this.mc.getChild("walkthrough").makeButton(Game.walkthrough, !0, this, !0, !1, !0)) : this.mc.getChild("walkthrough").visible = !1,
this.mc.getChild("submit").visible = !1,
this.mc.getChild("bonusLevelTip").visible = !1,
SoundManager.getInstance().stopAllAudio(),
SoundManager.PlayMenuMusic(),
this.shopDialog = new MovieClip("cmcShop",0,0,"shopDialog"),
this.shopDialog.getChild("back").makeButton(this.hideShop, !0, this, !1, !1),
this.shopDialog.getChild("bg").inputEnabled = !0,
this.sellerHead = this.shopDialog.getChild("sellerHead"),
this.sellerHead.registerLabel("stay", 1),
this.sellerHead.addAnimation("say1", 2, 13, -1, !1),
this.sellerHead.addAnimation("say2", 14, 46, -1, !1),
this.shopDialog.visible = !1,
this.mc.addChild(this.shopDialog),
this.clearDialog = new MovieClip("cmcClear",0,0,"clearDialog"),
this.clearDialog.getChild("back").makeButton(this.hideClearProgress, !0, this, !0, !1),
this.clearDialog.getChild("clearProgress").makeButton(this.actualClearProgress, !0, this, !0, !1),
this.clearDialog.getChild("bg").inputEnabled = !0,
this.clearDialog.visible = !1,
this.mc.addChild(this.clearDialog),
this.scoreDigs = [this.mc.getChild("s1"), this.mc.getChild("s2"), this.mc.getChild("s3"), this.mc.getChild("s4"), this.mc.getChild("s5")],
this.moneyDigs = [this.mc.getChild("m1"), this.mc.getChild("m2"), this.mc.getChild("m3"), this.mc.getChild("m4"), this.mc.getChild("m5")],
this.shopMoneyDigs = [this.shopDialog.getChild("m1"), this.shopDialog.getChild("m2"), this.shopDialog.getChild("m3"), this.shopDialog.getChild("m4"), this.shopDialog.getChild("m5")];
for (var e = this.priceIndex = 0; e < Game.NUM_LEVELS; e++)
0 < Game.levelsScore[e] && (this.priceIndex = e + 1);
var o, t = function(e) {
for (var t = new Array(3), i = 0; i < 3; i++)
t[i] = s.shopDialog.getChild("s" + (e + 1) + (i + 1));
var r = m.Prices[e][s.priceIndex];
if (OzUtil.MakeDigits(r, t, !0, !1),
10 < t[0].currentFrame)
for (i = 0; i < 3; i++)
t[i].x -= 8;
(o = s.shopDialog.getChild("shopItem" + (e + 1))).makeButton(function() {
a.itemInputUp(e + 1)
}, !0, s, !1, !1, !1, !0),
o.events.onInputDown.add(function() {
a.itemInputDown(e + 1)
}, s),
o.events.onInputOver.add(function() {
a.shopTalk(e + 1)
}, s),
o.events.onInputOut.add(function() {
a.shopSilence()
}, s),
o.addChild(new MovieClip("ShopItemKol",26,26,"kol"))
}, s = this;
for (e = 0; e < 5; e++)
t(e);
var i = function(e) {
var t = n.mc.getChild("l" + e);
if (t.gotoAndStop(e),
"open" != Game.levelsStatus[e - 1])
return t.visible = !1,
"continue";
var i = n.mc.getChild("lev" + e);
t.x -= i.x,
t.y -= i.y;
var r = new MovieClip("cmcLevelStars",-40,-9,"stars");
t.addChild(r),
0 < Game.levelsScore[e - 1] ? r.gotoAndStop(Math.floor(2 + Game.levelsStars[e - 1])) : r.gotoAndStop(1);
var o = t.y
, s = t.y - 26;
i.cf1 = function() {
t.y = o
}
,
i.cf1c = n,
i.cf2 = function() {
t.y = s
}
,
i.cf2c = n,
11 != e || 50 <= Game.TotalStars() ? (i.makeButton(function() {
a.playLevel(e)
}, !0, n, !1, !1, !1, !0),
i.addOverDown(function() {
SoundManager.getInstance().playSound("SPlateUp")
}, n)) : i.makeButton(function() {}, !1, n, !1, !1, !1, !1),
i.addChild(t),
11 == e && (i.addOverDown(function() {
a.mc.getChild("bonusLevelTip").visible = Game.TotalStars() < 50
}, n),
i.events.onInputOut.add(function() {
a.mc.getChild("bonusLevelTip").visible = !1
}, n))
}
, n = this;
for (e = 1; e < 12; e++)
i(e);
this.shopItemCursor = new MovieClip("ShopItemCursor",0,0,"itemCursor"),
this.shopItemCursor.inputEnabled = !0,
this.mc.addChild(this.shopItemCursor),
this.shopItemCursor.visible = !1,
this.shopDialog.getChild("zxc").visible = !Game.Touch();
var r = [this.shopDialog.getChild("zbutton"), this.shopDialog.getChild("xbutton"), this.shopDialog.getChild("cbutton")]
, h = function(e) {
r[e].inputEnabled = !0,
r[e].input.useHandCursor = !0,
r[e].events.onInputDown.add(function() {
a.slotInputDown(r[e])
}, c),
r[e].events.onInputUp.add(function() {
a.slotInputUp()
}, c),
r[e].centerInputRect()
}
, c = this;
for (e = 0; e < r.length; e++)
h(e);
"Shop" == m.To && (m.To = null,
this.gotoShop()),
this.updateMoneyAndScore()
}
,
m.prototype.shopSilence = function() {
SoundManager.getInstance().stopSound("SSalerVoice"),
SoundManager.getInstance().stopSound("SSalerThankYou"),
this.shopDialog.getChild("sellerText").visible = this.shopDialog.getChild("sellerBubble").visible = !1,
this.sellerHead.gotoAndStopLabel("stay")
}
,
m.prototype.shopTalk = function(e) {
this.shopSilence(),
this.shopDialog.getChild("sellerText").visible = this.shopDialog.getChild("sellerBubble").visible = !0,
this.shopDialog.getChild("sellerText").gotoAndStop(5 + e),
this.sellerHead.gotoAndPlayLabel("say2"),
SoundManager.getInstance().playSound("SSalerVoice")
}
,
m.prototype.shopThankYou = function() {
this.shopSilence(),
this.shopDialog.getChild("sellerText").visible = this.shopDialog.getChild("sellerBubble").visible = !0,
this.shopDialog.getChild("sellerText").gotoAndStop(11),
this.sellerHead.gotoAndPlayLabel("say1"),
SoundManager.getInstance().playSound("SSalerThankYou")
}
,
m.prototype.numItemsTotal = function(e) {
return Game.gameShopItems[e - 1]
}
,
m.prototype.numItemsPlaced = function(e) {
var t = 0;
return Game.bobZButton == e && t++,
Game.bobXButton == e && t++,
Game.bobCButton == e && t++,
this.shopItemCursor.visible && this.shopItemCursor.currentFrame == e && t++,
t
}
,
m.prototype.slotInputDown = function(e) {
1 < e.currentFrame && (this.itemDownId = e.currentFrame - 1,
this.shopItemCursor.visible = !0,
this.shopItemCursor.gotoAndStop(this.itemDownId),
e == this.shopDialog.getChild("zbutton") ? Game.bobZButton = 0 : e == this.shopDialog.getChild("xbutton") ? Game.bobXButton = 0 : e == this.shopDialog.getChild("cbutton") && (Game.bobCButton = 0),
this.updateMoneyAndScore())
}
,
m.prototype.slotInputUp = function() {
if (this.shopItemCursor.visible) {
var e = Game.getGame().input.activePointer.worldX
, t = Game.getGame().input.activePointer.worldY;
Math.abs(e - this.shopDialog.getChild("zbutton").x) < 25 && Math.abs(t - this.shopDialog.getChild("zbutton").y) < 25 && (Game.bobZButton = this.itemDownId),
Math.abs(e - this.shopDialog.getChild("xbutton").x) < 25 && Math.abs(t - this.shopDialog.getChild("xbutton").y) < 25 && (Game.bobXButton = this.itemDownId),
Math.abs(e - this.shopDialog.getChild("cbutton").x) < 25 && Math.abs(t - this.shopDialog.getChild("cbutton").y) < 25 && (Game.bobCButton = this.itemDownId),
this.itemDownId = -1,
this.shopItemCursor.visible = !1,
this.updateMoneyAndScore(),
Game.saveCookies()
}
}
,
m.prototype.itemInputDown = function(e) {
this.itemDownId = e,
this.itemDownX = Game.getGame().input.activePointer.worldX,
this.itemDownY = Game.getGame().input.activePointer.worldY
}
,
m.prototype.itemInputUp = function(e) {
this.shopItemCursor.visible ? this.slotInputUp() : Game.totalMoney >= m.Prices[e - 1][this.priceIndex] && this.numItemsTotal(e) < 9 && (Game.totalMoney -= m.Prices[e - 1][this.priceIndex],
Game.gameShopItems[e - 1]++,
this.shopThankYou()),
this.itemDownId = -1,
this.shopItemCursor.visible = !1,
this.updateMoneyAndScore(),
Game.saveCookies()
}
,
m.prototype.update = function() {
if (l.prototype.update.call(this),
0 < this.itemDownId && !this.shopItemCursor.visible && 0 < this.numItemsTotal(this.itemDownId) - this.numItemsPlaced(this.itemDownId)) {
var e = this.itemDownX - Game.getGame().input.activePointer.worldX
, t = this.itemDownY - Game.getGame().input.activePointer.worldY;
100 < e * e + t * t && (this.shopItemCursor.visible = !0,
this.shopItemCursor.gotoAndStop(this.itemDownId),
this.updateMoneyAndScore())
}
this.shopItemCursor.visible && this.shopItemCursor.setxy(Game.getGame().input.activePointer.worldX, Game.getGame().input.activePointer.worldY)
}
,
m.prototype.updateMoneyAndScore = function() {
OzUtil.MakeDigits(Game.totalPoints(), this.scoreDigs, !0, !1),
OzUtil.MakeDigits(Game.totalMoney, this.moneyDigs, !0, !1),
OzUtil.MakeDigits(Game.totalMoney, this.shopMoneyDigs, !0, !1);
for (var e = 0; e < 5; e++) {
var t = this.shopDialog.getChild("shopItem" + (e + 1))
, i = this.numItemsTotal(e + 1) - this.numItemsPlaced(e + 1);
t.getChild("kol").gotoAndStop(i + 1),
0 == i ? t.changeButtonFrameOffset(0) : t.changeButtonFrameOffset(2)
}
this.shopDialog.getChild("zbutton").gotoAndStop(Game.bobZButton + 1),
this.shopDialog.getChild("zbutton").input.enabled = 0 < Game.bobZButton,
this.shopDialog.getChild("xbutton").gotoAndStop(Game.bobXButton + 1),
this.shopDialog.getChild("xbutton").input.enabled = 0 < Game.bobXButton,
this.shopDialog.getChild("cbutton").gotoAndStop(Game.bobCButton + 1),
this.shopDialog.getChild("cbutton").input.enabled = 0 < Game.bobCButton
}
,
m.prototype.gotoShop = function() {
this.mc.getChild("gotoShop").changeFrame1(),
this.mc.getChild("gotoShop").input.enabled = !1,
this.shopDialog.visible = !0,
this.shopSilence();
this.adjustShopInst(-1),
this.shopItemCursor.visible = !1
}
,
m.prototype.adjustShopInst = function(e) {
(e < 0 || 3 < e) && (e = -1),
this.shopInstI = e;
var t = this.shopDialog.getChild("instArrow")
, i = this.shopDialog.getChild("instText");
this.shopInstI < 0 ? t.visible = i.visible = !1 : (0 == e && t.playLoop(),
i.gotoAndStop(e + 1),
i.setxy(this.shopInstText[e][0], this.shopInstText[e][1]),
i.degrees = this.shopInstText[e][2],
t.setxy(this.shopInstArrow[e][0], this.shopInstArrow[e][1]),
t.degrees = this.shopInstArrow[e][2])
}
,
m.prototype.hideShop = function() {
var e = this;
Fabrique.AdHandler.getInstance().showAd("exitCredits", function() {
e.mc.getChild("gotoShop").input.enabled = !0,
e.shopDialog.visible = !1,
e.shopItemCursor.visible = !1
})
}
,
m.prototype.playLevel = function(e) {
var t = this;
GameplayState.currentLevel = e,
Fabrique.AdHandler.getInstance().showAd("startLevel", function() {
t.switchState(GameplayState.Name)
})
}
,
m.prototype.hideClearProgress = function() {
this.mc.getChild("clearProgress").input.enabled = !0,
this.clearDialog.visible = !1
}
,
m.prototype.clearProgress = function() {
this.mc.getChild("clearProgress").input.enabled = !1,
this.clearDialog.visible = !0
}
,
m.prototype.actualClearProgress = function() {
Game.clearProgress(),
this.switchState(t.MenuState.Name, !1)
}
,
m.prototype.BacktoMenu = function() {
var e = this;
Fabrique.AdHandler.getInstance().showAd("exitCredits", function() {
e.switchState(t.MenuState.Name)
})
}
,
m.Name = "levels",
m.Prices = [[65, 65, 70, 80, 90, 100, 110, 125, 140, 160, 180, 200], [70, 70, 75, 85, 95, 110, 120, 135, 150, 170, 190, 215], [80, 80, 85, 100, 110, 125, 140, 155, 175, 195, 220, 245], [90, 90, 100, 110, 125, 140, 155, 175, 195, 220, 245, 275], [100, 100, 110, 125, 140, 155, 175, 195, 220, 245, 275, 310]],
m
}(t.OzState);
t.LevelsState = e
}(states || (states = {}));
var Boot = states.Boot
, Game = function() {
function o() {
var i = this;
o.instance = this,
o.LEFT_CURTAIN_OPEN_X = -390,
o.RIGHT_CURTAIN_OPEN_X = o.WIDTH + 408,
o.initCookies(),
o.readCookies(),
o.maxLevel = 21,
o.currentLevel = 1,
this.game = new Phaser.Game({
width: o.WIDTH,
height: o.HEIGHT,
renderer: Phaser.AUTO,
parent: "content",
forceSetTimeOut: !1
}),
this.game.clearBeforeRender = !1,
Phaser.Device.whenReady(function() {
var e = i.game.device.desktop ? "click" : "touchstart"
, t = !1;
document.getElementById("content").addEventListener(e, function(e) {
i.game.gameResumed(e),
!1 === t && (i.game.sound.context.resume(),
t = !0)
})
}),
h5branding.Branding.analyticsEnabled = !0;
var r = h5branding.SplashLoader.getInstance({
gameId: "34d6aae0257d4e4c8068cbdfc11a8758",
gameTitle: Constants.GAME_TITLE,
gameName: Constants.GAME_TITLE,
libs: [],
version: version,
barColor: ""
});
r.create().then(function() {
h5branding.Branding.analyticsEnabled && Fabrique.RayGun.getInstance(),
i.game.state.add("pre-game", {
create: i.stateCreator.bind(i),
preload: i.statePreloader.bind(i)
}, !0)
}),
Fabrique.AdHandler.getInstance().init(),
h5ads.adWrapper.once(h5ads.AdEvents.AD_PROVIDER_LOADED, function() {
if (r.bannerAllowed && h5branding.Branding.outGoingLinksAllowed()) {
var t = h5ads.adWrapper.createBanner(h5ads.GameDistributionBannerSize.LargeRectangle);
t.loadBanner().then(function() {
var e = r.showBanner();
e ? e.appendChild(t.element) : t.destroy()
}, function() {
t.destroy()
})
}
})
}
return o.getGame = function() {
return o.instance.game
}
,
o.fnPause = function() {
null != o.instance && (o.instance.game.paused = !0)
}
,
o.fnResume = function() {
null != o.instance && (o.instance.game.paused = !1)
}
,
o.sponsor = function() {
OzUtil.GetURL("https://www.kizi.com/")
}
,
o.walkthrough = function() {
OzUtil.GetURL("https://www.agame.com/game/bob-the-robber-2")
}
,
o.showBanner = function() {
window.gdsdk.showBanner()
}
,
o.Touch = function() {
return o.isTouchInitted || (o.isTouchInitted = !0,
o.isTouch = !o.getGame().device.desktop && o.getGame().device.touch),
o.isTouch
}
,
o.AdjustPad = function() {
if (o.PadLeft) {
o.PadLeft.x = Math.floor(Boot.PADH + 1.9),
o.PadLeft.y = 0,
o.PadRight.x = Boot.PADH + o.WIDTH - .9,
o.PadRight.y = 0,
o.CurtainContainer.x = Boot.PADH;
this.instance.game
}
}
,
o.AdjustCross = function() {
GameplayState.HeroCross && (GameplayState.HeroCross.x = o.PadLeft.x + GameplayState.WalkTargetX,
GameplayState.HeroCross.y = GameplayState.WalkTargetY)
}
,
o.MDown = function() {
return o.getGame().input.activePointer.isDown
}
,
o.LS = function(e) {
return e + o.LocalStorageName
}
,
o.initCookies = function() {}
,
o.readCookies = function() {
localStorage.getItem(o.LS("levelsScore")) ? (o.levelsStatus = JSON.parse(localStorage.getItem(o.LS("levelsStatus"))),
o.levelsScore = JSON.parse(localStorage.getItem(o.LS("levelsScore"))),
o.levelsStars = JSON.parse(localStorage.getItem(o.LS("levelsStars"))),
o.gameShopItems = JSON.parse(localStorage.getItem(o.LS("gameShopItems"))),
o.totalMoney = JSON.parse(localStorage.getItem(o.LS("totalMoney"))),
o.totalScore = JSON.parse(localStorage.getItem(o.LS("totalScore"))),
o.bobZButton = JSON.parse(localStorage.getItem(o.LS("bobZButton"))),
o.bobXButton = JSON.parse(localStorage.getItem(o.LS("bobXButton"))),
o.bobCButton = JSON.parse(localStorage.getItem(o.LS("bobCButton")))) : o.clearProgress()
}
,
o.saveCookies = function() {
localStorage.setItem(o.LS("levelsStatus"), JSON.stringify(o.levelsStatus)),
localStorage.setItem(o.LS("levelsScore"), JSON.stringify(o.levelsScore)),
localStorage.setItem(o.LS("levelsStars"), JSON.stringify(o.levelsStars)),
localStorage.setItem(o.LS("gameShopItems"), JSON.stringify(o.gameShopItems)),
localStorage.setItem(o.LS("totalMoney"), JSON.stringify(o.totalMoney)),
localStorage.setItem(o.LS("totalScore"), JSON.stringify(o.totalScore)),
localStorage.setItem(o.LS("bobZButton"), JSON.stringify(o.bobZButton)),
localStorage.setItem(o.LS("bobXButton"), JSON.stringify(o.bobXButton)),
localStorage.setItem(o.LS("bobCButton"), JSON.stringify(o.bobCButton))
}
,
o.TotalStars = function() {
for (var e = 0, t = 0; t < this.levelsStars.length; t++)
0 < this.levelsStars[t] && (e += this.levelsStars[t]);
return e
}
,
o.totalPoints = function() {
for (var e = 0, t = 0; t < o.NUM_LEVELS; t++)
e += 0 < o.levelsScore[t] ? o.levelsScore[t] : 0;
return e
}
,
o.MX = function(e) {
return Math.round(e * o.getGame().scale.scaleFactor.x + o.getGame().world.camera.x)
}
,
o.MY = function(e) {
return Math.round(e * o.getGame().scale.scaleFactor.y)
}
,
o.clearProgress = function() {
(o.levelsStatus = new Array(o.NUM_LEVELS))[0] = "open";
for (var e = 1; e < o.NUM_LEVELS; e++)
o.levelsStatus[e] = "close";
o.levelsScore = new Array(o.NUM_LEVELS);
for (e = 0; e < o.NUM_LEVELS; e++)
o.levelsScore[e] = 0;
o.levelsStars = new Array(o.NUM_LEVELS);
for (e = 0; e < o.NUM_LEVELS; e++)
o.levelsStars[e] = 0;
o.gameShopItems = new Array(10);
for (e = 0; e < 10; e++)
o.gameShopItems[e] = 0;
o.bobZButton = o.bobXButton = o.bobCButton = 0,
o.totalScore = 0,
o.totalMoney = 0,
o.saveCookies()
}
,
o.prototype.statePreloader = function() {
var t = this;
libs.forEach(function(e) {
t.game.load.script(e, e)
})
}
,
o.prototype.stateCreator = function() {
this.game.plugins.add(PhaserSuperStorage.StoragePlugin),
this.game.plugins.add(PhaserCachebuster.CacheBuster),
this.game.plugins.add(PhaserSpine.SpinePlugin),
this.game.storage.forcePromises = !0,
this.game.state.add(states.Boot.Name, states.Boot, !1),
this.game.state.add(states.MenuState.Name, states.MenuState, !1),
this.game.state.add(states.LevelsState.Name, states.LevelsState, !1),
this.game.state.add(GameplayState.Name, GameplayState, !1),
TweenMax.Init(this.game),
MovieClip.game = this.game,
this.game.state.start(states.Boot.Name),
this.game.state.remove("pre-game")
}
,
o.DEBUG = !1,
o.instance = null,
o.frame = 0,
o.WIDTH = 640,
o.HEIGHT = 520,
o.WIDTH_HALF = 320,
o.HEIGHT_HALF = 260,
o.TILE_SIZE = 35,
o.NUM_LEVELS = 11,
o.JoypadLeft = null,
o.JoypadRight = null,
o.PadLeft = null,
o.PadRight = null,
o.CurtainContainer = null,
o.LeftCurtain = null,
o.RightCurtain = null,
o.isTouchInitted = !1,
o.isTouch = !1,
o.LocalStorageName = "BOB2Robb3r",
o
}()
, BobHero = function() {
function e() {
this.bTint = 1,
this.wallLeft = !1,
this.wallRight = !1,
this.bobElevatorOut = !1,
this.BobAction = "stay",
this.BobLastDirrection = "left",
this.bobActive = !0,
this.currentElevatorGroupId = 0,
this.currentElevatorNumber = 0,
this.speedUp = !1,
this.odorless = !1,
this.moreStrength = !1,
this.increaseWaiting = !1,
this.moreMoney = !1,
this.runShadow = !1,
this.goldPadLock = !1,
this.fadeOut = new Timer(30,0),
this.fadeOutElev = new Timer(30,0),
this.fadeIn = new Timer(30,0),
this.strikeTimer = new Timer(200,0),
this.elevatorMoveTimer = new Timer(1e3,0),
this.elevatorDelayInTimer = new Timer(500,0),
this.elevatorDelayOutTimer = new Timer(500,0),
this.progressTimer = new Timer(100,0),
this.progressFrame = 1,
this.speedUpTimer = new Timer(5e3,0),
this.marker = new MovieClip("BobMarker"),
this.mdelta = 0,
this.fadeOut.addEventListener(this.bobFadeOut, this),
this.fadeOutElev.addEventListener(this.bobFadeOutElev, this),
this.fadeIn.addEventListener(this.bobFadeIn, this),
this.strikeTimer.addEventListener(this.bobStrikeEnd, this),
this.elevatorMoveTimer.addEventListener(this.bobMoveInElevatorEnd, this),
this.elevatorDelayInTimer.addEventListener(this.bobDeleayInElevatorEnd, this),
this.elevatorDelayOutTimer.addEventListener(this.bobDeleayOutElevatorEnd, this),
this.progressTimer.addEventListener(this.progressTick, this),
this.speedUpTimer.addEventListener(this.speedUpEnd, this),
this.bobInShadow = !1,
this.bbody = new Phaser.Rectangle(-11,-19,22,24),
this.leftHand = new Phaser.Rectangle(-14,-5,7,17),
this.rightHand = new Phaser.Rectangle(7,-5,7,17),
this.foot = new Phaser.Rectangle(-5,18,10,2),
this.leftLightning = new Phaser.Rectangle(-552,-4,530,8),
this.rightLightning = new Phaser.Rectangle(22,-4,530,8),
this.lightning = new MovieClip("BobFireLightningOz"),
this.lightning.visible = !1,
this.lightningMask = Game.getGame().add.graphics(0, 0),
this.lightningMask.beginFill(16711680),
this.lightningMask.drawRect(0, 0, 530, 8),
this.lightningMask.endFill(),
this.lightning.addChild(this.lightningMask),
this.lightning.mask = this.lightningMask,
this.currentEnemyId = 0,
this.currentZombieId = 0
}
return e.prototype.speedUpEnd = function(e) {
this.speedUpTimer.stop(),
this.speedUp = !1,
this.bClip.getChild("speedLight").visible = !1
}
,
e.prototype.progressTick = function(e) {
this.bProgressSkill.gotoAndStop(Math.max(1, Math.min(100, this.progressFrame))),
55 == this.progressTimer.delay ? this.progressFrame += 20 : this.progressFrame++
}
,
e.prototype.bobDeleayInElevatorEnd = function(e) {
this.elevatorDelayInTimer.stop(),
GameplayState.Instance.findElevatorOut() > this.marker.y ? (this.mdelta = 2.3,
this.elevatorMoveTimer.delay = (GameplayState.Instance.findElevatorOut() - this.marker.y) / 70 * 1e3) : (this.mdelta = -2.3,
this.elevatorMoveTimer.delay = (this.marker.y - GameplayState.Instance.findElevatorOut()) / 70 * 1e3),
this.marker.visible = !0,
this.bClip.addEventListener(this.checkFrame, this),
this.elevatorMoveTimer.start()
}
,
e.prototype.bobDeleayOutElevatorEnd = function(e) {
this.elevatorDelayOutTimer.stop(),
this.bClip.visible = !0,
GameplayState.Instance.elevators[this.currentElevatorNumber].getChild("bob").visible = !1,
this.BobAction = "goOut",
this.bClip.gotoLabel(this.BobAction),
this.fadeIn.start()
}
,
e.prototype.bobMoveInElevatorEnd = function(e) {
this.bClip.removeEventListener(this.checkFrame),
GameplayState.Instance.gameScreen.contains(this.marker) && (GameplayState.Instance.gameScreen.removeChild(this.marker),
this.marker.visible = !1),
SoundManager.getInstance().playSound("SElevatorArrive"),
this.elevatorMoveTimer.stop(),
this.bClip.y += 1400,
this.bClip.y = GameplayState.Instance.findElevatorOut(),
this.bClip.setTint(1, 0),
this.bClip.visible = !1,
this.bobElevatorOut = !0,
GameplayState.Instance.elevators[this.currentElevatorNumber].getChild("bob").visible = !0,
this.elevatorDelayOutTimer.start()
}
,
e.prototype.stopMove = function() {
this.marker.visible && (this.bClip.removeEventListener(this.checkFrame),
this.elevatorMoveTimer.stop())
}
,
e.prototype.startMove = function() {
this.marker.visible && (this.bClip.addEventListener(this.checkFrame, this),
GameplayState.Instance.findElevatorOut() > this.marker.y ? (this.mdelta = 2.3,
this.elevatorMoveTimer.delay = (GameplayState.Instance.findElevatorOut() - this.marker.y) / 70 * 1e3) : (this.mdelta = -2.3,
this.elevatorMoveTimer.delay = (this.marker.y - GameplayState.Instance.findElevatorOut()) / 70 * 1e3),
this.elevatorMoveTimer.start())
}
,
e.prototype.bobStrikeEnd = function(e) {
this.strikeTimer.stop(),
GameplayState.Instance.BobOnEnemy(),
GameplayState.Instance.BobOnZombie(),
this.BobAction = "stay"
}
,
e.prototype.bobFadeOut = function(e) {
this.bTint -= .1,
this.bClip.setTint(0, 1 - this.bTint),
this.bTint <= .10001 && (this.fadeOut.stop(),
this.doorCoor = GameplayState.Instance.findDoorOut(),
this.bClip.x = this.doorCoor.x,
this.bClip.y = this.doorCoor.y,
this.BobAction = "goOut",
this.bClip.gotoLabel(this.BobAction),
this.fadeIn.start())
}
,
e.prototype.bobFadeOutElev = function(e) {
this.bTint -= .1,
this.bClip.setTint(0, 1 - this.bTint),
this.bTint <= .10001 && (this.fadeOutElev.stop(),
GameplayState.Instance.gameScreen.addChild(this.marker),
this.marker.x = this.bClip.x,
this.marker.y = this.bClip.y,
this.marker.visible = !1,
this.bClip.y -= 1400,
GameplayState.Instance.elevators[this.currentElevatorNumber].getChild("bob").visible = !0,
this.elevatorDelayInTimer.start())
}
,
e.prototype.checkFrame = function(e) {
this.marker.y += this.mdelta
}
,
e.prototype.bobFadeIn = function(e) {
this.bTint += .1,
0 == this.bobElevatorOut && this.bClip.setTint(1 - this.bTint, 0),
1.0001 <= this.bTint && (this.fadeIn.stop(),
this.BobAction = "stay",
this.bobElevatorOut && GameplayState.Instance.ActivateControls(),
this.bobElevatorOut = !1,
this.bobActive = !0)
}
,
e.prototype.reset = function() {
this.fadeOut.stop(),
this.fadeOutElev.stop(),
this.fadeIn.stop(),
this.strikeTimer.stop(),
this.elevatorMoveTimer.stop(),
this.elevatorDelayInTimer.stop(),
this.elevatorDelayOutTimer.stop(),
this.BobAction = "stay",
this.bTint = 1,
this.wallLeft = !1,
this.wallRight = !1,
this.bobElevatorOut = !1,
this.mdelta = 0,
this.speedUp = !1,
this.odorless = !1,
this.runShadow = !1,
this.marker.visible = !1,
null == this.bClip.getChild("speedLight") && (this.bClip.addChild(new MovieClip("SpeedLight",7,-1,"speedLight")),
this.bClip.addChildAt(new MovieClip("BobTailPlace",0,0,"tailPlace"), 0),
this.addBobAnimations(this.bClip)),
this.bClip.getChild("speedLight").visible = !1
}
,
e.prototype.gotoWorkRightLoop = function() {
this.bClip.gotoLabel("workRightLoop")
}
,
e.prototype.gotoWorkLeftLoop = function() {
this.bClip.gotoLabel("workLeftLoop")
}
,
e.prototype.gotoWorkLoop = function() {
this.bClip.gotoLabel("workLoop")
}
,
e.prototype.gotoStay = function() {
this.bClip.gotoLabel("stay")
}
,
e.prototype.addBobAnimations = function(e) {
e.registerAnimation("stay", 1),
e.registerAnimation("stay2", 2),
e.registerAnimation("goleft", 3, 14),
e.registerAnimation("goright", 15, 26),
e.registerAnimation("goIn", 27, 36, -1, !1),
e.registerAnimation("goOut", 37, 46, -1, !1),
e.registerAnimation("climb", 47, 56),
e.registerAnimation("hideIn", 57, 68, -1, !1),
e.registerAnimation("hideOut", 69, 80, -1, !1),
e.registerAnimation("fightright", 81, 84, -1, !1, function() {
e.gotoLabel("stay")
}, this),
e.registerAnimation("fightleft", 85, 88, -1, !1, function() {
e.gotoLabel("stay")
}, this),
e.registerAnimation("emptyPushRight", 89, 96, -1, !1, function() {
e.gotoLabel("stay")
}, this),
e.registerAnimation("emptyPushLeft", 97, 104, -1, !1, function() {
e.gotoLabel("stay")
}, this),
e.registerAnimation("work", 105, 114, -1, !1),
e.registerAnimation("workLoop", 114, 129, -1, !1, function() {
e.gotoAndStop(114)
}, this),
e.registerAnimation("workLeft", 130, 134, -1, !1),
e.registerAnimation("workLeftLoop", 134, 145, -1, !1, function() {
e.gotoAndStop(134)
}, this),
e.registerAnimation("workRight", 146, 150, -1, !1),
e.registerAnimation("workRightLoop", 150, 161, -1, !1, function() {
e.gotoAndStop(150)
}, this),
e.registerAnimation("busted", 162),
e.registerAnimation("photo", 163, 192, -1, !1),
e.registerAnimation("drink", 193, 230, -1, !1),
e.registerAnimation("spray", 231, 268, -1, !1),
e.registerAnimation("fireLeft", 269, 283, -1, !1),
e.registerAnimation("fireRight", 284, 298, -1, !1)
}
,
e.prototype.bClip_bWork_play = function() {
114 == this.bClip.currentFrame ? this.bClip.gotoLabel("workLoop") : 134 == this.bClip.currentFrame ? this.bClip.gotoLabel("workLeftLoop") : 150 == this.bClip.currentFrame && this.bClip.gotoLabel("workRightLoop")
}
,
e
}()
, Camera = function() {
function e(e) {
this.switchTimerIdle = new Timer(3e3,0),
this.prepareWarningTimer = new Timer(1e3,0),
this.searchBobTimer = new Timer(100,0),
this.blindTimer = new Timer(300,0),
this.countDelay = new Timer(1e3,0),
this.delta = 0,
this.pastDelay = 0,
this.IdleTimer = e.params.IdleTimer,
this.Direction = e.params.Direction,
this.ViewZoneLeft = e.params.ViewZoneLeft,
this.ViewZoneRight = e.params.ViewZoneRight,
this.cameraClip = e,
this.cameraClip.gotoAndStop(7),
this.switchTimerIdle.delay = this.IdleTimer,
this.switchTimerIdle.addEventListener(this.cameraSwitch, this),
this.switchTimerIdle.start(),
this.countDelay.addEventListener(this.delayCount, this),
this.countDelay.start(),
this.prepareWarningTimer.addEventListener(this.warningStart, this),
this.blindTimer.addEventListener(this.blindTimerEnd, this),
this.passed = !1,
this.cameraBlind = !1,
this.stopped = !1,
this.cameraClip.applyLayout("CameraOverlay"),
this.cameraClip.addEventListener(this.on_enter_frame, this)
}
return e.prototype.on_enter_frame = function(e) {
var t = this.cameraClip;
this.passed && (t = this.cameraClipPassed),
t.curFrameCheckAndProc(1) ? this.passed || (t.getChild("lightRight").visible = t.getChild("lightLeft").visible = !1) : t.curFrameCheckAndProc(5) ? this.passed || (t.getChild("lightLeft").visible = !0,
t.getChild("lightRight").visible = !1) : t.curFrameCheckAndProc(7) ? (this.passed || (t.getChild("lightLeft").visible = !0,
t.getChild("lightRight").visible = !1),
this.stopped = !0) : t.curFrameCheckAndProc(8) ? this.passed || (t.getChild("lightRight").visible = t.getChild("lightLeft").visible = !1) : t.curFrameCheckAndProc(12) ? this.passed || (t.getChild("lightLeft").visible = !1,
t.getChild("lightRight").visible = !0) : t.curFrameCheckAndProc(14) && (this.passed || (t.getChild("lightLeft").visible = !1,
t.getChild("lightRight").visible = !0),
this.stopped = !0),
this.stopped || t.gotoAndStop(t.currentFrame % 14 + 1)
}
,
e.prototype.blindTimerEnd = function(e) {
this.blindTimer.stop(),
this.cameraBlind = !1
}
,
e.prototype.warningStart = function(e) {
this.prepareWarningTimer.stop(),
this.passed || (this.cameraClip.getChild("lightLeft").gotoAndStop(3),
this.cameraClip.getChild("lightRight").gotoAndStop(3)),
this.cameraClip.getChild("sign").gotoAndStop(3),
1 < GameplayState.Instance.getLevelNumber() && (GameplayState.Instance.gameStatus = "alert"),
this.switchTimerIdle.delay = 500
}
,
e.prototype.delayCount = function(e) {
this.pastDelay += 1e3
}
,
e.prototype.cameraSwitch = function(e) {
var t = this.cameraClip;
this.passed ? t = this.cameraClipPassed : t.getChild("lightRight").visible = t.getChild("lightLeft").visible = !1,
this.pastDelay = 0,
"alert" != GameplayState.Instance.gameStatus && (this.switchTimerIdle.delay = this.IdleTimer),
this.cameraBlind = !0,
this.blindTimer.start(),
this.passed,
this.stopped = !1,
5 != this.cameraClip.currentFrame && 6 != this.cameraClip.currentFrame && 7 != this.cameraClip.currentFrame || (this.Direction = "right"),
12 != this.cameraClip.currentFrame && 13 != this.cameraClip.currentFrame && 14 != this.cameraClip.currentFrame || (this.Direction = "left")
}
,
e.prototype.resetCamera = function() {
this.cameraClip.getChild("sign").gotoAndStop(1),
null != this.cameraClip.getChild("lightLeft") && this.cameraClip.getChild("lightLeft").gotoAndStop(1),
null != this.cameraClip.getChild("lightRight") && this.cameraClip.getChild("lightRight").gotoAndStop(1),
this.prepareWarningTimer.stop(),
this.switchTimerIdle.delay = this.IdleTimer,
this.switchTimerIdle.start()
}
,
e.prototype.cameraPassed = function() {
this.passed = !0,
this.cameraClip.removeEventListener(this.on_enter_frame),
this.cameraClipPassed.addEventListener(this.on_enter_frame, this),
this.cameraClip.visible = !1,
this.cameraClipPassed.visible = !0,
this.cameraClipPassed.gotoAndStop(this.cameraClip.currentFrame)
}
,
e.prototype.setupCameraPassed = function() {
this.cameraClipPassed.visible = !1,
this.cameraClipPassed.x = this.cameraClip.x,
this.cameraClipPassed.y = this.cameraClip.y
}
,
e.prototype.stopTurn = function() {
this.prepareWarningTimer.stop(),
this.switchTimerIdle.stop(),
this.countDelay.stop()
}
,
e.prototype.startTurn = function() {
"alert" == GameplayState.Instance.gameStatus ? this.switchTimerIdle.delay = 500 : this.IdleTimer - this.pastDelay <= 0 ? (this.pastDelay = 0,
this.switchTimerIdle.delay = this.IdleTimer) : this.switchTimerIdle.delay = this.IdleTimer - this.pastDelay,
5 != this.cameraClip.currentFrame && 6 != this.cameraClip.currentFrame && 7 != this.cameraClip.currentFrame || (this.Direction = "left"),
12 != this.cameraClip.currentFrame && 13 != this.cameraClip.currentFrame && 14 != this.cameraClip.currentFrame || (this.Direction = "right"),
this.switchTimerIdle.start(),
this.countDelay.start()
}
,
e
}()
, CitrusEngine = function() {
function e() {
this._playing = !0,
this.input = Input.Init(),
this.input.addKeyAction("up", Phaser.Keyboard.UP),
this.input.addKeyAction("up", Phaser.Keyboard.W),
this.input.addKeyAction("left", Phaser.Keyboard.LEFT),
this.input.addKeyAction("left", Phaser.Keyboard.A),
this.input.addKeyAction("right", Phaser.Keyboard.RIGHT),
this.input.addKeyAction("right", Phaser.Keyboard.D),
this.input.addKeyAction("down", Phaser.Keyboard.DOWN),
this.input.addKeyAction("down", Phaser.Keyboard.S),
this.input.addKeyAction("space", Phaser.Keyboard.SPACEBAR),
this.input.addKeyAction("escape", Phaser.Keyboard.ESC),
this.input.addKeyAction("backspace", Phaser.Keyboard.BACKSPACE),
this.input.addKeyAction("p", Phaser.Keyboard.P),
this.input.addKeyAction("r", Phaser.Keyboard.R),
this.input.addKeyAction("z", Phaser.Keyboard.Z),
this.input.addKeyAction("x", Phaser.Keyboard.X),
this.input.addKeyAction("c", Phaser.Keyboard.C),
this.input.addKeyAction("next", Phaser.Keyboard.K),
this.input.addKeyAction("previous", Phaser.Keyboard.J),
this.input.addKeyAction("d0", Phaser.Keyboard.ZERO),
this.input.addKeyAction("d0", Phaser.Keyboard.NUMPAD_0),
this.input.addKeyAction("d1", Phaser.Keyboard.ONE),
this.input.addKeyAction("d1", Phaser.Keyboard.NUMPAD_1),
this.input.addKeyAction("d2", Phaser.Keyboard.TWO),
this.input.addKeyAction("d2", Phaser.Keyboard.NUMPAD_2),
this.input.addKeyAction("d3", Phaser.Keyboard.THREE),
this.input.addKeyAction("d3", Phaser.Keyboard.NUMPAD_3),
this.input.addKeyAction("d4", Phaser.Keyboard.FOUR),
this.input.addKeyAction("d4", Phaser.Keyboard.NUMPAD_4),
this.input.addKeyAction("d5", Phaser.Keyboard.FIVE),
this.input.addKeyAction("d5", Phaser.Keyboard.NUMPAD_5),
this.input.addKeyAction("d6", Phaser.Keyboard.SIX),
this.input.addKeyAction("d6", Phaser.Keyboard.NUMPAD_6),
this.input.addKeyAction("d7", Phaser.Keyboard.SEVEN),
this.input.addKeyAction("d7", Phaser.Keyboard.NUMPAD_7),
this.input.addKeyAction("d8", Phaser.Keyboard.EIGHT),
this.input.addKeyAction("d8", Phaser.Keyboard.NUMPAD_8),
this.input.addKeyAction("d9", Phaser.Keyboard.NINE),
this.input.addKeyAction("d9", Phaser.Keyboard.NUMPAD_9)
}
return e.getInstance = function() {
return null == e.instance && (e.instance = new e),
e.instance
}
,
e.Init = function() {
return e.instance = new e
}
,
Object.defineProperty(e.prototype, "playing", {
get: function() {
return this._playing
},
set: function(e) {
this._playing = e
},
enumerable: !0,
configurable: !0
}),
e.instance = null,
e
}()
, Enemy = function() {
function e(e, t) {
this.stunStars = new MovieClip("StunStars"),
this.stunProgress = new MovieClip("StunProgress"),
this.enemySign = new MovieClip("EnemySigns"),
this.bobDetected = !1,
this.enemyAction = "walk",
this.enemyLastDirrection = "left",
this.DistancePassed = 0,
this.DistancePassedAlarm = 0,
this.cutDownTimer = new Timer(3e4,0),
this.stopWalkTimer = new Timer(1e3,0),
this.prepareWarningTimer = new Timer(1e3,0),
this.prepareWarningWalkTimer = new Timer(1500,0),
this.stopWarningWalkTimer = new Timer(1500,0),
this.shockTimer = new Timer(1e3,0),
this.stunProgressTimer = new Timer(100,0),
this.stunProgressTimerEnd = new Timer(1e3,0),
this.roarTimer = new Timer(1e3,0),
this.roarBegin = !0,
this.countDelay = new Timer(1e3,0),
this.pastDelay = 0,
this.enemyClip = e,
this.enemyType = t,
this.fireStart = -1,
this.fireEnd = -1,
this.alarmStart = -1,
this.alarmEnd = -1,
this.biteStart = -1,
this.biteEnd = -1,
this.enemyClip.addEventListener(this.enter_frame, this),
"Robot" == e.mc ? (this.bbody = new Phaser.Rectangle(-8,-4,16,14),
e.registerAnimation("walkR", 1, 18),
e.registerAnimation("standR", 19),
e.registerAnimation("standL", 20),
e.registerAnimation("walkL", 21, 38),
e.registerAnimation("stunL", 39),
e.registerAnimation("stunR", 40),
e.registerAnimation("alarmR", 41),
e.registerAnimation("alarmL", 42),
e.registerAnimation("alarm_walkL", 43),
e.registerAnimation("alarm_walkR", 44),
e.registerAnimation("stand", 45)) : "Securityman" == e.mc ? (this.bbody = new Phaser.Rectangle(-8,-2,16,14),
e.registerAnimation("stand", 1),
e.registerAnimation("standR", 2),
e.registerAnimation("standL", 3),
e.registerAnimation("walkR", 4, 15),
e.registerAnimation("walkL", 16, 27),
e.registerAnimation("alarmR", 28, 39),
e.registerAnimation("alarmL", 40, 51),
this.fireStart = 52,
e.registerAnimation("fireR", 52, 85, -1, !1),
e.registerAnimation("fireL", 86, 119, -1, !1),
this.fireEnd = 119,
e.registerAnimation("alarm_walkR", 120, 131),
e.registerAnimation("alarm_walkL", 132, 143),
this.alarmStart = 144,
e.registerAnimation("alarm_stand", 144, 192),
this.alarmEnd = 192,
e.registerAnimation("stunR", 193),
e.registerAnimation("stunL", 194),
e.registerAnimation("stunR2", 195),
e.registerAnimation("stunL2", 196)) : "Dog" == e.mc ? (this.bbody = new Phaser.Rectangle(-12,-9,24,15),
e.registerAnimation("stand", 1, 45),
this.alarmStart = 1,
e.registerAnimation("alarm_stand", 1, 45),
this.alarmEnd = 45,
e.registerAnimation("alarm_standR", 1, 45),
e.registerAnimation("walkR", 46, 61),
e.registerAnimation("walkL", 62, 77),
e.registerAnimation("standR", 78),
e.registerAnimation("standL", 79),
e.registerAnimation("alarm_walkR", 80, 94),
e.registerAnimation("alarm_walkL", 95, 109),
this.biteStart = 110,
e.registerAnimation("biteR", 110, 120, -1, !1),
e.registerAnimation("biteL", 121, 131, -1, !1),
this.biteEnd = 131,
e.registerAnimation("stunR", 132),
e.registerAnimation("stunL", 133),
e.registerAnimation("alarm_standL", 134, 178)) : "Ambal" == e.mc ? (this.bbody = new Phaser.Rectangle(-8,-2,16,14),
e.registerAnimation("stand", 1),
e.registerAnimation("standR", 2),
e.registerAnimation("standL", 3),
e.registerAnimation("walkR", 4, 15),
e.registerAnimation("walkL", 16, 27),
e.registerAnimation("alarmR", 28, 47),
e.registerAnimation("alarmL", 48, 67),
this.fireStart = 68,
e.registerAnimation("fireR", 68, 109, -1, !1),
e.registerAnimation("fireL", 110, 151, -1, !1),
this.fireEnd = 151,
e.registerAnimation("alarm_walkR", 152, 163),
e.registerAnimation("alarm_walkL", 164, 175),
this.alarmStart = 176,
e.registerAnimation("alarm_stand", 176, 215),
this.alarmEnd = 215,
e.registerAnimation("stunR", 216),
e.registerAnimation("stunL", 217)) : "Oldman" == e.mc ? (this.bbody = new Phaser.Rectangle(-8,-2,16,14),
e.registerAnimation("stand", 1),
e.registerAnimation("walkR", 2, 13),
e.registerAnimation("walkL", 14, 25),
e.registerAnimation("alarmR", 26, 38),
e.registerAnimation("alarmL", 39, 51),
e.registerAnimation("stunL", 52),
e.registerAnimation("stunR", 53),
e.registerAnimation("alarm_walkR", 54, 65),
e.registerAnimation("alarm_walkL", 66, 77),
this.alarmStart = 78,
e.registerAnimation("alarm_stand", 78, 125, -1, !1),
this.alarmEnd = 125,
e.registerAnimation("standR", 126),
e.registerAnimation("standL", 127)) : "Policeman" == e.mc && (this.bbody = new Phaser.Rectangle(-8,-2,16,14),
e.registerAnimation("stand", 1),
e.registerAnimation("standR", 2),
e.registerAnimation("standL", 3),
e.registerAnimation("walkR", 4, 15),
e.registerAnimation("walkL", 16, 27),
e.registerAnimation("alarmR", 28, 47),
e.registerAnimation("alarmL", 48, 67),
this.fireStart = 68,
e.registerAnimation("fireR", 68, 109, -1, !1),
e.registerAnimation("fireL", 110, 151, -1, !1),
this.fireEnd = 151,
e.registerAnimation("stunR", 152),
e.registerAnimation("stunL", 153),
e.registerAnimation("alarm_walkR", 154, 165),
e.registerAnimation("alarm_walkL", 166, 177),
this.alarmStart = 178,
e.registerAnimation("alarm_stand", 178, 225),
this.alarmEnd = 225,
e.registerAnimation("stunR2", 226),
e.registerAnimation("stunL2", 227)),
"Robot" == e.mc && e.addChild(new MovieClip("RobotLights",0,0,"light")),
"left" == this.enemyClip.params.Direction ? (this.rightPosition = this.enemyClip.x,
this.leftPosition = this.enemyClip.x - this.enemyClip.params.Distance,
this.enemyLastDirrection = "right") : (this.leftPosition = this.enemyClip.x,
this.rightPosition = this.enemyClip.x + this.enemyClip.params.Distance,
this.enemyLastDirrection = "left"),
this.stopWalkTimer.delay = this.enemyClip.params.StopMoveWaitTime,
this.enemyClip.addEventListener(this.checkFrame, this),
this.cutDownTimer.addEventListener(this.stunnedEnd, this),
this.stopWalkTimer.addEventListener(this.stopWalkEnd, this),
this.prepareWarningTimer.addEventListener(this.warningStart, this),
this.prepareWarningWalkTimer.addEventListener(this.warningWalkStart, this),
this.stopWarningWalkTimer.addEventListener(this.stopWarningWalkEnd, this),
this.shockTimer.addEventListener(this.shockEnemyEnd, this),
this.stunProgressTimer.addEventListener(this.stunProgressGo, this),
this.stunProgressTimerEnd.addEventListener(this.stunProgressEnd, this),
this.roarTimer.addEventListener(this.roarTimerEnd, this),
this.countDelay.addEventListener(this.delayCount, this),
this.enemyClip.addChild(this.stunStars),
this.enemyClip.addChild(this.stunProgress),
this.stunStars.visible = !1,
this.stunProgress.visible = !1,
this.stunStars.x = 0,
this.stunStars.y -= 26,
this.stunProgress.x -= 10,
this.stunProgress.y -= 26,
"[object Dog]" == this.enemyType ? (this.enemyShock = new MovieClip("DogShock"),
this.soundEnemyAlarm = "SDogAlarm",
this.soundEnemyOut = "SDogBite",
this.soundEnemyWarn = "SDogWarn",
this.soundEnemyBite = "SDogBite",
this.cash = 0) : "[object Robot]" == this.enemyType ? (this.enemyShock = new MovieClip("RobotShock"),
this.soundEnemyAlarm = "SRobotAlarm",
this.soundEnemyOut = "SRobotOut",
this.soundEnemyWarn = "SRobotWarn",
this.cash = 0) : (this.enemyShock = new MovieClip("EnemyShock"),
"[object Securityman]" == this.enemyType ? this.soundShot = "SShootBurst" : "[object Ambal]" == this.enemyType ? this.soundShot = "SShootAmbal" : this.soundShot = "SShoot"),
"[object Oldman]" == this.enemyType && (this.soundEnemyAlarm = "SOldmanAlarm",
this.soundEnemyOut = "SOldmanWarn",
this.soundEnemyWarn = "SOldmanOut",
this.cash = 5),
"[object Policeman]" == this.enemyType && (this.soundEnemyAlarm = "SPolicemanAlarm",
this.soundEnemyOut = "SPolicemanOut",
this.soundEnemyWarn = "SPolicemanWarn",
this.cash = 10),
"[object Ambal]" == this.enemyType && (this.soundEnemyAlarm = "SAmbalAlarm",
this.soundEnemyOut = "SAmbalOut",
this.soundEnemyWarn = "SAmbalWarn",
this.cash = 25),
"[object Securityman]" == this.enemyType && (this.soundEnemyAlarm = "SSecurityAlarm",
this.soundEnemyOut = "SSecurityOut",
this.soundEnemyWarn = "SSecurityWarn",
this.cash = 30,
this.prepareWarningTimer.delay = 750)
}
return e.prototype.enter_frame = function() {
if ("Robot" == this.enemyClip.mc) {
var e = this.enemyClip
, t = e.currentFrame
, i = e.getChild("light");
1 <= t && t <= 19 || 41 == t || 44 == t || 45 == t ? (i.visible = !0,
i.scaleX = 1) : 20 <= t && t <= 38 || 42 == t || 43 == t ? (i.visible = !0,
i.scaleX = -1) : i.visible = !1
}
}
,
e.prototype.delayCount = function(e) {
this.pastDelay += 1e3
}
,
e.prototype.roarTimerEnd = function(e) {
this.roarTimer.stop(),
this.roarBegin = !0
}
,
e.prototype.stunProgressGo = function(e) {
this.stunProgress.gotoAndStop(Math.min(100, this.stunProgress.currentFrame + 1))
}
,
e.prototype.stunProgressEnd = function(e) {
this.stunProgressTimerEnd.stop(),
this.stunProgress.visible = !1,
this.stunProgress.gotoAndStop(1),
this.enemyClip.addEventListener(this.checkFrame, this),
this.wakeUpFromStunned()
}
,
e.prototype.shockEnemyEnd = function(e) {
this.shockTimer.stop(),
GameplayState.Instance.gameScreen.contains(this.enemyShock) && GameplayState.Instance.gameScreen.removeChild(this.enemyShock),
this.enemyClip.visible = !0,
this.stunnedBegin()
}
,
e.prototype.warningWalkStart = function(e) {
this.prepareWarningWalkTimer.stop(),
this.enemyAction = "warning_walk"
}
,
e.prototype.warningStart = function(e) {
this.prepareWarningTimer.stop(),
this.bobCoor = GameplayState.Instance.getBobCoor(),
"[object Robot]" != this.enemyType && (this.bobCoor.x < this.enemyClip.x ? this.enemyLastDirrection = "left" : this.enemyLastDirrection = "right"),
"[object Dog]" == this.enemyType && (SoundManager.getInstance().playSound(this.soundEnemyAlarm),
this.enemyAction = "zombieAttack",
this.DistancePassedAlarm = 0,
this.bobCoor = GameplayState.Instance.getBobCoor(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20),
"[object Robot]" == this.enemyType && this.enemyClip.getChild("light").gotoAndStop(3),
this.enemySign.gotoAndStop(3),
1 < GameplayState.Instance.getLevelNumber() && (GameplayState.Instance.gameStatus = "alert")
}
,
e.prototype.stopWarningWalkEnd = function(e) {
this.stopWarningWalkTimer.stop(),
"alert" != GameplayState.Instance.gameStatus && (this.enemyAction = "walk")
}
,
e.prototype.stopWalkEnd = function(e) {
this.stopWalkTimer.stop(),
this.enemyAction = "walk"
}
,
e.prototype.stunnedEnd = function(e) {
this.cutDownTimer.stop(),
this.stunProgressTimer.stop(),
this.countDelay.stop(),
this.pastDelay = 0,
this.stunStars.visible = !1,
this.stunProgressTimerEnd.start()
}
,
e.prototype.wakeUpFromStunned = function(e) {
void 0 === e && (e = "stun"),
"stun" == e ? "[object Robot]" != this.enemyType ? (this.enemyAction = "seeAbout",
this.enemyClip.gotoLabel("alarm_stand"),
this.enemySign.gotoAndStop(2)) : this.enemyAction = "walk" : ("warning" != GameplayState.Instance.gameStatus && "silent" != GameplayState.Instance.gameStatus || (this.enemyAction = "walk"),
"alert" == GameplayState.Instance.gameStatus && (this.enemySign.gotoAndStop(3),
"[object Oldman]" == this.enemyType ? this.enemyAction = "alarm_walk" : this.enemyAction = "waitForWarningWalk"))
}
,
e.prototype.stunnedBegin = function() {
this.enemySign.gotoAndStop(1),
this.prepareWarningTimer.stop(),
this.stopWalkTimer.stop(),
this.cutDownTimer.stop(),
this.stunProgressTimerEnd.stop(),
this.enemyClip.removeEventListener(this.checkFrame),
SoundManager.getInstance().playSound(this.soundEnemyOut),
this.cutDownTimer.delay = 3e4,
"[object Securityman]" == this.enemyType && (this.cutDownTimer.delay = 15e3),
this.cutDownTimer.start(),
"[object Policeman]" == this.enemyType || "[object Securityman]" == this.enemyType ? .5 < 1 * Math.random() ? "left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("stunR") : this.enemyClip.gotoLabel("stunL") : "left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("stunR2") : this.enemyClip.gotoLabel("stunL2") : "left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("stunR") : this.enemyClip.gotoLabel("stunL"),
this.stunStars.visible = !0,
this.stunStars.playLoop(),
this.stunProgress.visible = !0,
this.stunProgress.gotoAndStop(1),
this.stunProgressTimer.delay = this.cutDownTimer.delay / 100,
this.stunProgressTimer.start(),
this.countDelay.start(),
this.enemyAction = "stun"
}
,
e.prototype.checkFrame = function(e) {
if (this.isBobDetected() && ("warning" == GameplayState.Instance.gameStatus && "zombieAttack" != this.enemyAction && ("left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("standR") : this.enemyClip.gotoLabel("standL")),
"alert" == GameplayState.Instance.gameStatus)) {
if ("[object Oldman]" == this.enemyType && ("left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("alarmR") : this.enemyClip.gotoLabel("alarmL")),
"[object Policeman]" == this.enemyType || "[object Ambal]" == this.enemyType || "[object Securityman]" == this.enemyType) {
if (this.bobCoor.x < this.enemyClip.x ? this.enemyLastDirrection = "right" : this.enemyLastDirrection = "left",
this.enemyClip.currentFrame >= this.fireStart && this.enemyClip.currentFrame <= this.fireEnd) {
var t = this.fireStart + (this.fireEnd - this.fireStart + 1) / 2
, i = void 0
, r = void 0
, o = void 0;
o = this.enemyClip.currentFrame < t ? (i = this.enemyClip.currentFrame - this.fireStart + 1,
r = this.fireStart,
t - 1) : (i = this.enemyClip.currentFrame - t + 1,
r = t,
this.fireEnd),
29 != i && 33 != i && 37 != i || "[object Policeman]" != this.enemyType ? 20 == i && "[object Securityman]" == this.enemyType ? SoundManager.getInstance().playSound(this.soundShot) : 28 != i && 32 != i && 36 != i || "[object Ambal]" != this.enemyType || SoundManager.getInstance().playSound(this.soundShot) : SoundManager.getInstance().playSound(this.soundShot),
this.enemyClip.currentFrame == o && (this.enemyClip.gotoAndStop(r),
GameplayState.Instance.totalAlerts = 4)
}
"left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("fireR") : this.enemyClip.gotoLabel("fireL")
}
"[object Dog]" == this.enemyType && (this.bobCoor.x < this.enemyClip.x ? this.enemyLastDirrection = "right" : this.enemyLastDirrection = "left",
this.enemySign.gotoAndStop(3),
this.enemyAction = "zombieAttack"),
this.roarBegin && (SoundManager.getInstance().playSound(this.soundEnemyAlarm),
this.roarTimer.start(),
this.roarBegin = !1)
}
if ("seeAbout" == this.enemyAction) {
var s = this.enemyClip.currentFrame - this.alarmStart + 1;
"[object Policeman]" != this.enemyType && "[object Oldman]" != this.enemyType || (this.enemyLastDirrection = 1 <= s && s < 24 ? "left" : "right",
47 < s && this.wakeUpFromStunned("endSeeAbout")),
"[object Ambal]" == this.enemyType && (this.enemyLastDirrection = 1 <= s && s < 24 ? "left" : "right",
39 < s && this.wakeUpFromStunned("endSeeAbout")),
"[object Dog]" == this.enemyType && (this.enemyLastDirrection = 1 <= s && s < 19 ? "left" : "right",
39 < s && this.wakeUpFromStunned("endSeeAbout")),
"[object Securityman]" == this.enemyType && (this.enemyLastDirrection = 1 <= s && s < 24 ? "left" : "right",
48 < s && this.wakeUpFromStunned("endSeeAbout"))
}
if ("walk" != this.enemyAction || this.bobDetected || ("left" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("walkR"),
this.enemyClip.x += 1,
this.DistancePassed += 1,
"[object Securityman]" == this.enemyType && (this.enemyClip.x += .5,
this.DistancePassed += .5),
this.enemySign.x = this.enemyClip.x),
"right" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("walkL"),
this.enemyClip.x -= 1,
this.DistancePassed -= 1,
"[object Securityman]" == this.enemyType && (this.enemyClip.x -= .5,
this.DistancePassed -= .5),
this.enemySign.x = this.enemyClip.x),
("right" == this.enemyLastDirrection && this.enemyClip.x <= this.leftPosition || "left" == this.enemyLastDirrection && this.enemyClip.x >= this.rightPosition) && (this.DistancePassed = 0,
"left" == this.enemyLastDirrection ? this.enemyLastDirrection = "right" : this.enemyLastDirrection = "left",
"[object Dog]" == this.enemyType ? "left" == this.enemyLastDirrection ? this.enemyAction = "alarm_standL" : this.enemyAction = "alarm_standR" : this.enemyAction = "stand",
this.enemyClip.gotoLabel(this.enemyAction),
this.stopWalkTimer.start())),
"waitForWarningWalk" != this.enemyAction || this.bobDetected || ("[object Oldman]" == this.enemyType ? (this.enemySign.gotoAndStop(2),
this.enemyAction = "alarm_walk",
"left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("alarm_walkR") : this.enemyClip.gotoLabel("alarm_walkL")) : (this.enemyClip.gotoLabel("alarm_stand"),
this.enemySign.gotoAndStop(2))),
"alarm_walk" == this.enemyAction && !this.bobDetected && "[object Oldman]" == this.enemyType) {
this.enemyClip.gotoLabel("alarm_stand"),
this.enemySign.gotoAndStop(2);
s = this.enemyClip.currentFrame - this.alarmStart + 1;
this.enemyLastDirrection = 1 <= s && s < 24 ? "left" : "right"
}
"warning_walk" != this.enemyAction || this.bobDetected || "[object Policeman]" != this.enemyType && "[object Ambal]" != this.enemyType && "[object Securityman]" != this.enemyType || (this.enemySign.gotoAndStop(2),
"left" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("alarm_walkR"),
this.enemyClip.x += 1,
this.DistancePassedAlarm += 1,
this.DistancePassed += 1,
this.enemySign.x = this.enemyClip.x),
"right" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("alarm_walkL"),
this.enemyClip.x -= 1,
this.DistancePassedAlarm -= 1,
this.DistancePassed -= 1,
this.enemySign.x = this.enemyClip.x),
(Math.abs(this.DistancePassedAlarm) >= this.bobDetectedPoint || Math.abs(this.DistancePassed) >= this.enemyClip.params.Distance) && (this.DistancePassedAlarm = 0,
this.enemyAction = "waitForWarningWalk",
this.stopWarningWalkTimer.start())),
"zombieAttack" == this.enemyAction && ("left" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("alarm_walkR"),
this.enemyClip.x += 3,
this.DistancePassedAlarm += 3,
this.DistancePassed += 3,
this.enemySign.x = this.enemyClip.x),
"right" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("alarm_walkL"),
this.enemyClip.x -= 3,
this.DistancePassedAlarm -= 3,
this.DistancePassed -= 3,
this.enemySign.x = this.enemyClip.x),
(Math.abs(this.DistancePassedAlarm) >= this.bobDetectedPoint || Math.abs(this.DistancePassed) >= this.enemyClip.params.Distance) && (this.DistancePassedAlarm = 0,
this.enemyAction = "waitForWarningWalk",
this.stopWarningWalkTimer.start()))
}
,
e.prototype.catchBob = function() {
GameplayState.Instance.bobBitten = !0,
"[object Dog]" == this.enemyType ? (this.enemyClip.removeEventListener(this.checkFrame),
SoundManager.getInstance().playSound(this.soundEnemyBite),
"left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("biteR") : this.enemyClip.gotoLabel("biteL"),
this.enemyClip.addEventListener(this.biteUpdate, this)) : ("left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("alarmR") : this.enemyClip.gotoLabel("alarmL"),
GameplayState.Instance.totalAlerts = 4)
}
,
e.prototype.biteUpdate = function(e) {
if (this.enemyClip.currentFrame < this.biteStart || this.enemyClip.currentFrame > this.biteEnd)
this.enemyClip.removeEventListener(this.biteUpdate);
else {
var t = this.biteStart + (this.biteEnd - this.biteStart + 1) / 2;
this.enemyClip.currentFrame != t - 1 && this.enemyClip.currentFrame != this.biteEnd || (GameplayState.Instance.totalAlerts = 4,
this.enemyClip.removeEventListener(this.biteUpdate))
}
}
,
e.prototype.isBobDetected = function(e) {
if (void 0 === e && (e = !1),
this.bobCoor = GameplayState.Instance.getBobCoor(),
this.bobDetected = !1,
GameplayState.Instance.isBobHide())
return !1;
if ("stun" == this.enemyAction || "shock" == this.enemyAction)
return !1;
if (this.bobCoor.x < this.rightPosition + 40 && this.bobCoor.x > this.leftPosition - 40 && Math.abs(this.enemyClip.y - this.bobCoor.y) < 30) {
if ("left" == this.enemyLastDirrection && this.bobCoor.x > this.enemyClip.x)
return this.bobDetected = !0,
"seeAbout" == this.enemyAction && this.wakeUpFromStunned("endSeeAbout"),
this.prepareWarningWalkTimer.stop(),
this.stopWarningWalkTimer.stop(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
!0;
if ("right" == this.enemyLastDirrection && this.bobCoor.x < this.enemyClip.x)
return this.bobDetected = !0,
"seeAbout" == this.enemyAction && this.wakeUpFromStunned("endSeeAbout"),
this.prepareWarningWalkTimer.stop(),
this.stopWarningWalkTimer.stop(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
!0;
if (0 == e && (Math.abs(this.bobCoor.x - this.enemyClip.x) < 10 || "alert" == GameplayState.Instance.gameStatus))
return "seeAbout" == this.enemyAction && this.wakeUpFromStunned("endSeeAbout"),
this.bobDetected = !0,
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
!0
}
return !1
}
,
e.prototype.shockEnemy = function() {
this.enemyClip.visible = !1,
this.enemyAction = "shock",
this.stopWalkTimer.stop(),
this.enemyClip.removeEventListener(this.checkFrame),
GameplayState.Instance.gameScreen.addChild(this.enemyShock),
this.enemyShock.x = this.enemyClip.x,
this.enemyShock.y = this.enemyClip.y,
this.shockTimer.start()
}
,
e.prototype.setSearchBobMode = function() {
this.bobCoor = GameplayState.Instance.getBobCoor(),
"[object Oldman]" == this.enemyType && (this.enemySign.gotoAndStop(2),
this.enemyAction = "alarm_walk",
"left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("alarm_walkR") : this.enemyClip.gotoLabel("alarm_walkL")),
"[object Policeman]" != this.enemyType && "[object Ambal]" != this.enemyType && "[object Securityman]" != this.enemyType || (this.enemySign.gotoAndStop(2),
this.enemyAction = "waitForWarningWalk",
50 < Math.abs(this.bobCoor.x - this.enemyClip.x) && this.prepareWarningWalkTimer.start()),
this.DistancePassedAlarm = 0
}
,
e.prototype.resetEnemyAfterAlert = function() {
1 != this.enemySign.currentFrame && "seeAbout" != this.enemyAction && 0 == this.stunProgress.visible && (this.enemySign.gotoAndStop(1),
this.prepareWarningTimer.stop(),
this.enemyAction = "walk",
"[object Robot]" == this.enemyType && (this.enemyClip.getChild("light").gotoAndStop(1),
this.enemySign.gotoAndStop(1),
this.enemyAction = "walk"))
}
,
e.prototype.stopAnyActions = function() {
this.enemyClip.removeEventListener(this.checkFrame),
"stun" == this.enemyAction ? (this.stunProgressTimer.stop(),
this.countDelay.stop(),
this.cutDownTimer.stop()) : this.enemyClip.gotoLabel("stand")
}
,
e.prototype.startActions = function() {
this.enemyClip.addEventListener(this.checkFrame, this),
"stun" == this.enemyAction && (this.cutDownTimer.delay - this.pastDelay <= 0 ? this.cutDownTimer.delay = 0 : this.cutDownTimer.delay = this.cutDownTimer.delay - this.pastDelay,
this.pastDelay = 0,
this.cutDownTimer.start(),
this.stunProgressTimer.start(),
this.countDelay.start())
}
,
e.prototype.dispose = function() {
this.cutDownTimer.stop(),
this.stopWalkTimer.stop(),
this.prepareWarningTimer.stop(),
this.prepareWarningWalkTimer.stop(),
this.stopWarningWalkTimer.stop(),
this.shockTimer.stop(),
this.stunProgressTimer.stop(),
this.enemyClip.removeEventListener(this.checkFrame),
this.enemyClip = null
}
,
e
}()
, FlyingMoney = function() {
function e(e) {
this.fClip = new MovieClip("FlyMoney"),
this.fClip.playOnce(),
this.faClip = new MovieClip,
this.speed = 15,
this.amount = e,
this.bobCoor = GameplayState.Instance.getBobCoor(),
GameplayState.Instance.messageScreen.addChild(this.fClip),
this.fClip.x = this.bobCoor.x,
this.fClip.y = this.bobCoor.y,
this.dx = this.fClip.x - 134,
this.dy = this.fClip.y - 70,
this.angle = Math.atan2(this.dx, this.dy),
this.distance = Math.sqrt(this.dx * this.dx + this.dy * this.dy),
GameplayState.Instance.messageScreen.addChild(this.faClip),
this.faClip.x = this.bobCoor.x,
this.faClip.y = this.bobCoor.y - 20;
for (var t = this.amount, i = 0, r = new Array; 9 < t; ) {
new MovieClip("ctxtMenuScore",0,0).gotoAndStop(t % 10 + 1),
r.push(new MovieClip("ctxtMenuScore",0,0)),
r[i++].gotoAndStop(t % 10 + 1),
t = Math.floor(t / 10)
}
r.push(new MovieClip("ctxtMenuScore",0,0)),
r[i++].gotoAndStop(t % 10 + 1);
for (var o = -(20 + 16 * (i - 1)) / 2, s = i - 1; 0 <= s; s--)
this.faClip.addChild(r[s]),
r[s].setxy(o, 0),
o += 16;
this.fClip.addEventListener(this.checkFrame, this),
this.faFrame = 1,
this.faClip.alpha = 0,
this.faClip.addEventListener(this.checkFaFrame, this)
}
return e.prototype.checkFaFrame = function(e) {
this.faFrame++,
this.faFrame < 10 || (this.faFrame < 23 ? (this.faClip.alpha = Math.min(1, this.faClip.alpha + .05),
this.faClip.y -= 1) : this.faFrame < 28 || (this.faFrame < 33 ? (this.faClip.alpha = Math.max(0, this.faClip.alpha - .2),
this.faClip.y += .5) : (this.faClip.removeEventListener(this.checkFaFrame),
GameplayState.Instance.messageScreen.removeChild(this.faClip))))
}
,
e.prototype.checkFrame = function(e) {
11 == this.fClip.currentFrame && (this.distance -= this.speed,
this.fClip.x = 134 + this.distance * Math.sin(this.angle),
this.fClip.y = 70 + this.distance * Math.cos(this.angle),
this.distance < 2 && (GameplayState.Instance.moneyCollected += this.amount,
GameplayState.Instance.calcMoney(),
this.fClip.removeEventListener(this.checkFrame),
GameplayState.Instance.messageScreen.removeChild(this.fClip)))
}
,
e
}()
, Levels = function() {
function e() {}
return e.data = {
frames: [{
filename: "Blades0000",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0001",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0002",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0003",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0004",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0005",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0006",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0007",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0008",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0009",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0010",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0011",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0012",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0013",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0014",
frame: {
x: 3938,
y: 950,
w: 34,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0015",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0016",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0017",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0018",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0019",
frame: {
x: 3892,
y: 1119,
w: 35,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -15.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0020",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0021",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0022",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0023",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0024",
frame: {
x: 2865,
y: 1438,
w: 36,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0025",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0026",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0027",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0028",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0029",
frame: {
x: 2931,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0030",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0031",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0032",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0033",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "Blades0034",
frame: {
x: 2968,
y: 1438,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.6,
y: -17.8,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "BobBack0000",
frame: {
x: 4012,
y: 378,
w: 65,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -27.7,
w: 65,
h: 55
},
sourceSize: {
w: 65,
h: 55
}
}, {
filename: "BobInElevatorSmall0000",
frame: {
x: 3861,
y: 3,
w: 204,
h: 137
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -75.6,
y: -136.6,
w: 204,
h: 137
},
sourceSize: {
w: 204,
h: 137
}
}, {
filename: "Captive0000",
frame: {
x: 3896,
y: 950,
w: 39,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 52
},
sourceSize: {
w: 39,
h: 52
}
}, {
filename: "Captive0001",
frame: {
x: 2810,
y: 1446,
w: 24,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7,
y: 22,
w: 39,
h: 52
},
sourceSize: {
w: 39,
h: 52
}
}, {
filename: "Codelock0000",
frame: {
x: 2897,
y: 1516,
w: 19,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9,
y: -11,
w: 19,
h: 23
},
sourceSize: {
w: 19,
h: 23
}
}, {
filename: "Computer0000",
frame: {
x: 3042,
y: 1522,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -10,
w: 20,
h: 20
},
sourceSize: {
w: 20,
h: 20
}
}, {
filename: "DoorSensor0000",
frame: {
x: 4012,
y: 305,
w: 55,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.5,
y: -35,
w: 55,
h: 70
},
sourceSize: {
w: 55,
h: 70
}
}, {
filename: "DoorSteel10000",
frame: {
x: 3980,
y: 992,
w: 39,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10001",
frame: {
x: 3966,
y: 1101,
w: 35,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10002",
frame: {
x: 3951,
y: 1320,
w: 30,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10003",
frame: {
x: 3979,
y: 1403,
w: 27,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10004",
frame: {
x: 2255,
y: 1503,
w: 22,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10005",
frame: {
x: 2411,
y: 1503,
w: 18,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10006",
frame: {
x: 2623,
y: 1509,
w: 13,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10007",
frame: {
x: 2851,
y: 1516,
w: 9,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10008",
frame: {
x: 2053,
y: 1542,
w: 5,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10010",
frame: {
x: 4003,
y: 619,
w: 43,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10011",
frame: {
x: 3893,
y: 879,
w: 38,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10012",
frame: {
x: 3930,
y: 1098,
w: 33,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10013",
frame: {
x: 3162,
y: 1344,
w: 28,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10014",
frame: {
x: 2838,
y: 1438,
w: 24,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10015",
frame: {
x: 4070,
y: 1317,
w: 20,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10016",
frame: {
x: 3835,
y: 1508,
w: 16,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10017",
frame: {
x: 3967,
y: 1509,
w: 11,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10018",
frame: {
x: 4087,
y: 1194,
w: 6,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel10019",
frame: {
x: 4091,
y: 113,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel20000",
frame: {
x: 4e3,
y: 878,
w: 42,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20001",
frame: {
x: 3930,
y: 1043,
w: 37,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20002",
frame: {
x: 4009,
y: 1258,
w: 33,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20003",
frame: {
x: 3918,
y: 1366,
w: 28,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20004",
frame: {
x: 2904,
y: 1438,
w: 24,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20005",
frame: {
x: 2304,
y: 1503,
w: 20,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20006",
frame: {
x: 2508,
y: 1509,
w: 14,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20007",
frame: {
x: 2800,
y: 1516,
w: 10,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20008",
frame: {
x: 2940,
y: 1539,
w: 5,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorSteel20010",
frame: {
x: 4012,
y: 143,
w: 47,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -28,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20011",
frame: {
x: 4049,
y: 556,
w: 41,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -27,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20012",
frame: {
x: 3853,
y: 992,
w: 36,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -27,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20013",
frame: {
x: 4004,
y: 1104,
w: 31,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5,
y: -27,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20014",
frame: {
x: 3886,
y: 1368,
w: 26,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -27,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20015",
frame: {
x: 4036,
y: 1431,
w: 22,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20016",
frame: {
x: 2470,
y: 1503,
w: 16,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20017",
frame: {
x: 2759,
y: 1509,
w: 11,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 14,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20018",
frame: {
x: 3092,
y: 1522,
w: 7,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorSteel20019",
frame: {
x: 4062,
y: 143,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorlabDoor0000",
frame: {
x: 3162,
y: 969,
w: 39,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0001",
frame: {
x: 3892,
y: 1064,
w: 35,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0002",
frame: {
x: 4005,
y: 1313,
w: 31,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0003",
frame: {
x: 3883,
y: 1426,
w: 26,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0004",
frame: {
x: 3135,
y: 1480,
w: 22,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0005",
frame: {
x: 2327,
y: 1503,
w: 18,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0006",
frame: {
x: 4080,
y: 362,
w: 13,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0007",
frame: {
x: 4057,
y: 1510,
w: 9,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0008",
frame: {
x: 4088,
y: 1430,
w: 5,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0010",
frame: {
x: 4003,
y: 497,
w: 43,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -28,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0011",
frame: {
x: 3852,
y: 879,
w: 38,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0012",
frame: {
x: 4059,
y: 436,
w: 34,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0013",
frame: {
x: 3886,
y: 1309,
w: 29,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0014",
frame: {
x: 4061,
y: 1430,
w: 24,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0015",
frame: {
x: 4069,
y: 1488,
w: 21,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 3,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0016",
frame: {
x: 2432,
y: 1503,
w: 16,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0017",
frame: {
x: 2731,
y: 1509,
w: 11,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0018",
frame: {
x: 4059,
y: 204,
w: 6,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor0019",
frame: {
x: 4091,
y: 3,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20000",
frame: {
x: 3853,
y: 938,
w: 40,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20001",
frame: {
x: 4049,
y: 1051,
w: 36,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20002",
frame: {
x: 3162,
y: 1290,
w: 32,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20003",
frame: {
x: 4061,
y: 1376,
w: 27,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20004",
frame: {
x: 2230,
y: 1503,
w: 22,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20005",
frame: {
x: 3197,
y: 1290,
w: 18,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20006",
frame: {
x: 2607,
y: 1509,
w: 13,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20007",
frame: {
x: 2826,
y: 1516,
w: 10,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20008",
frame: {
x: 4088,
y: 1051,
w: 5,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20010",
frame: {
x: 4049,
y: 497,
w: 44,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20011",
frame: {
x: 4049,
y: 615,
w: 39,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20012",
frame: {
x: 3162,
y: 1024,
w: 35,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20013",
frame: {
x: 3918,
y: 1309,
w: 30,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20014",
frame: {
x: 3825,
y: 1425,
w: 25,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20015",
frame: {
x: 2280,
y: 1503,
w: 21,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 3,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20016",
frame: {
x: 3816,
y: 1508,
w: 16,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20017",
frame: {
x: 3953,
y: 1509,
w: 11,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20018",
frame: {
x: 1903,
y: 1524,
w: 7,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorlabDoor20019",
frame: {
x: 4091,
y: 58,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0000",
frame: {
x: 3975,
y: 933,
w: 40,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0001",
frame: {
x: 3970,
y: 1046,
w: 36,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0002",
frame: {
x: 4061,
y: 937,
w: 32,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0003",
frame: {
x: 3853,
y: 1373,
w: 27,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0004",
frame: {
x: 2107,
y: 1503,
w: 22,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0005",
frame: {
x: 2348,
y: 1503,
w: 18,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0006",
frame: {
x: 2559,
y: 1509,
w: 13,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0007",
frame: {
x: 2787,
y: 1516,
w: 10,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0008",
frame: {
x: 3152,
y: 1535,
w: 5,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0010",
frame: {
x: 4012,
y: 204,
w: 44,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -28,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0011",
frame: {
x: 3958,
y: 832,
w: 39,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0012",
frame: {
x: 4022,
y: 992,
w: 35,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0013",
frame: {
x: 4045,
y: 1258,
w: 30,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0014",
frame: {
x: 3915,
y: 1421,
w: 25,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0015",
frame: {
x: 2182,
y: 1503,
w: 21,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 3,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0016",
frame: {
x: 2451,
y: 1503,
w: 16,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0017",
frame: {
x: 2745,
y: 1509,
w: 11,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0018",
frame: {
x: 3082,
y: 1522,
w: 7,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorpoliceDoor0019",
frame: {
x: 4091,
y: 113,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10000",
frame: {
x: 4018,
y: 937,
w: 40,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10001",
frame: {
x: 3853,
y: 1051,
w: 36,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10002",
frame: {
x: 3970,
y: 1265,
w: 32,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10003",
frame: {
x: 3949,
y: 1374,
w: 27,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10004",
frame: {
x: 2132,
y: 1503,
w: 22,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10005",
frame: {
x: 2369,
y: 1503,
w: 18,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10006",
frame: {
x: 2575,
y: 1509,
w: 13,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10007",
frame: {
x: 2813,
y: 1516,
w: 10,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10008",
frame: {
x: 2948,
y: 1539,
w: 5,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10010",
frame: {
x: 4012,
y: 436,
w: 44,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -28,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10011",
frame: {
x: 4045,
y: 878,
w: 39,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10012",
frame: {
x: 3892,
y: 1005,
w: 35,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10013",
frame: {
x: 3853,
y: 1259,
w: 30,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10014",
frame: {
x: 3797,
y: 1425,
w: 25,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10015",
frame: {
x: 2206,
y: 1503,
w: 21,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 3,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10016",
frame: {
x: 2489,
y: 1503,
w: 16,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10017",
frame: {
x: 2773,
y: 1509,
w: 11,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10018",
frame: {
x: 3102,
y: 1522,
w: 7,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor10019",
frame: {
x: 4091,
y: 168,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20000",
frame: {
x: 4018,
y: 937,
w: 40,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20001",
frame: {
x: 3853,
y: 1051,
w: 36,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20002",
frame: {
x: 3970,
y: 1265,
w: 32,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20003",
frame: {
x: 3949,
y: 1374,
w: 27,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20004",
frame: {
x: 2132,
y: 1503,
w: 22,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20005",
frame: {
x: 2369,
y: 1503,
w: 18,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20006",
frame: {
x: 2575,
y: 1509,
w: 13,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20007",
frame: {
x: 2813,
y: 1516,
w: 10,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20008",
frame: {
x: 2948,
y: 1539,
w: 5,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20010",
frame: {
x: 4012,
y: 436,
w: 44,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -28,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20011",
frame: {
x: 3934,
y: 891,
w: 38,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -27,
w: 51,
h: 66
},
sourceSize: {
w: 51,
h: 66
}
}, {
filename: "DoorwoodDoor20012",
frame: {
x: 3930,
y: 1098,
w: 33,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20013",
frame: {
x: 4004,
y: 1104,
w: 31,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5,
y: -27,
w: 52,
h: 66
},
sourceSize: {
w: 52,
h: 66
}
}, {
filename: "DoorwoodDoor20014",
frame: {
x: 3915,
y: 1421,
w: 25,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20015",
frame: {
x: 4069,
y: 1488,
w: 21,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 3,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20016",
frame: {
x: 3816,
y: 1508,
w: 16,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20017",
frame: {
x: 2773,
y: 1509,
w: 11,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20018",
frame: {
x: 3102,
y: 1522,
w: 7,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor20019",
frame: {
x: 4091,
y: 223,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 51,
h: 66
},
sourceSize: {
w: 51,
h: 66
}
}, {
filename: "DoorwoodDoor30000",
frame: {
x: 3938,
y: 988,
w: 39,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30001",
frame: {
x: 3162,
y: 1082,
w: 35,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30002",
frame: {
x: 3853,
y: 1318,
w: 30,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30003",
frame: {
x: 4031,
y: 1376,
w: 27,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30004",
frame: {
x: 2157,
y: 1503,
w: 22,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30005",
frame: {
x: 2390,
y: 1503,
w: 18,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30006",
frame: {
x: 2591,
y: 1509,
w: 13,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30007",
frame: {
x: 2839,
y: 1516,
w: 9,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30008",
frame: {
x: 2956,
y: 1539,
w: 5,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -25,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30009",
frame: {
x: 3212,
y: 969,
w: 3,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -32,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30010",
frame: {
x: 4003,
y: 558,
w: 43,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -28,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30011",
frame: {
x: 3934,
y: 891,
w: 38,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -27,
w: 51,
h: 66
},
sourceSize: {
w: 51,
h: 66
}
}, {
filename: "DoorwoodDoor30012",
frame: {
x: 4060,
y: 992,
w: 33,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30013",
frame: {
x: 4039,
y: 1317,
w: 28,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30014",
frame: {
x: 4009,
y: 1431,
w: 24,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -27,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30015",
frame: {
x: 4070,
y: 305,
w: 20,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30016",
frame: {
x: 3797,
y: 1508,
w: 16,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30017",
frame: {
x: 3922,
y: 1509,
w: 11,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30018",
frame: {
x: 4087,
y: 860,
w: 6,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "DoorwoodDoor30019",
frame: {
x: 4091,
y: 615,
w: 2,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23,
y: -26,
w: 50,
h: 66
},
sourceSize: {
w: 50,
h: 66
}
}, {
filename: "Effects0000",
frame: {
x: 2876,
y: 1551,
w: 10,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 10,
h: 10
},
sourceSize: {
w: 10,
h: 10
}
}, {
filename: "ElectricPanel0000",
frame: {
x: 4009,
y: 1163,
w: 26,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13,
y: -15,
w: 44,
h: 32
},
sourceSize: {
w: 44,
h: 32
}
}, {
filename: "ElectricPanel0001",
frame: {
x: 3984,
y: 1368,
w: 44,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14,
y: -16,
w: 44,
h: 32
},
sourceSize: {
w: 44,
h: 32
}
}, {
filename: "ElevatorBack0000",
frame: {
x: 4009,
y: 1051,
w: 37,
h: 50
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 37,
h: 50
},
sourceSize: {
w: 37,
h: 50
}
}, {
filename: "ElevatorDoorsAnim0000",
frame: {
x: 4038,
y: 1105,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0001",
frame: {
x: 3853,
y: 1106,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0002",
frame: {
x: 3162,
y: 1137,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0003",
frame: {
x: 3892,
y: 1156,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0004",
frame: {
x: 3931,
y: 1156,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0005",
frame: {
x: 4038,
y: 1156,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0006",
frame: {
x: 3853,
y: 1157,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0007",
frame: {
x: 3970,
y: 1163,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0008",
frame: {
x: 3162,
y: 1188,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0009",
frame: {
x: 3892,
y: 1207,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0010",
frame: {
x: 3931,
y: 1207,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0011",
frame: {
x: 4009,
y: 1207,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0012",
frame: {
x: 4048,
y: 1207,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0013",
frame: {
x: 3853,
y: 1208,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0014",
frame: {
x: 3970,
y: 1214,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0015",
frame: {
x: 3162,
y: 1239,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0016",
frame: {
x: 3892,
y: 1258,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0017",
frame: {
x: 3162,
y: 1137,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0018",
frame: {
x: 3931,
y: 1258,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "ElevatorDoorsAnim0019",
frame: {
x: 4038,
y: 1105,
w: 36,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 36,
h: 48
},
sourceSize: {
w: 36,
h: 48
}
}, {
filename: "Floor0000",
frame: {
x: 2535,
y: 1438,
w: 300,
h: 5
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -150,
y: -2.5,
w: 300,
h: 5
},
sourceSize: {
w: 300,
h: 5
}
}, {
filename: "GameExit0000",
frame: {
x: 4023,
y: 734,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0001",
frame: {
x: 3852,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0002",
frame: {
x: 3852,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0003",
frame: {
x: 3905,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0004",
frame: {
x: 3905,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0005",
frame: {
x: 4023,
y: 782,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0006",
frame: {
x: 4023,
y: 782,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0007",
frame: {
x: 4023,
y: 782,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0008",
frame: {
x: 4023,
y: 782,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0009",
frame: {
x: 3852,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0010",
frame: {
x: 3852,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0011",
frame: {
x: 3852,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0012",
frame: {
x: 3852,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0013",
frame: {
x: 3852,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0014",
frame: {
x: 4023,
y: 782,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0015",
frame: {
x: 4023,
y: 782,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0016",
frame: {
x: 3905,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0017",
frame: {
x: 3905,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0018",
frame: {
x: 3852,
y: 735,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameExit0019",
frame: {
x: 4023,
y: 734,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0000",
frame: {
x: 3905,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0001",
frame: {
x: 3958,
y: 784,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0002",
frame: {
x: 3958,
y: 784,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0003",
frame: {
x: 4011,
y: 830,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0004",
frame: {
x: 4011,
y: 830,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0005",
frame: {
x: 3852,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0006",
frame: {
x: 3852,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0007",
frame: {
x: 3852,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0008",
frame: {
x: 3852,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0009",
frame: {
x: 3905,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0010",
frame: {
x: 3905,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0011",
frame: {
x: 3905,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0012",
frame: {
x: 3905,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0013",
frame: {
x: 3905,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0014",
frame: {
x: 3852,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0015",
frame: {
x: 3852,
y: 831,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0016",
frame: {
x: 4011,
y: 830,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0017",
frame: {
x: 4011,
y: 830,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0018",
frame: {
x: 3958,
y: 784,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "GameTarget0019",
frame: {
x: 3905,
y: 783,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -23,
w: 50,
h: 45
},
sourceSize: {
w: 50,
h: 45
}
}, {
filename: "Laser0000",
frame: {
x: 4033,
y: 1510,
w: 9,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.5,
y: -30,
w: 9,
h: 60
},
sourceSize: {
w: 9,
h: 60
}
}, {
filename: "Laser0001",
frame: {
x: 4045,
y: 1510,
w: 9,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.5,
y: -30,
w: 9,
h: 60
},
sourceSize: {
w: 9,
h: 60
}
}, {
filename: "Laser0002",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.5,
y: 0,
w: 9,
h: 60
},
sourceSize: {
w: 9,
h: 60
}
}, {
filename: "Lattice0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0001",
frame: {
x: 4049,
y: 674,
w: 14,
h: 4
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0002",
frame: {
x: 3934,
y: 879,
w: 14,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0003",
frame: {
x: 3017,
y: 1545,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0004",
frame: {
x: 2061,
y: 1542,
w: 14,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0005",
frame: {
x: 1999,
y: 1524,
w: 14,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0006",
frame: {
x: 3992,
y: 1457,
w: 14,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0007",
frame: {
x: 2863,
y: 1516,
w: 14,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0008",
frame: {
x: 3975,
y: 891,
w: 14,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0009",
frame: {
x: 3984,
y: 1320,
w: 14,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0010",
frame: {
x: 2654,
y: 1509,
w: 14,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0011",
frame: {
x: 2525,
y: 1509,
w: 14,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0012",
frame: {
x: 3888,
y: 1508,
w: 14,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0013",
frame: {
x: 1256,
y: 1437,
w: 14,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0014",
frame: {
x: 4076,
y: 730,
w: 14,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -31,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0015",
frame: {
x: 4076,
y: 730,
w: 14,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -31,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0016",
frame: {
x: 1256,
y: 1437,
w: 14,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0017",
frame: {
x: 3888,
y: 1508,
w: 14,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0018",
frame: {
x: 2525,
y: 1509,
w: 14,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0019",
frame: {
x: 2654,
y: 1509,
w: 14,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0020",
frame: {
x: 3984,
y: 1320,
w: 14,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0021",
frame: {
x: 3975,
y: 891,
w: 14,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0022",
frame: {
x: 2863,
y: 1516,
w: 14,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0023",
frame: {
x: 3992,
y: 1457,
w: 14,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0024",
frame: {
x: 1999,
y: 1524,
w: 14,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0025",
frame: {
x: 2061,
y: 1542,
w: 14,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0026",
frame: {
x: 3017,
y: 1545,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0027",
frame: {
x: 3934,
y: 879,
w: 14,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0028",
frame: {
x: 4049,
y: 674,
w: 14,
h: 4
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice0029",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20001",
frame: {
x: 3913,
y: 938,
w: 14,
h: 4
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20002",
frame: {
x: 3896,
y: 938,
w: 14,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20003",
frame: {
x: 3034,
y: 1545,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20004",
frame: {
x: 2078,
y: 1542,
w: 14,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20005",
frame: {
x: 2016,
y: 1524,
w: 14,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20006",
frame: {
x: 3065,
y: 1522,
w: 14,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20007",
frame: {
x: 2880,
y: 1516,
w: 14,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20008",
frame: {
x: 3141,
y: 1438,
w: 14,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20009",
frame: {
x: 3936,
y: 1509,
w: 14,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20010",
frame: {
x: 2671,
y: 1509,
w: 14,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20011",
frame: {
x: 2542,
y: 1509,
w: 14,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20012",
frame: {
x: 3905,
y: 1508,
w: 14,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20013",
frame: {
x: 1256,
y: 1500,
w: 14,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20014",
frame: {
x: 4076,
y: 795,
w: 14,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -31,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20015",
frame: {
x: 4076,
y: 795,
w: 14,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -31,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20016",
frame: {
x: 1256,
y: 1500,
w: 14,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20017",
frame: {
x: 3905,
y: 1508,
w: 14,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20018",
frame: {
x: 2542,
y: 1509,
w: 14,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20019",
frame: {
x: 2671,
y: 1509,
w: 14,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20020",
frame: {
x: 3936,
y: 1509,
w: 14,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20021",
frame: {
x: 3141,
y: 1438,
w: 14,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20022",
frame: {
x: 2880,
y: 1516,
w: 14,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20023",
frame: {
x: 3065,
y: 1522,
w: 14,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20024",
frame: {
x: 2016,
y: 1524,
w: 14,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20025",
frame: {
x: 2078,
y: 1542,
w: 14,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20026",
frame: {
x: 3034,
y: 1545,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20027",
frame: {
x: 3896,
y: 938,
w: 14,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20028",
frame: {
x: 3913,
y: 938,
w: 14,
h: 4
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -33,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "Lattice20029",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 14,
h: 64
},
sourceSize: {
w: 14,
h: 64
}
}, {
filename: "LeftSideDoor0000",
frame: {
x: 2717,
y: 1509,
w: 11,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.8,
y: -23.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "LeftSideDoor0001",
frame: {
x: 4020,
y: 1510,
w: 10,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.8,
y: -23.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "LeftSideDoor0002",
frame: {
x: 2639,
y: 1509,
w: 12,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.8,
y: -22.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "LeftSideDoor0003",
frame: {
x: 3193,
y: 1344,
w: 22,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.8,
y: -27.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "LeftSideDoor0004",
frame: {
x: 3871,
y: 1508,
w: 14,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.8,
y: -22.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "LeftSideDoor0005",
frame: {
x: 3994,
y: 1510,
w: 10,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.8,
y: -23.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "LeftSideDoor0006",
frame: {
x: 3943,
y: 1429,
w: 24,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.8,
y: -22.8,
w: 24,
h: 61
},
sourceSize: {
w: 24,
h: 61
}
}, {
filename: "Level01Back0000",
frame: {
x: 3,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level01Front0000",
frame: {
x: 1273,
y: 1436,
w: 627,
h: 402
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.3,
y: 47.8,
w: 627,
h: 402
},
sourceSize: {
w: 627,
h: 402
}
}, {
filename: "Level02Back0000",
frame: {
x: 646,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level02Front0000",
frame: {
x: 630,
y: 1437,
w: 623,
h: 399
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.6,
y: 48.3,
w: 623,
h: 399
},
sourceSize: {
w: 623,
h: 399
}
}, {
filename: "Level03Back0000",
frame: {
x: 1289,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level03Front0000",
frame: {
x: 3,
y: 1437,
w: 624,
h: 400
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.6,
y: 47.8,
w: 624,
h: 400
},
sourceSize: {
w: 624,
h: 400
}
}, {
filename: "Level04Back0000",
frame: {
x: 1932,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level04Front0000",
frame: {
x: 3218,
y: 957,
w: 632,
h: 465
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 48.8,
w: 632,
h: 465
},
sourceSize: {
w: 632,
h: 465
}
}, {
filename: "Level05Back0000",
frame: {
x: 2575,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level05Front0000",
frame: {
x: 3,
y: 969,
w: 632,
h: 465
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 1.5,
y: 48.8,
w: 632,
h: 465
},
sourceSize: {
w: 632,
h: 465
}
}, {
filename: "Level06Back0000",
frame: {
x: 3218,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level06Front0000",
frame: {
x: 3218,
y: 486,
w: 631,
h: 468
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 48,
w: 631,
h: 468
},
sourceSize: {
w: 631,
h: 468
}
}, {
filename: "Level07Back0000",
frame: {
x: 3,
y: 486,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level07Front0000",
frame: {
x: 2535,
y: 969,
w: 624,
h: 466
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: 48,
w: 624,
h: 466
},
sourceSize: {
w: 624,
h: 466
}
}, {
filename: "Level08Back0000",
frame: {
x: 646,
y: 486,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level08Front0000",
frame: {
x: 1908,
y: 969,
w: 624,
h: 468
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: 49,
w: 624,
h: 468
},
sourceSize: {
w: 624,
h: 468
}
}, {
filename: "Level09Back0000",
frame: {
x: 1289,
y: 486,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level09Front0000",
frame: {
x: 638,
y: 969,
w: 632,
h: 465
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 48,
w: 632,
h: 465
},
sourceSize: {
w: 632,
h: 465
}
}, {
filename: "Level10Back0000",
frame: {
x: 1932,
y: 486,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level10Front0000",
frame: {
x: 3162,
y: 1425,
w: 632,
h: 402
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: .4,
y: 113.1,
w: 632,
h: 402
},
sourceSize: {
w: 632,
h: 402
}
}, {
filename: "Level11Back0000",
frame: {
x: 2575,
y: 486,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 40,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "Level11Front0000",
frame: {
x: 1273,
y: 969,
w: 632,
h: 464
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 49,
w: 632,
h: 464
},
sourceSize: {
w: 632,
h: 464
}
}, {
filename: "Level9Box0000",
frame: {
x: 3970,
y: 682,
w: 101,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 115,
h: 50
},
sourceSize: {
w: 115,
h: 50
}
}, {
filename: "Level9Box0001",
frame: {
x: 3852,
y: 682,
w: 115,
h: 50
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8,
y: -1,
w: 115,
h: 50
},
sourceSize: {
w: 115,
h: 50
}
}, {
filename: "Message0000",
frame: {
x: 2897,
y: 1542,
w: 15,
h: 16
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -8,
w: 15,
h: 16
},
sourceSize: {
w: 15,
h: 16
}
}, {
filename: "MoneyBonus0000",
frame: {
x: 2996,
y: 1522,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -10,
w: 20,
h: 20
},
sourceSize: {
w: 20,
h: 20
}
}, {
filename: "Padlock0000",
frame: {
x: 2919,
y: 1519,
w: 18,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -12,
w: 19,
h: 24
},
sourceSize: {
w: 19,
h: 24
}
}, {
filename: "Padlock0001",
frame: {
x: 1963,
y: 1524,
w: 15,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7.5,
y: -11,
w: 19,
h: 24
},
sourceSize: {
w: 19,
h: 24
}
}, {
filename: "Padlock0002",
frame: {
x: 4077,
y: 1168,
w: 16,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.5,
y: -11,
w: 19,
h: 24
},
sourceSize: {
w: 19,
h: 24
}
}, {
filename: "Padlock0003",
frame: {
x: 3970,
y: 1457,
w: 19,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -12,
w: 19,
h: 24
},
sourceSize: {
w: 19,
h: 24
}
}, {
filename: "Padlock0004",
frame: {
x: 1981,
y: 1524,
w: 15,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7.5,
y: -11,
w: 19,
h: 24
},
sourceSize: {
w: 19,
h: 24
}
}, {
filename: "Padlock0005",
frame: {
x: 3112,
y: 1522,
w: 16,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.5,
y: -11,
w: 19,
h: 24
},
sourceSize: {
w: 19,
h: 24
}
}, {
filename: "Poster0000",
frame: {
x: 4076,
y: 674,
w: 17,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.5,
y: -26.5,
w: 17,
h: 53
},
sourceSize: {
w: 17,
h: 53
}
}, {
filename: "Poster0001",
frame: {
x: 2688,
y: 1509,
w: 12,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3.5,
y: -26.5,
w: 17,
h: 53
},
sourceSize: {
w: 17,
h: 53
}
}, {
filename: "PrisonGift0000",
frame: {
x: 4009,
y: 1403,
w: 19,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -12.1,
w: 19,
h: 25
},
sourceSize: {
w: 19,
h: 25
}
}, {
filename: "ProgressBarSkill0000",
frame: {
x: 3005,
y: 1438,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0001",
frame: {
x: 3005,
y: 1438,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0002",
frame: {
x: 3005,
y: 1438,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0003",
frame: {
x: 3073,
y: 1438,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0004",
frame: {
x: 3073,
y: 1438,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0005",
frame: {
x: 1903,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0006",
frame: {
x: 1903,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0007",
frame: {
x: 1971,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0008",
frame: {
x: 2039,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0009",
frame: {
x: 2039,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0010",
frame: {
x: 2107,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0011",
frame: {
x: 2107,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0012",
frame: {
x: 2175,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0013",
frame: {
x: 2243,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0014",
frame: {
x: 2243,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0015",
frame: {
x: 2311,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0016",
frame: {
x: 2311,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0017",
frame: {
x: 2379,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0018",
frame: {
x: 2379,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0019",
frame: {
x: 2447,
y: 1440,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0020",
frame: {
x: 2515,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0021",
frame: {
x: 2515,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0022",
frame: {
x: 2583,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0023",
frame: {
x: 2583,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0024",
frame: {
x: 2651,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0025",
frame: {
x: 2651,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0026",
frame: {
x: 2719,
y: 1446,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0027",
frame: {
x: 3005,
y: 1459,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0028",
frame: {
x: 3005,
y: 1459,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0029",
frame: {
x: 3073,
y: 1459,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0030",
frame: {
x: 3073,
y: 1459,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0031",
frame: {
x: 1903,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0032",
frame: {
x: 1971,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0033",
frame: {
x: 1971,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0034",
frame: {
x: 2039,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0035",
frame: {
x: 2039,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0036",
frame: {
x: 2107,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0037",
frame: {
x: 2107,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0038",
frame: {
x: 2175,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0039",
frame: {
x: 2243,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0040",
frame: {
x: 2243,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0041",
frame: {
x: 2311,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0042",
frame: {
x: 2311,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0043",
frame: {
x: 2379,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0044",
frame: {
x: 2447,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0045",
frame: {
x: 2447,
y: 1461,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0046",
frame: {
x: 2515,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0047",
frame: {
x: 2515,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0048",
frame: {
x: 2583,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0049",
frame: {
x: 2583,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0050",
frame: {
x: 2651,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0051",
frame: {
x: 2719,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0052",
frame: {
x: 2719,
y: 1467,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0053",
frame: {
x: 2931,
y: 1477,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0054",
frame: {
x: 2931,
y: 1477,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0055",
frame: {
x: 2999,
y: 1480,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0056",
frame: {
x: 3067,
y: 1480,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0057",
frame: {
x: 3067,
y: 1480,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0058",
frame: {
x: 1903,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0059",
frame: {
x: 1903,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0060",
frame: {
x: 1971,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0061",
frame: {
x: 1971,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0062",
frame: {
x: 2039,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0063",
frame: {
x: 2107,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0064",
frame: {
x: 2107,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0065",
frame: {
x: 2175,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0066",
frame: {
x: 2175,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0067",
frame: {
x: 2243,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0068",
frame: {
x: 2243,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0069",
frame: {
x: 2311,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0070",
frame: {
x: 2379,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0071",
frame: {
x: 2379,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0072",
frame: {
x: 2447,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0073",
frame: {
x: 2447,
y: 1482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0074",
frame: {
x: 3797,
y: 1487,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0075",
frame: {
x: 3865,
y: 1487,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0076",
frame: {
x: 3865,
y: 1487,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0077",
frame: {
x: 2515,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0078",
frame: {
x: 2515,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0079",
frame: {
x: 2583,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0080",
frame: {
x: 2583,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0081",
frame: {
x: 2651,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0082",
frame: {
x: 2719,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0083",
frame: {
x: 2719,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0084",
frame: {
x: 3933,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0085",
frame: {
x: 3933,
y: 1488,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0086",
frame: {
x: 4001,
y: 1489,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0087",
frame: {
x: 2787,
y: 1495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0088",
frame: {
x: 2787,
y: 1495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0089",
frame: {
x: 2855,
y: 1495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0090",
frame: {
x: 2855,
y: 1495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0091",
frame: {
x: 2923,
y: 1498,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0092",
frame: {
x: 2923,
y: 1498,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0093",
frame: {
x: 2991,
y: 1501,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0094",
frame: {
x: 3059,
y: 1501,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0095",
frame: {
x: 3059,
y: 1501,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0096",
frame: {
x: 1903,
y: 1503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0097",
frame: {
x: 1903,
y: 1503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0098",
frame: {
x: 1971,
y: 1503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "ProgressBarSkill0099",
frame: {
x: 2039,
y: 1503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "RightSideDoor0000",
frame: {
x: 2703,
y: 1509,
w: 11,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.3,
y: -23.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "RightSideDoor0001",
frame: {
x: 4007,
y: 1510,
w: 10,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.3,
y: -23.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "RightSideDoor0002",
frame: {
x: 4078,
y: 1258,
w: 12,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.3,
y: -22.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "RightSideDoor0003",
frame: {
x: 4077,
y: 1105,
w: 16,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.3,
y: -28.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "RightSideDoor0004",
frame: {
x: 3854,
y: 1508,
w: 14,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.3,
y: -22.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "RightSideDoor0005",
frame: {
x: 3981,
y: 1509,
w: 10,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.3,
y: -24.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "RightSideDoor0006",
frame: {
x: 3853,
y: 1428,
w: 24,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.3,
y: -22.3,
w: 25,
h: 62
},
sourceSize: {
w: 25,
h: 62
}
}, {
filename: "Shadow0000",
frame: {
x: 2787,
y: 1446,
w: 20,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -20,
w: 20,
h: 40
},
sourceSize: {
w: 20,
h: 40
}
}, {
filename: "Stair0000",
frame: {
x: 4068,
y: 3,
w: 20,
h: 299
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -150,
w: 20,
h: 299
},
sourceSize: {
w: 20,
h: 299
}
}, {
filename: "Terminal0000",
frame: {
x: 2996,
y: 1522,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -10,
w: 20,
h: 20
},
sourceSize: {
w: 20,
h: 20
}
}, {
filename: "TipInGame0000",
frame: {
x: 3019,
y: 1522,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -10,
w: 20,
h: 20
},
sourceSize: {
w: 20,
h: 20
}
}, {
filename: "Turret0000",
frame: {
x: 2915,
y: 1546,
w: 14,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0001",
frame: {
x: 4069,
y: 1545,
w: 14,
h: 11
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0002",
frame: {
x: 2810,
y: 1479,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0003",
frame: {
x: 2983,
y: 1545,
w: 14,
h: 14
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0004",
frame: {
x: 3201,
y: 1271,
w: 14,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0005",
frame: {
x: 1913,
y: 1543,
w: 15,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0006",
frame: {
x: 2964,
y: 1542,
w: 16,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0007",
frame: {
x: 2079,
y: 1524,
w: 18,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0008",
frame: {
x: 2057,
y: 1524,
w: 19,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0009",
frame: {
x: 2033,
y: 1524,
w: 21,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0010",
frame: {
x: 1913,
y: 1524,
w: 22,
h: 16
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0011",
frame: {
x: 2865,
y: 1476,
w: 24,
h: 16
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0012",
frame: {
x: 2940,
y: 1519,
w: 25,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0013",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0014",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0015",
frame: {
x: 4012,
y: 265,
w: 47,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -39.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0016",
frame: {
x: 4012,
y: 265,
w: 47,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -39.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0017",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0018",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0019",
frame: {
x: 4012,
y: 265,
w: 47,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -39.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0020",
frame: {
x: 4012,
y: 265,
w: 47,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -39.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0021",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0022",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0023",
frame: {
x: 3162,
y: 1401,
w: 27,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0024",
frame: {
x: 2968,
y: 1522,
w: 25,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0025",
frame: {
x: 3192,
y: 1406,
w: 23,
h: 16
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0026",
frame: {
x: 1938,
y: 1524,
w: 22,
h: 16
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0027",
frame: {
x: 4064,
y: 860,
w: 20,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -12.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0028",
frame: {
x: 3131,
y: 1535,
w: 18,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0029",
frame: {
x: 2033,
y: 1542,
w: 17,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0030",
frame: {
x: 1931,
y: 1543,
w: 15,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0031",
frame: {
x: 3201,
y: 1271,
w: 14,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0032",
frame: {
x: 3201,
y: 1271,
w: 14,
h: 15
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0033",
frame: {
x: 2983,
y: 1545,
w: 14,
h: 14
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0034",
frame: {
x: 3e3,
y: 1545,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0035",
frame: {
x: 2810,
y: 1479,
w: 14,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0036",
frame: {
x: 4069,
y: 1545,
w: 14,
h: 11
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0037",
frame: {
x: 2915,
y: 1546,
w: 14,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Turret0038",
frame: {
x: 2915,
y: 1546,
w: 14,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.4,
y: -6.9,
w: 47,
h: 36
},
sourceSize: {
w: 47,
h: 36
}
}, {
filename: "Wall0000",
frame: {
x: 3204,
y: 969,
w: 5,
h: 299
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.5,
y: -150,
w: 5,
h: 299
},
sourceSize: {
w: 5,
h: 299
}
}, {
filename: "WaterInfect0000",
frame: {
x: 3861,
y: 143,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0001",
frame: {
x: 3861,
y: 192,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0002",
frame: {
x: 3861,
y: 241,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0003",
frame: {
x: 3861,
y: 290,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0004",
frame: {
x: 3861,
y: 339,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0005",
frame: {
x: 3861,
y: 388,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0006",
frame: {
x: 3861,
y: 437,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0007",
frame: {
x: 3852,
y: 486,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0008",
frame: {
x: 3852,
y: 535,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0009",
frame: {
x: 3852,
y: 584,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "WaterInfect0010",
frame: {
x: 3852,
y: 633,
w: 148,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: 0,
w: 148,
h: 46
},
sourceSize: {
w: 148,
h: 46
}
}, {
filename: "ZombieBack0000",
frame: {
x: 3970,
y: 734,
w: 50,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 50,
h: 47
},
sourceSize: {
w: 50,
h: 47
}
}, {
filename: "bombColon0000",
frame: {
x: 3958,
y: 735,
w: 8,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: .3,
y: 0,
w: 8,
h: 8
},
sourceSize: {
w: 8,
h: 8
}
}, {
filename: "ctxtBomgTimerDigs0000",
frame: {
x: 4080,
y: 417,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0001",
frame: {
x: 1949,
y: 1543,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0002",
frame: {
x: 3051,
y: 1545,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0003",
frame: {
x: 3112,
y: 1548,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0004",
frame: {
x: 1962,
y: 1550,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0005",
frame: {
x: 1975,
y: 1550,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0006",
frame: {
x: 1988,
y: 1550,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0007",
frame: {
x: 2001,
y: 1550,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0008",
frame: {
x: 2014,
y: 1550,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0009",
frame: {
x: 2863,
y: 1551,
w: 10,
h: 13
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2,
y: 3,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}, {
filename: "ctxtBomgTimerDigs0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 10,
h: 13
},
sourceSize: {
w: 10,
h: 13
}
}],
meta: {
app: "Adobe Flash Professional",
version: "13.1.0.226",
image: "Levels.png",
format: "RGBA8888",
size: {
w: 4096,
h: 4096
},
scale: "1"
}
},
e
}()
, LevelsLayouts = function() {
function e() {}
return e.data = [{
name: "bombTimer",
children: [{
mc: "ctxtBomgTimerDigs",
name: "m2",
x: -15,
y: -8
}, {
mc: "ctxtBomgTimerDigs",
name: "m1",
x: -24,
y: -8
}, {
mc: "bombColon",
name: "",
x: -6,
y: -2
}, {
mc: "ctxtBomgTimerDigs",
name: "s2",
x: 5,
y: -8
}, {
mc: "ctxtBomgTimerDigs",
name: "s1",
x: -4,
y: -8
}]
}, {
name: "Door",
children: [{
mc: "DoorSensor",
name: "sensor",
x: 0,
y: 0,
scaleX: .4542694091796875,
scaleY: .7142791748046875
}]
}, {
name: "Elevator",
children: [{
mc: "ElevatorBack",
name: "back",
x: -18,
y: -24
}, {
mc: "DoorSensor",
name: "sensor",
x: 0,
y: 0,
scaleX: .4542694091796875,
scaleY: .7142791748046875
}, {
mc: "BobInElevatorSmall",
name: "bob",
x: 0,
y: 23,
scaleX: .2835693359375,
scaleY: .2834930419921875
}, {
mc: "ElevatorDoorsAnim",
name: "door",
x: -18,
y: -24
}]
}, {
name: "Level01",
children: [{
mc: "Level01Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 19,
y: 276,
scaleY: 1.066986083984375
}, {
mc: "Wall",
name: "",
x: 623,
y: 349,
scaleY: .6668701171875
}, {
mc: "Wall",
name: "",
x: 542,
y: 76,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 95,
y: 77,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 213,
y: 347,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 243,
y: 347,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 623,
y: 145,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 640,
y: 209,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 326,
y: 438,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 171,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 373,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 304,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 237,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 120,
y: 322,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 275,
y: 390,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 525,
y: 388,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 179,
y: 143,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 179,
y: 76,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 520,
y: 142,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 59,
y: 278,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 59,
y: 210,
parameters: {
idGroup: 3,
Open: !1,
DoorType: "Steel1",
DoorName: "d4"
}
}, {
mc: "Door",
name: "",
x: 519,
y: 209,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "SideDoor",
name: "",
x: 397,
y: 207,
parameters: {
Open: !1,
DoorType: "Wood1",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 400,
y: 216,
parameters: {
DoorName: "ds1",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "Codelock",
name: "",
x: 94,
y: 208,
parameters: {
Code: "1234",
DoorName: "d4",
Locked: !0
}
}, {
mc: "Elevator",
name: "",
x: 581,
y: 278,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 581,
y: 345,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Message",
name: "",
x: 160,
y: 204,
parameters: {
LinkTo: "codeLevel",
DoorName: "d4"
}
}, {
mc: "ElectricPanel",
name: "",
x: 170,
y: 339,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "Lattice",
name: "",
x: 283,
y: 279,
parameters: {
LatticeName: "l",
Locked: !1
}
}, {
mc: "SideDoor",
name: "",
x: 482,
y: 345,
parameters: {
Open: !1,
DoorType: "Wood1",
DoorName: "ds2"
}
}, {
mc: "Padlock",
name: "",
x: 452,
y: 349,
parameters: {
DoorName: "ds2",
PadlockType: "GrayLeft",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 201,
y: 410,
parameters: {
Open: !1,
DoorType: "Wood1",
DoorName: "ds3"
}
}, {
mc: "Padlock",
name: "",
x: 204,
y: 419,
parameters: {
DoorName: "ds3",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "Message",
name: "",
x: 217,
y: 140,
parameters: {
LinkTo: "aboutCameras",
DoorName: "d"
}
}, {
mc: "Message",
name: "",
x: 90,
y: 275,
parameters: {
LinkTo: "aboutLaser",
DoorName: "d"
}
}, {
mc: "Message",
name: "",
x: 504,
y: 340,
parameters: {
LinkTo: "aboutRobot",
DoorName: "d"
}
}, {
mc: "MoneyBonus",
name: "",
x: 131,
y: 81,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 231,
y: 88,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 379,
y: 91,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 515,
y: 83,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 44,
y: 154,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 133,
y: 148,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 310,
y: 154,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 583,
y: 154,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 455,
y: 157,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 193,
y: 223,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 457,
y: 215,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 256,
y: 290,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 327,
y: 282,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 428,
y: 291,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 502,
y: 282,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 46,
y: 350,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 414,
y: 349,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 318,
y: 350,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 561,
y: 407,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 89,
y: 417,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 48,
y: 409,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "TipInGame",
name: "",
x: 379,
y: 88,
parameters: {
Used: !1,
TipFrame: 2
}
}, {
mc: "TipInGame",
name: "",
x: 179,
y: 88,
parameters: {
Used: !1,
TipFrame: 3
}
}, {
mc: "TipInGame",
name: "",
x: 410,
y: 217,
parameters: {
Used: !1,
TipFrame: 5
}
}, {
mc: "TipInGame",
name: "",
x: 375,
y: 344,
parameters: {
Used: !1,
TipFrame: 6
}
}, {
mc: "TipInGame",
name: "",
x: 217,
y: 140,
parameters: {
Used: !1,
TipFrame: 4
}
}, {
mc: "TipInGame",
name: "",
x: 470,
y: 84,
parameters: {
Used: !1,
TipFrame: 1
}
}, {
mc: "Laser",
name: "",
x: 170,
y: 279,
parameters: {
LaserName: "l1",
Type: 1
}
}, {
mc: "Robot",
name: "chobo",
x: 220,
y: 417,
scaleX: .79998779296875,
scaleY: .79998779296875,
parameters: {
Distance: 380,
Direction: "r",
StopMoveWaitTime: 1e3
}
}, {
mc: "VideoCamera",
name: "",
x: 427,
y: 123,
parameters: {
IdleTimer: 2e3,
Direction: "left",
ViewZoneLeft: 167,
ViewZoneRight: 190
}
}, {
mc: "GameTarget",
name: "",
x: 375,
y: 345,
scaleX: 1.39996337890625,
scaleY: 1.39996337890625
}, {
mc: "Shadow",
name: "",
x: 28,
y: 285,
scaleX: 1.49700927734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 25,
y: 149,
scaleX: 1.49700927734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 402,
y: 286,
scaleX: 1.99932861328125,
scaleY: .75
}, {
mc: "GameExit",
name: "",
x: 621,
y: 214,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Shadow",
name: "",
x: 203,
y: 421,
scaleX: 1.49700927734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 309,
y: 151,
scaleX: 5.9979095458984375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 319,
y: 85,
scaleX: 1.49700927734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 613,
y: 153,
scaleX: 1.49700927734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 121,
y: 85,
scaleX: 3.5013427734375,
scaleY: .75
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 470,
y: 86,
scaleX: .75,
scaleY: .75
}, {
mc: "Level01Front",
name: "",
x: 0,
y: -1
}, {
mc: "ProgressBarSkill",
name: "",
x: 674,
y: 177,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level02",
children: [{
mc: "Level02Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 18,
y: 174,
scaleY: .900299072265625
}, {
mc: "Wall",
name: "",
x: 622,
y: 245,
scaleY: 1.333740234375
}, {
mc: "Wall",
name: "",
x: 343,
y: 78,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 0,
y: 347,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 311,
y: 77,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 18,
y: 414,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 326,
y: 440,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 171,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 325,
y: 372,
scaleX: 2.166595458984375
}, {
mc: "Floor",
name: "",
x: 326,
y: 304,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 237,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 161,
y: 390,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 586,
y: 120,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 418,
y: 277,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 418,
y: 209,
parameters: {
idGroup: 1,
Open: !1,
DoorType: "woodDoor3",
DoorName: "d3"
}
}, {
mc: "Elevator",
name: "",
x: 580,
y: 210,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 581,
y: 345,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Door",
name: "",
x: 58,
y: 209,
parameters: {
idGroup: 2,
Open: !1,
DoorType: "woodDoor1",
DoorName: "d2"
}
}, {
mc: "Door",
name: "",
x: 58,
y: 141,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 271,
y: 141,
parameters: {
idGroup: 3,
Open: !1,
DoorType: "Steel1",
DoorName: "d4"
}
}, {
mc: "Door",
name: "",
x: 271,
y: 74,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 73,
y: 212,
parameters: {
DoorName: "d2",
PadlockType: "GrayFront",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "Padlock",
name: "",
x: 434,
y: 211,
parameters: {
DoorName: "d3",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "3"
}
}, {
mc: "Codelock",
name: "",
x: 234,
y: 138,
parameters: {
Code: "4512",
DoorName: "d4",
Locked: !0
}
}, {
mc: "ElectricPanel",
name: "",
x: 345,
y: 406,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "Message",
name: "",
x: 366,
y: 74,
parameters: {
LinkTo: "aboutBob",
DoorName: "d4"
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 52,
y: 82,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 208,
y: 81,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 70,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 427,
y: 86,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 507,
y: 83,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 453,
y: 147,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 507,
y: 157,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 352,
y: 210,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 520,
y: 220,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 319,
y: 285,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 36,
y: 290,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 606,
y: 282,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 511,
y: 349,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 237,
y: 350,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 596,
y: 417,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 534,
y: 417,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 49,
y: 415,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 204,
y: 283,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 118,
y: 278,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 221,
y: 212,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "Oldman",
name: "",
x: 595,
y: 420,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 290,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Laser",
name: "",
x: 345,
y: 346,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "Oldman",
name: "",
x: 190,
y: 217,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 245,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Lattice2",
name: "",
x: 405,
y: 346,
parameters: {
LatticeName: "l",
Locked: !1
}
}, {
mc: "GameTarget",
name: "",
x: 156,
y: 82,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 19,
y: 356,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 30,
y: 354,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 300,
y: 324,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 200,
ViewZoneRight: 150
}
}, {
mc: "VideoCamera",
name: "",
x: 224,
y: 124,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 195,
ViewZoneRight: 85
}
}, {
mc: "Level02Front",
name: "",
x: 0,
y: 0
}, {
mc: "Shadow",
name: "",
x: 279,
y: 420,
scaleX: 3.4988250732421875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 410,
y: 352,
scaleX: 5.00189208984375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 264,
y: 287,
scaleX: 2.50341796875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 24,
y: 421,
scaleX: 1.5030517578125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 558,
y: 416,
scaleX: 6.504730224609375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 170,
y: 217,
scaleX: 2.0007171630859375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 455,
y: 217,
scaleX: 2.0007171630859375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 505,
y: 151,
scaleX: 3.503753662109375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 348,
y: 84,
scaleX: 1.5030517578125,
scaleY: .75
}, {
mc: "ProgressBarSkill",
name: "",
x: 677,
y: 201,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level03",
children: [{
mc: "Level03Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 624,
y: 278,
scaleY: 1.1336669921875
}, {
mc: "Wall",
name: "",
x: 583,
y: 78,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 17,
y: 220,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 108,
y: 146,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 18,
y: 414,
scaleY: .2000579833984375
}, {
mc: "Wall",
name: "",
x: 14,
y: 82,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 0,
y: 312,
scaleY: .400146484375
}, {
mc: "Floor",
name: "",
x: 326,
y: 438,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 372,
y: 171,
scaleX: 1.83331298828125
}, {
mc: "Floor",
name: "",
x: 326,
y: 372,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 304,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 237,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 47,
y: 149,
scaleY: .466796875
}, {
mc: "Stair",
name: "",
x: 547,
y: 121,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 310,
y: 277,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 310,
y: 344,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 584,
y: 344,
parameters: {
idGroup: 2,
Open: !1,
DoorType: "Steel1",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 584,
y: 411,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 405,
y: 210,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 405,
y: 277,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 461,
y: 142,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 461,
y: 209,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Codelock",
name: "",
x: 550,
y: 341,
parameters: {
Code: "4512",
DoorName: "d1",
Locked: !0
}
}, {
mc: "SideDoor",
name: "",
x: 373,
y: 409,
parameters: {
Open: !1,
DoorType: "Wood2",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 378,
y: 413,
parameters: {
DoorName: "ds1",
PadlockType: "GoldRight",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "ElectricPanel",
name: "",
x: 355,
y: 340,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "SideDoor",
name: "",
x: 340,
y: 208,
parameters: {
Open: !1,
DoorType: "Wood2",
DoorName: "ds2"
}
}, {
mc: "Padlock",
name: "",
x: 311,
y: 212,
parameters: {
DoorName: "ds2",
PadlockType: "GrayLeft",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 340,
y: 141,
parameters: {
Open: !1,
DoorType: "Wood2",
DoorName: "ds3"
}
}, {
mc: "Padlock",
name: "",
x: 344,
y: 144,
parameters: {
DoorName: "ds3",
PadlockType: "GoldRight",
PadlockLevel: "2",
HoleWidth: "3"
}
}, {
mc: "Message",
name: "",
x: 261,
y: 201,
parameters: {
LinkTo: "aboutBob",
DoorName: "d1"
}
}, {
mc: "SideDoor",
name: "",
x: 104,
y: 208,
parameters: {
Open: !1,
DoorType: "Wood3",
DoorName: "ds4"
}
}, {
mc: "Padlock",
name: "",
x: 76,
y: 212,
parameters: {
DoorName: "ds4",
PadlockType: "GrayLeft",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 166,
y: 275,
parameters: {
Open: !1,
DoorType: "Wood3",
DoorName: "ds5"
}
}, {
mc: "Padlock",
name: "",
x: 171,
y: 278,
parameters: {
DoorName: "ds5",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "Message",
name: "",
x: 525,
y: 341,
parameters: {
LinkTo: "aboutDogs",
DoorName: "d"
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 178,
y: 352,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 409,
y: 352,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 456,
y: 352,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 305,
y: 410,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 62,
y: 414,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 65,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 108,
y: 287,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 359,
y: 289,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 299,
y: 80,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 502,
y: 81,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 196,
y: 152,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 90,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 283,
y: 147,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 601,
y: 148,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 192,
y: 223,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 501,
y: 221,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 590,
y: 221,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 564,
y: 289,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 427,
y: 414,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "TipInGame",
name: "",
x: 489,
y: 148,
parameters: {
Used: !1,
TipFrame: 7
}
}, {
mc: "Dog",
name: "",
x: 400,
y: 422,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 200,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Laser",
name: "",
x: 338,
y: 280,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "Oldman",
name: "",
x: 360,
y: 219,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 240,
Direction: "r",
StopMoveWaitTime: 1500
}
}, {
mc: "Oldman",
name: "",
x: 130,
y: 85,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 420,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "GameTarget",
name: "",
x: 122,
y: 415,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 20,
y: 280,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 37,
y: 354,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 490,
y: 121,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 135,
ViewZoneRight: 115
}
}, {
mc: "Level03Front",
name: "",
x: 0,
y: 0
}, {
mc: "ProgressBarSkill",
name: "",
x: 686,
y: 207,
scaleX: .75,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 214,
y: 353,
scaleX: 3.753875732421875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 348,
y: 420,
scaleX: 2.49676513671875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 109,
y: 220,
scaleX: 1.497039794921875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 353,
y: 148,
scaleX: 2.7491455078125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 535,
y: 85,
scaleX: 3.9987640380859375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 168,
y: 85,
scaleX: 6.997650146484375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 593,
y: 148,
scaleX: 2.249267578125,
scaleY: .75
}]
}, {
name: "Level04",
children: [{
mc: "Level04Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 623,
y: 278,
scaleY: 1.5337982177734375
}, {
mc: "Wall",
name: "",
x: 483,
y: 280,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 18,
y: 277,
scaleY: 1.06695556640625
}, {
mc: "Wall",
name: "",
x: 454,
y: 281,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 483,
y: 415,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 454,
y: 414,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 278,
y: 211,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 248,
y: 212,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 1,
y: 76,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 1,
y: 482,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 326,
y: 438,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 373,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 306,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 237,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 506,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 170,
scaleX: 2.1666259765625
}, {
mc: "Door",
name: "",
x: 183,
y: 479,
parameters: {
idGroup: 1,
Open: !1,
DoorType: "woodDoor1",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 183,
y: 411,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 198,
y: 482,
parameters: {
DoorName: "d1",
PadlockType: "GrayFront",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "Door",
name: "",
x: 584,
y: 479,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 584,
y: 411,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 526,
y: 411,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 526,
y: 343,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "SideDoor",
name: "",
x: 275,
y: 341,
parameters: {
Open: !1,
DoorType: "Wood2",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 282,
y: 350,
parameters: {
DoorName: "ds1",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 526,
y: 277,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 526,
y: 208,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 585,
y: 209,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 585,
y: 142,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 526,
y: 140,
parameters: {
idGroup: 6,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 526,
y: 74,
parameters: {
idGroup: 6,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 405,
y: 343,
parameters: {
idGroup: 7,
Open: !1,
DoorType: "woodDoor1",
DoorName: "d2"
}
}, {
mc: "Door",
name: "",
x: 405,
y: 276,
parameters: {
idGroup: 7,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 57,
y: 209,
parameters: {
idGroup: 8,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 57,
y: 142,
parameters: {
idGroup: 8,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Elevator",
name: "",
x: 406,
y: 210,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 405,
y: 480,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !1,
DoorName: "el1"
}
}, {
mc: "Codelock",
name: "",
x: 372,
y: 482,
parameters: {
Code: "1234",
DoorName: "el1",
Locked: !0
}
}, {
mc: "Padlock",
name: "",
x: 422,
y: 346,
parameters: {
DoorName: "d2",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "ElectricPanel",
name: "",
x: 310,
y: 405,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "Computer",
name: "",
x: 62,
y: 340,
parameters: {
DoorName: "el1",
Locked: !0,
tempField: ""
}
}, {
mc: "Message",
name: "",
x: 369,
y: 341,
parameters: {
LinkTo: "aboutAmbal",
DoorName: "d"
}
}, {
mc: "Message",
name: "",
x: 174,
y: 340,
parameters: {
LinkTo: "aboutCompCode2",
DoorName: "d"
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 224,
y: 422,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 329,
y: 490,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 43,
y: 417,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 432,
y: 425,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 532,
y: 478,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 578,
y: 351,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 217,
y: 351,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 582,
y: 282,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 581,
y: 72,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 401,
y: 82,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 164,
y: 148,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 354,
y: 148,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 306,
y: 220,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 137,
y: 220,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 100,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 51,
y: 280,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 104,
y: 279,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 199,
y: 282,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 356,
y: 287,
scaleX: .998748779296875,
scaleY: 1.00628662109375,
parameters: {
Amount: 55,
TakeIt: !1
}
}, {
mc: "Oldman",
name: "",
x: 160,
y: 488,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 270,
Direction: "r",
StopMoveWaitTime: 1e3
}
}, {
mc: "Captive",
name: "",
x: 190,
y: 189
}, {
mc: "Ambal",
name: "",
x: 430,
y: 285,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 390,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Laser",
name: "",
x: 315,
y: 347,
parameters: {
LaserName: "l1",
Type: 1
}
}, {
mc: "GameTarget",
name: "",
x: 205,
y: 215,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 89,
y: 88,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 87,
y: 489,
scaleX: .75,
scaleY: .75
}, {
mc: "Level04Front",
name: "",
x: 0,
y: 0
}, {
mc: "VideoCamera",
name: "",
x: 245,
y: 123,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 225,
ViewZoneRight: 200
}
}, {
mc: "Shadow",
name: "",
x: 218,
y: 286,
scaleX: 1.7506103515625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 233,
y: 353,
scaleX: 3.00103759765625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 453,
y: 487,
scaleX: 1.7506103515625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 22,
y: 216,
scaleX: 1.7506103515625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 390,
y: 150,
scaleX: 7.99249267578125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 448,
y: 416,
scaleX: 1.7506103515625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 268,
y: 416,
scaleX: 1.0003509521484375,
scaleY: .75
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 201,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level05",
children: [{
mc: "Level05Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 18,
y: 243,
scaleX: .9986572265625,
scaleY: 1.3337249755859375
}, {
mc: "Wall",
name: "",
x: 623,
y: 275,
scaleX: 1.149993896484375,
scaleY: 1.5337982177734375
}, {
mc: "Wall",
name: "",
x: 280,
y: 481,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 312,
y: 481,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 5,
y: 482,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 323,
y: 509,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 437,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 103,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 171,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 371,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 304,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 236,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 47,
y: 391,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 242,
y: 460,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 282,
y: 123,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 589,
y: 192,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 360,
y: 479,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 359,
y: 411,
parameters: {
idGroup: 1,
Open: !1,
DoorType: "Steel2",
DoorName: "d1"
}
}, {
mc: "Padlock",
name: "",
x: 373,
y: 411,
parameters: {
DoorName: "d1",
PadlockType: "GrayFront",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "ElectricPanel",
name: "",
x: 490,
y: 275,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "Laser",
name: "",
x: 493,
y: 212,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "Elevator",
name: "",
x: 63,
y: 77,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 63,
y: 211,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !1,
DoorName: "el1"
}
}, {
mc: "ElectricPanel",
name: "",
x: 350,
y: 75,
parameters: {
Type: "h",
LaserName: "blades",
Locked: !0
}
}, {
mc: "Door",
name: "",
x: 254,
y: 344,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 254,
y: 277,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 141,
y: 277,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 141,
y: 209,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "SideDoor",
name: "",
x: 205,
y: 410,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 211,
y: 419,
parameters: {
DoorName: "ds1",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 205,
y: 340,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds2"
}
}, {
mc: "Padlock",
name: "",
x: 174,
y: 348,
parameters: {
DoorName: "ds2",
PadlockType: "GrayLeft",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 255,
y: 210,
parameters: {
Open: !1,
DoorType: "Mass",
DoorName: "ds8"
}
}, {
mc: "SideDoor",
name: "",
x: 433,
y: 341,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds3"
}
}, {
mc: "Padlock",
name: "",
x: 401,
y: 349,
parameters: {
DoorName: "ds3",
PadlockType: "GrayLeft",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 459,
y: 73,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds4"
}
}, {
mc: "Padlock",
name: "",
x: 428,
y: 78,
parameters: {
DoorName: "ds4",
PadlockType: "GoldLeft",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Codelock",
name: "",
x: 99,
y: 208,
parameters: {
Code: "1234",
DoorName: "el1",
Locked: !0
}
}, {
mc: "Computer",
name: "",
x: 418,
y: 275,
parameters: {
DoorName: "el1",
Locked: !0,
tempField: ""
}
}, {
mc: "Turret",
name: "",
x: 283,
y: 190,
scaleX: -1,
parameters: {
TurretName: "t",
Locked: !1,
View: "right"
}
}, {
mc: "PrisonGift",
name: "",
x: 364,
y: 227
}, {
mc: "MoneyBonus",
name: "",
x: 125,
y: 82,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 31,
y: 153,
parameters: {
Amount: 120,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 489,
y: 75,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 399,
y: 82,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 550,
y: 75,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 598,
y: 75,
parameters: {
Amount: 70,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 47,
y: 284,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 91,
y: 290,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 524,
y: 281,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 150,
y: 356,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 483,
y: 358,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 573,
y: 349,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 89,
y: 416,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 501,
y: 420,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 600,
y: 424,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 449,
y: 486,
parameters: {
Amount: 60,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 486,
y: 486,
parameters: {
Amount: 80,
TakeIt: !1
}
}, {
mc: "Oldman",
name: "",
x: 330,
y: 488,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 270,
Direction: "r",
StopMoveWaitTime: 1e3
}
}, {
mc: "Policeman",
name: "",
x: 390,
y: 354,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 170,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Policeman",
name: "",
x: 310,
y: 286,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 270,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Policeman",
name: "",
x: 200,
y: 84,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 210,
Direction: "r",
StopMoveWaitTime: 1e3
}
}, {
mc: "Dog",
name: "",
x: 45,
y: 221,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 160,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "GameTarget",
name: "",
x: 363,
y: 215,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 77,
y: 486,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Poster",
name: "poster",
x: 526,
y: 212
}, {
mc: "Bob",
name: "",
x: 107,
y: 488,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 190,
y: 255,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 180,
ViewZoneRight: 150
}
}, {
mc: "Blades",
name: "",
x: 350,
y: 146
}, {
mc: "Shadow",
name: "",
x: 313,
y: 490,
scaleX: 5.50439453125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 99,
y: 489,
scaleX: 9.0023193359375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 145,
y: 419,
scaleX: 8.00201416015625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 105,
y: 148,
scaleX: 9.00225830078125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 186,
y: 286,
scaleX: 1.5029296875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 448,
y: 352,
scaleX: 3.25091552734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 581,
y: 352,
scaleX: 4.0010986328125,
scaleY: .75
}, {
mc: "Level05Front",
name: "",
x: 0,
y: -1
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 190,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level06",
children: [{
mc: "Level06Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 19,
y: 212,
scaleY: .633514404296875
}, {
mc: "Wall",
name: "",
x: 621,
y: 278,
scaleY: 1.5337982177734375
}, {
mc: "Wall",
name: "",
x: 0,
y: 347,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: -1,
y: 79,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 411,
y: 78,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 19,
y: 447,
scaleY: .400115966796875
}, {
mc: "Wall",
name: "",
x: 442,
y: 78,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 321,
y: 506,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 438,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 171,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 372,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 305,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 237,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 47,
y: 456,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 299,
y: 142,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 299,
y: 75,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Elevator",
name: "",
x: 583,
y: 278,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 583,
y: 480,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Door",
name: "",
x: 188,
y: 276,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 187,
y: 208,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 364,
y: 345,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 364,
y: 277,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "woodDoor1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 305,
y: 411,
parameters: {
idGroup: 4,
Open: !1,
DoorType: "policeDoor",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 304,
y: 344,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "policeDoor",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 319,
y: 412,
parameters: {
DoorName: "d1",
PadlockType: "GrayFront",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "Elevator",
name: "",
x: 62,
y: 143,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 2,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 62,
y: 278,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 2,
Open: !0,
DoorName: "el"
}
}, {
mc: "Door",
name: "",
x: 580,
y: 142,
parameters: {
idGroup: 5,
Open: !1,
DoorType: "policeDoor",
DoorName: "d2"
}
}, {
mc: "Door",
name: "",
x: 579,
y: 75,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "policeDoor",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 591,
y: 143,
parameters: {
DoorName: "d2",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 184,
y: 478,
parameters: {
Open: !1,
DoorType: "policeDoor",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 191,
y: 486,
parameters: {
DoorName: "ds1",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 528,
y: 478,
parameters: {
Open: !1,
DoorType: "policeDoor",
DoorName: "ds2"
}
}, {
mc: "Padlock",
name: "",
x: 535,
y: 486,
parameters: {
DoorName: "ds2",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 528,
y: 410,
parameters: {
Open: !1,
DoorType: "policeDoor",
DoorName: "ds4"
}
}, {
mc: "Padlock",
name: "",
x: 497,
y: 415,
parameters: {
DoorName: "ds4",
PadlockType: "GrayLeft",
PadlockLevel: "1",
HoleWidth: "3"
}
}, {
mc: "SideDoor",
name: "",
x: 369,
y: 208,
parameters: {
Open: !1,
DoorType: "policeDoor",
DoorName: "ds5"
}
}, {
mc: "Codelock",
name: "",
x: 319,
y: 211,
parameters: {
Code: "1234",
DoorName: "ds5",
Locked: !0
}
}, {
mc: "Computer",
name: "",
x: 160,
y: 407,
parameters: {
DoorName: "ds5",
Locked: !0,
tempField: ""
}
}, {
mc: "MoneyBonus",
name: "",
x: 388,
y: 78,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 250,
y: 152,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 514,
y: 80,
parameters: {
Amount: 65,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 465,
y: 74,
parameters: {
Amount: 100,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 194,
y: 149,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 392,
y: 146,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 500,
y: 146,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 571,
y: 209,
parameters: {
Amount: 100,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 398,
y: 218,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 256,
y: 213,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 55,
y: 216,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 104,
y: 279,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 282,
y: 282,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 466,
y: 275,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 170,
y: 347,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 451,
y: 344,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 573,
y: 354,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 421,
y: 417,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 570,
y: 417,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 42,
y: 413,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 113,
y: 484,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 284,
y: 481,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 454,
y: 476,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "Dog",
name: "",
x: 475,
y: 490,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 260,
Direction: "left",
StopMoveWaitTime: 3e3
}
}, {
mc: "Oldman",
name: "",
x: 35,
y: 353,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 180,
Direction: "r",
StopMoveWaitTime: 1e3
}
}, {
mc: "Policeman",
name: "",
x: 600,
y: 286,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 330,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Oldman",
name: "",
x: 270,
y: 286,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 330,
Direction: "r",
StopMoveWaitTime: 3e3
}
}, {
mc: "Policeman",
name: "",
x: 40,
y: 218,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 280,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Ambal",
name: "",
x: 585,
y: 151,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 190,
Direction: "left",
StopMoveWaitTime: 2e3
}
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "GameTarget",
name: "",
x: 516,
y: 215,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 44,
y: 356,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Bob",
name: "",
x: 50,
y: 86,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 400,
y: 393,
parameters: {
IdleTimer: 4e3,
Direction: "left",
ViewZoneLeft: 140,
ViewZoneRight: 100
}
}, {
mc: "VideoCamera",
name: "",
x: 360,
y: 460,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 170,
ViewZoneRight: 140
}
}, {
mc: "VideoCamera",
name: "",
x: 190,
y: 189,
parameters: {
IdleTimer: 4e3,
Direction: "left",
ViewZoneLeft: 190,
ViewZoneRight: 155
}
}, {
mc: "VideoCamera",
name: "",
x: 160,
y: 123,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 140,
ViewZoneRight: 180
}
}, {
mc: "Shadow",
name: "",
x: 47,
y: 151,
scaleX: 4.0010986328125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 190,
y: 489,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 499,
y: 419,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 340,
y: 151,
scaleX: 1.5029144287109375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 337,
y: 216,
scaleX: 1.7504730224609375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 274,
y: 417,
scaleX: 3.50341796875,
scaleY: .75
}, {
mc: "Level06Front",
name: "",
x: 0,
y: 0
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 190,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level07",
children: [{
mc: "Level07Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 18,
y: 277,
scaleY: 1.06695556640625
}, {
mc: "Wall",
name: "",
x: 622,
y: 317,
scaleY: 1.333740234375
}, {
mc: "Wall",
name: "",
x: 2,
y: 484,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: -1,
y: 79,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 377,
y: 344,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 405,
y: 344,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 638,
y: 79,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 546,
y: 142,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 574,
y: 142,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 321,
y: 507,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 438,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 274,
y: 171,
scaleX: 1.8666229248046875
}, {
mc: "Floor",
name: "",
x: 326,
y: 373,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 306,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 238,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 598,
y: 151,
scaleY: .5001678466796875
}, {
mc: "Door",
name: "",
x: 274,
y: 479,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 274,
y: 411,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "Elevator",
name: "",
x: 581,
y: 278,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 581,
y: 480,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Door",
name: "",
x: 58,
y: 276,
parameters: {
idGroup: 2,
Open: !1,
DoorType: "Steel1",
DoorName: "d3"
}
}, {
mc: "Door",
name: "",
x: 58,
y: 209,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "ElectricPanel",
name: "",
x: 440,
y: 340,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "Door",
name: "",
x: 336,
y: 411,
parameters: {
idGroup: 3,
Open: !1,
DoorType: "labDoor",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 336,
y: 343,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 352,
y: 413,
parameters: {
DoorName: "d1",
PadlockType: "GrayFront",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 581,
y: 412,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 581,
y: 344,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 383,
y: 142,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "labDoor",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 383,
y: 75,
parameters: {
idGroup: 5,
Open: !1,
DoorType: "labDoor",
DoorName: "d2"
}
}, {
mc: "Codelock",
name: "",
x: 94,
y: 274,
parameters: {
Code: "1234",
DoorName: "d3",
Locked: !0
}
}, {
mc: "Message",
name: "",
x: 89,
y: 210,
parameters: {
LinkTo: "aboutZombies",
DoorName: "d"
}
}, {
mc: "Computer",
name: "",
x: 40,
y: 340,
parameters: {
DoorName: "d3",
Locked: !0,
tempField: ""
}
}, {
mc: "Padlock",
name: "",
x: 398,
y: 76,
parameters: {
DoorName: "d2",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "ZombieBack",
name: "",
x: 260,
y: 194,
parameters: {
Distance: 280,
Direction: "left",
StopMoveWaitTime: 1e3,
DistancePassed: 240
}
}, {
mc: "Turret",
name: "",
x: 504,
y: 122,
parameters: {
TurretName: "t",
Locked: !1,
View: "l"
}
}, {
mc: "MoneyBonus",
name: "",
x: 108,
y: 482,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 141,
y: 282,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 155,
y: 482,
parameters: {
Amount: 5,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 418,
y: 482,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 474,
y: 482,
parameters: {
Amount: 20,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 395,
y: 413,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 533,
y: 413,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 155,
y: 413,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 123,
y: 350,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 277,
y: 350,
parameters: {
Amount: 80,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 493,
y: 353,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 531,
y: 348,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 490,
y: 282,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 285,
y: 285,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 111,
y: 213,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 150,
y: 213,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 355,
y: 208,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 483,
y: 150,
parameters: {
Amount: 120,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 66,
y: 149,
parameters: {
Amount: 150,
TakeIt: !1
}
}, {
mc: "Policeman",
name: "",
x: 50,
y: 286,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 310,
Direction: "r",
StopMoveWaitTime: 1500
}
}, {
mc: "Policeman",
name: "",
x: 220,
y: 487,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 380,
Direction: "r",
StopMoveWaitTime: 1500
}
}, {
mc: "Policeman",
name: "",
x: 470,
y: 83,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 140,
Direction: "r",
StopMoveWaitTime: 3e3
}
}, {
mc: "Oldman",
name: "",
x: 165,
y: 421,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 130,
Direction: "left",
StopMoveWaitTime: 3e3
}
}, {
mc: "Ambal",
name: "",
x: 520,
y: 152,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 480,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Laser",
name: "",
x: 459,
y: 278,
parameters: {
LaserName: "l1",
Type: 1
}
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "GameTarget",
name: "",
x: 515,
y: 209,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 70,
y: 82,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Bob",
name: "",
x: 25,
y: 490,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 240,
y: 256,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 200,
ViewZoneRight: 140
}
}, {
mc: "VideoCamera",
name: "",
x: 240,
y: 391,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 20,
ViewZoneRight: 240
}
}, {
mc: "Shadow",
name: "",
x: 369,
y: 353,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 56,
y: 151,
scaleX: 3.50091552734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 213,
y: 486,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 285,
y: 150,
scaleX: 2.0005340576171875,
scaleY: .75
}, {
mc: "Level07Front",
name: "",
x: 0,
y: 0
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 203,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level08",
children: [{
mc: "Level08Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 18,
y: 143,
scaleY: .633514404296875
}, {
mc: "Wall",
name: "",
x: 622,
y: 278,
scaleY: 1.5337982177734375
}, {
mc: "Wall",
name: "",
x: 409,
y: 145,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 149,
y: 211,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 18,
y: 418,
scaleY: .6668548583984375
}, {
mc: "Wall",
name: "",
x: 440,
y: 145,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 146,
y: 346,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 177,
y: 346,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 277,
y: 415,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 308,
y: 415,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 321,
y: 508,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 439,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 103,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 170,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 373,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 306,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 79,
y: 238,
scaleX: .5
}, {
mc: "Stair",
name: "",
x: 41,
y: 386,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 599,
y: 456,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 332,
y: 217,
scaleY: .466827392578125
}, {
mc: "Laser",
name: "",
x: 555,
y: 413,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "ElectricPanel",
name: "",
x: 545,
y: 475,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "SideDoor",
name: "",
x: 216,
y: 74,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds1"
}
}, {
mc: "SideDoor",
name: "",
x: 305,
y: 478,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds2"
}
}, {
mc: "Codelock",
name: "",
x: 245,
y: 477,
parameters: {
Code: "4512",
DoorName: "ds2",
Locked: !0
}
}, {
mc: "Padlock",
name: "",
x: 223,
y: 78,
parameters: {
DoorName: "ds1",
PadlockType: "GoldRight",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 113,
y: 480,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 113,
y: 412,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 230,
y: 412,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 230,
y: 344,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 580,
y: 345,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 581,
y: 277,
parameters: {
idGroup: 3,
Open: !1,
DoorType: "Steel1",
DoorName: "d7"
}
}, {
mc: "Door",
name: "",
x: 56,
y: 210,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 56,
y: 142,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 269,
y: 142,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 269,
y: 75,
parameters: {
idGroup: 5,
Open: !1,
DoorType: "Steel1",
DoorName: "d1"
}
}, {
mc: "Padlock",
name: "",
x: 285,
y: 78,
parameters: {
DoorName: "d1",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 580,
y: 142,
parameters: {
idGroup: 6,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 580,
y: 76,
parameters: {
idGroup: 6,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Elevator",
name: "",
x: 485,
y: 142,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 485,
y: 413,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Terminal",
name: "",
x: 126,
y: 208,
parameters: {
DoorName: "d7",
Locked: !0
}
}, {
mc: "Message",
name: "",
x: 532,
y: 141,
parameters: {
LinkTo: "aboutSecurity",
DoorName: "d"
}
}, {
mc: "Computer",
name: "",
x: 119,
y: 338,
parameters: {
DoorName: "ds2",
Locked: !0,
tempField: ""
}
}, {
mc: "Turret",
name: "",
x: 340,
y: 391,
scaleX: -1,
parameters: {
TurretName: "t",
Locked: !1,
View: "right"
}
}, {
mc: "MoneyBonus",
name: "",
x: 53,
y: 490,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 174,
y: 483,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 344,
y: 483,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 346,
y: 413,
parameters: {
Amount: 80,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 176,
y: 413,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 517,
y: 350,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 55,
y: 343,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 377,
y: 347,
parameters: {
Amount: 60,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 120,
y: 282,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 221,
y: 288,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 398,
y: 281,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 466,
y: 282,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 22,
y: 213,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 386,
y: 149,
parameters: {
Amount: 30,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 204,
y: 149,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 448,
y: 77,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 495,
y: 77,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 330,
y: 81,
parameters: {
Amount: 90,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 110,
y: 75,
parameters: {
Amount: 100,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 50,
y: 77,
parameters: {
Amount: 140,
TakeIt: !1
}
}, {
mc: "Dog",
name: "",
x: 40,
y: 490,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 220,
Direction: "r",
StopMoveWaitTime: 3e3
}
}, {
mc: "Oldman",
name: "",
x: 390,
y: 152,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 350,
Direction: "left",
StopMoveWaitTime: 3e3
}
}, {
mc: "Securityman",
name: "",
x: 600,
y: 84,
parameters: {
Distance: 350,
Direction: "left",
StopMoveWaitTime: 1100
}
}, {
mc: "Dog",
name: "",
x: 200,
y: 289,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 400,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Zombieman",
name: "",
x: 600,
y: 489,
parameters: {
Distance: 270,
Direction: "left",
StopMoveWaitTime: 1500
}
}, {
mc: "Securityman",
name: "",
x: 200,
y: 353,
parameters: {
Distance: 240,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "GameTarget",
name: "",
x: 393,
y: 410,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 25,
y: 280,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 40,
y: 287,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 270,
y: 120,
parameters: {
IdleTimer: 2500,
Direction: "left",
ViewZoneLeft: 230,
ViewZoneRight: 140
}
}, {
mc: "VideoCamera",
name: "",
x: 324,
y: 323,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 130,
ViewZoneRight: 140
}
}, {
mc: "Level08Front",
name: "",
x: 0,
y: 0
}, {
mc: "Shadow",
name: "",
x: 269,
y: 150,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 55,
y: 149,
scaleX: 3.50341796875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 293,
y: 487,
scaleX: 3.50341796875,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 612,
y: 350,
scaleX: 1.000244140625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 609,
y: 80,
scaleX: 1.000244140625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 321,
y: 350,
scaleX: 2.503173828125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 405,
y: 81,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 203,
scaleX: .75,
scaleY: .75
}, {
mc: "Wall",
name: "",
x: 4,
y: 281,
scaleY: .2767486572265625
}]
}, {
name: "Level09",
children: [{
mc: "Level09Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 17,
y: 109,
scaleX: .9955902099609375,
scaleY: .4334564208984375
}, {
mc: "Wall",
name: "",
x: 623,
y: 278,
scaleY: 1.5337982177734375
}, {
mc: "Wall",
name: "",
x: 0,
y: 216,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 206,
y: 347,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 17,
y: 379,
scaleY: .866912841796875
}, {
mc: "Wall",
name: "",
x: 237,
y: 347,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 321,
y: 508,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 438,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 104,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 171,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 372,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 306,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 237,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 107,
y: 254,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 404,
y: 254,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 57,
y: 479,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 56,
y: 411,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 168,
y: 411,
parameters: {
idGroup: 2,
Open: !1,
DoorType: "labDoor",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 167,
y: 343,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 182,
y: 413,
parameters: {
DoorName: "d1",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 422,
y: 411,
parameters: {
idGroup: 3,
Open: !1,
DoorType: "Steel1",
DoorName: "d2"
}
}, {
mc: "Door",
name: "",
x: 421,
y: 344,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 56,
y: 142,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 55,
y: 75,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 579,
y: 209,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 579,
y: 142,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Elevator",
name: "",
x: 579,
y: 76,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !1,
DoorName: "el1"
}
}, {
mc: "Elevator",
name: "",
x: 579,
y: 481,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el1"
}
}, {
mc: "Codelock",
name: "",
x: 455,
y: 409,
parameters: {
Code: "4512",
DoorName: "d2",
Locked: !0
}
}, {
mc: "SideDoor",
name: "",
x: 523,
y: 410,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 493,
y: 413,
parameters: {
DoorName: "ds1",
PadlockType: "GoldLeft",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 448,
y: 479,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds2"
}
}, {
mc: "Padlock",
name: "",
x: 454,
y: 483,
parameters: {
DoorName: "ds2",
PadlockType: "GoldRight",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 501,
y: 275,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds3"
}
}, {
mc: "Padlock",
name: "",
x: 471,
y: 279,
parameters: {
DoorName: "ds3",
PadlockType: "GoldLeft",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Laser",
name: "",
x: 370,
y: 346,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "ElectricPanel",
name: "",
x: 365,
y: 407,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "SideDoor",
name: "",
x: 388,
y: 74,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds4"
}
}, {
mc: "Padlock",
name: "",
x: 357,
y: 78,
parameters: {
DoorName: "ds4",
PadlockType: "GoldLeft",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Codelock",
name: "",
x: 542,
y: 75,
parameters: {
Code: "1234",
DoorName: "el1",
Locked: !0
}
}, {
mc: "Computer",
name: "",
x: 568,
y: 269,
parameters: {
DoorName: "el1",
Locked: !0,
tempField: ""
}
}, {
mc: "Message",
name: "",
x: 61,
y: 339,
parameters: {
LinkTo: "aboutBob",
DoorName: "d2"
}
}, {
mc: "Level9Box",
name: "",
x: 234,
y: 325
}, {
mc: "Turret",
name: "",
x: 256,
y: 325,
scaleX: -1,
parameters: {
TurretName: "t",
Locked: !1,
View: "right"
}
}, {
mc: "Turret",
name: "",
x: 181,
y: 189,
scaleX: -1,
parameters: {
TurretName: "t",
Locked: !1,
View: "right"
}
}, {
mc: "Turret",
name: "",
x: 611,
y: 189,
parameters: {
TurretName: "t",
Locked: !1,
View: "l"
}
}, {
mc: "MoneyBonus",
name: "",
x: 130,
y: 80,
parameters: {
Amount: 25,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 277,
y: 77,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 414,
y: 83,
parameters: {
Amount: 10,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 470,
y: 80,
parameters: {
Amount: 70,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 237,
y: 143,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 457,
y: 149,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 530,
y: 215,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 233,
y: 219,
parameters: {
Amount: 60,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 71,
y: 286,
parameters: {
Amount: 40,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 200,
y: 283,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 613,
y: 283,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 123,
y: 415,
parameters: {
Amount: 60,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 548,
y: 415,
parameters: {
Amount: 85,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 595,
y: 415,
parameters: {
Amount: 200,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 310,
y: 349,
parameters: {
Amount: 250,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 302,
y: 488,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 105,
y: 485,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "Securityman",
name: "",
x: 190,
y: 353,
parameters: {
Distance: 150,
Direction: "left",
StopMoveWaitTime: 2e3
}
}, {
mc: "Lattice2",
name: "",
x: 393,
y: 346,
parameters: {
LatticeName: "l",
Locked: !1
}
}, {
mc: "Dog",
name: "",
x: 160,
y: 153,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 310,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Dog",
name: "",
x: 470,
y: 153,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 310,
Direction: "left",
StopMoveWaitTime: 1e3
}
}, {
mc: "Zombieman",
name: "",
x: 35,
y: 286,
parameters: {
Distance: 415,
Direction: "r",
StopMoveWaitTime: 1e3
}
}, {
mc: "Securityman",
name: "",
x: 40,
y: 490,
parameters: {
Distance: 360,
Direction: "r",
StopMoveWaitTime: 3e3
}
}, {
mc: "Securityman",
name: "",
x: 400,
y: 490,
parameters: {
Distance: 360,
Direction: "left",
StopMoveWaitTime: 2500
}
}, {
mc: "GameTarget",
name: "",
x: 265,
y: 350,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 552,
y: 348,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 30,
y: 220,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 185,
y: 54,
parameters: {
IdleTimer: 2e3,
Direction: "left",
ViewZoneLeft: 165,
ViewZoneRight: 175
}
}, {
mc: "VideoCamera",
name: "",
x: 405,
y: 188,
parameters: {
IdleTimer: 2e3,
Direction: "left",
ViewZoneLeft: 245,
ViewZoneRight: 210
}
}, {
mc: "VideoCamera",
name: "",
x: 495,
y: 323,
parameters: {
IdleTimer: 5e3,
Direction: "left",
ViewZoneLeft: 255,
ViewZoneRight: 135
}
}, {
mc: "Level09Front",
name: "",
x: 0,
y: 0
}, {
mc: "Shadow",
name: "",
x: 356,
y: 82,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 38,
y: 282,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 475,
y: 282,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 491,
y: 418,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 74,
y: 418,
scaleX: 5.0013427734375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 416,
y: 487,
scaleX: 2.503173828125,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 259,
y: 282,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 190,
scaleX: .75,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 312,
y: 150,
scaleX: 2.00054931640625,
scaleY: .75
}]
}, {
name: "Level10",
children: [{
mc: "Level10Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 17,
y: 244,
scaleY: .400115966796875
}, {
mc: "Wall",
name: "",
x: 624,
y: 345,
scaleY: 1.1002197265625
}, {
mc: "Wall",
name: "",
x: 0,
y: 347,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 419,
y: 209,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 634,
y: 143,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 17,
y: 447,
scaleY: .400115966796875
}, {
mc: "Wall",
name: "",
x: 450,
y: 209,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 7,
y: 145,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 419,
y: 277,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 450,
y: 277,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 196,
y: 345,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 227,
y: 345,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 196,
y: 482,
scaleX: 2.0001220703125,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 321,
y: 508,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 439,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 169,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 370,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 303,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 236,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 49,
y: 457,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 575,
y: 389,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 247,
y: 456,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 49,
y: 185,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 590,
y: 254,
scaleY: .266754150390625
}, {
mc: "Stair",
name: "",
x: 590,
y: 183,
scaleY: .266754150390625
}, {
mc: "Elevator",
name: "",
x: 375,
y: 276,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 376,
y: 481,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Door",
name: "",
x: 159,
y: 343,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "labDoor2",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 159,
y: 275,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "labDoor2",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 516,
y: 343,
parameters: {
idGroup: 2,
Open: !1,
DoorType: "labDoor2",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 516,
y: 275,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "labDoor2",
DoorName: "d"
}
}, {
mc: "Codelock",
name: "",
x: 475,
y: 340,
parameters: {
Code: "4512",
DoorName: "d1",
Locked: !0
}
}, {
mc: "Message",
name: "",
x: 600,
y: 475,
parameters: {
LinkTo: "aboutBob",
DoorName: "ds2"
}
}, {
mc: "SideDoor",
name: "",
x: 324,
y: 274,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 294,
y: 278,
parameters: {
DoorName: "ds1",
PadlockType: "GoldLeft",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 354,
y: 409,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds2"
}
}, {
mc: "Codelock",
name: "",
x: 295,
y: 410,
parameters: {
Code: "4512",
DoorName: "ds2",
Locked: !0
}
}, {
mc: "SideDoor",
name: "",
x: 449,
y: 478,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds3"
}
}, {
mc: "Padlock",
name: "",
x: 418,
y: 482,
parameters: {
DoorName: "ds3",
PadlockType: "GoldLeft",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Computer",
name: "",
x: 258,
y: 335,
parameters: {
DoorName: "d1",
Locked: !0,
tempField: ""
}
}, {
mc: "Laser",
name: "",
x: 380,
y: 344,
parameters: {
LaserName: "blades",
Type: 2
}
}, {
mc: "ElectricPanel",
name: "",
x: 382,
y: 410,
parameters: {
Type: "h",
LaserName: "blades",
Locked: !0
}
}, {
mc: "Laser",
name: "",
x: 516,
y: 412,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "ElectricPanel",
name: "",
x: 518,
y: 477,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "bombTimer",
name: "",
x: 304,
y: 198
}, {
mc: "Message",
name: "",
x: 89,
y: 336,
parameters: {
LinkTo: "aboutTimeBomb",
DoorName: "d"
}
}, {
mc: "Turret",
name: "",
x: 381,
y: 392,
scaleX: -1,
parameters: {
TurretName: "t",
Locked: !1,
View: "right"
}
}, {
mc: "Turret",
name: "",
x: 247,
y: 323,
scaleX: -1,
parameters: {
TurretName: "t",
Locked: !1,
View: "right"
}
}, {
mc: "MoneyBonus",
name: "",
x: 160,
y: 480,
parameters: {
Amount: 200,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 480,
y: 480,
parameters: {
Amount: 150,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 301,
y: 480,
parameters: {
Amount: 60,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 572,
y: 480,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 180,
y: 415,
parameters: {
Amount: 70,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 430,
y: 415,
parameters: {
Amount: 60,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 342,
y: 340,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 49,
y: 278,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 530,
y: 210,
parameters: {
Amount: 85,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 551,
y: 150,
parameters: {
Amount: 100,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 390,
y: 208,
parameters: {
Amount: 500,
TakeIt: !1
}
}, {
mc: "GameTarget",
name: "",
x: 240,
y: 210,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 104,
y: 210,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Securityman",
name: "",
x: 280,
y: 284,
parameters: {
Distance: 240,
Direction: "left",
StopMoveWaitTime: 1500
}
}, {
mc: "Securityman",
name: "",
x: 40,
y: 421,
parameters: {
Distance: 270,
Direction: "r",
StopMoveWaitTime: 1500
}
}, {
mc: "Zombieman",
name: "",
x: 40,
y: 488,
parameters: {
Distance: 130,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Zombieman",
name: "",
x: 40,
y: 149,
parameters: {
Distance: 570,
Direction: "r",
StopMoveWaitTime: 1500
}
}, {
mc: "Zombieman",
name: "",
x: 600,
y: 149,
parameters: {
Distance: 570,
Direction: "left",
StopMoveWaitTime: 1500
}
}, {
mc: "Lattice2",
name: "",
x: 416,
y: 345,
parameters: {
LatticeName: "l",
Locked: !1
}
}, {
mc: "WaterInfect",
name: "",
x: 234,
y: 44
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 34,
y: 353,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 213,
y: 254,
parameters: {
IdleTimer: 4e3,
Direction: "left",
ViewZoneLeft: 170,
ViewZoneRight: 70
}
}, {
mc: "VideoCamera",
name: "",
x: 450,
y: 321,
parameters: {
IdleTimer: 4e3,
Direction: "left",
ViewZoneLeft: 210,
ViewZoneRight: 150
}
}, {
mc: "Shadow",
name: "",
x: 194,
y: 147,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 417,
y: 147,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 321,
y: 418,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 415,
y: 487,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 30,
y: 420,
scaleX: 1.000244140625,
scaleY: .75
}, {
mc: "Level10Front",
name: "",
x: 0,
y: 0
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 190,
scaleX: .75,
scaleY: .75
}]
}, {
name: "Level11",
children: [{
mc: "Level11Back",
name: "",
x: 0,
y: 0
}, {
mc: "Wall",
name: "",
x: 16,
y: 178,
scaleY: .400115966796875
}, {
mc: "Wall",
name: "",
x: 624,
y: 280,
scaleY: 1.5337982177734375
}, {
mc: "Wall",
name: "",
x: -3,
y: 280,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 55,
y: 79,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 410,
y: 143,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 16,
y: 416,
scaleY: .633514404296875
}, {
mc: "Wall",
name: "",
x: 441,
y: 143,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 585,
y: 79,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 296,
y: 381,
scaleY: .400115966796875
}, {
mc: "Wall",
name: "",
x: 323,
y: 381,
scaleY: .400115966796875
}, {
mc: "Wall",
name: "",
x: 156,
y: 277,
scaleY: .166717529296875
}, {
mc: "Wall",
name: "",
x: 187,
y: 277,
scaleY: .166717529296875
}, {
mc: "Floor",
name: "",
x: 321,
y: 507,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 442,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 324,
y: 103,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 322,
y: 171,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 372,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 305,
scaleX: 2.1666259765625
}, {
mc: "Floor",
name: "",
x: 326,
y: 236,
scaleX: 2.1666259765625
}, {
mc: "Stair",
name: "",
x: 257,
y: 322,
scaleY: .266754150390625
}, {
mc: "Door",
name: "",
x: 51,
y: 480,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 51,
y: 411,
parameters: {
idGroup: 1,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 119,
y: 346,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 119,
y: 277,
parameters: {
idGroup: 2,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 53,
y: 210,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 52,
y: 143,
parameters: {
idGroup: 3,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Elevator",
name: "",
x: 373,
y: 143,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Elevator",
name: "",
x: 373,
y: 413,
scaleX: .75,
scaleY: .75,
parameters: {
idGroup: 1,
Open: !0,
DoorName: "el"
}
}, {
mc: "Door",
name: "",
x: 543,
y: 144,
parameters: {
idGroup: 4,
Open: !1,
DoorType: "labDoor",
DoorName: "d1"
}
}, {
mc: "Door",
name: "",
x: 542,
y: 76,
parameters: {
idGroup: 4,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 556,
y: 144,
parameters: {
DoorName: "d1",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 483,
y: 210,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 482,
y: 143,
parameters: {
idGroup: 5,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 542,
y: 278,
parameters: {
idGroup: 6,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 542,
y: 209,
parameters: {
idGroup: 6,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 429,
y: 413,
parameters: {
idGroup: 7,
Open: !1,
DoorType: "Steel1",
DoorName: "d2"
}
}, {
mc: "Door",
name: "",
x: 429,
y: 346,
parameters: {
idGroup: 7,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Padlock",
name: "",
x: 444,
y: 413,
parameters: {
DoorName: "d2",
PadlockType: "GoldFront",
PadlockLevel: "2",
HoleWidth: "2"
}
}, {
mc: "Door",
name: "",
x: 558,
y: 480,
parameters: {
idGroup: 8,
Open: !0,
DoorType: "Steel1",
DoorName: "d"
}
}, {
mc: "Door",
name: "",
x: 558,
y: 412,
parameters: {
idGroup: 8,
Open: !1,
DoorType: "Steel1",
DoorName: "d3"
}
}, {
mc: "Codelock",
name: "",
x: 519,
y: 410,
parameters: {
Code: "4512",
DoorName: "d3",
Locked: !0
}
}, {
mc: "Laser",
name: "",
x: 329,
y: 144,
parameters: {
LaserName: "l1",
Type: 2
}
}, {
mc: "ElectricPanel",
name: "",
x: 329,
y: 74,
parameters: {
Type: "h",
LaserName: "l1",
Locked: !0
}
}, {
mc: "Laser",
name: "",
x: 470,
y: 414,
parameters: {
LaserName: "blades",
Type: 2
}
}, {
mc: "ElectricPanel",
name: "",
x: 469,
y: 345,
parameters: {
Type: "h",
LaserName: "blades",
Locked: !0
}
}, {
mc: "Computer",
name: "",
x: 126,
y: 70,
parameters: {
DoorName: "ds2",
Locked: !0,
tempField: ""
}
}, {
mc: "SideDoor",
name: "",
x: 184,
y: 73,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds1"
}
}, {
mc: "Padlock",
name: "",
x: 189,
y: 77,
parameters: {
DoorName: "ds1",
PadlockType: "GrayRight",
PadlockLevel: "1",
HoleWidth: "2"
}
}, {
mc: "SideDoor",
name: "",
x: 184,
y: 141,
parameters: {
Open: !1,
DoorType: "Steel1",
DoorName: "ds2"
}
}, {
mc: "Codelock",
name: "",
x: 129,
y: 140,
parameters: {
Code: "4512",
DoorName: "ds2",
Locked: !0
}
}, {
mc: "ZombieBack",
name: "",
x: 160,
y: 329,
parameters: {
Distance: 230,
Direction: "left",
StopMoveWaitTime: 3e3,
DistancePassed: 80
}
}, {
mc: "ZombieBack",
name: "",
x: 380,
y: 464,
parameters: {
Distance: 560,
Direction: "left",
StopMoveWaitTime: 2e3,
DistancePassed: 190
}
}, {
mc: "SideDoor",
name: "",
x: 167,
y: 409,
parameters: {
Open: !1,
DoorType: "BankDoor",
DoorName: "ds3"
}
}, {
mc: "Terminal",
name: "",
x: 98,
y: 409,
parameters: {
DoorName: "ds3",
Locked: !0
}
}, {
mc: "Computer",
name: "",
x: 588,
y: 345,
parameters: {
DoorName: "d3",
Locked: !0,
tempField: ""
}
}, {
mc: "Turret",
name: "",
x: 405,
y: 122,
parameters: {
TurretName: "t",
Locked: !1,
View: "l"
}
}, {
mc: "MoneyBonus",
name: "",
x: 238,
y: 81,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 80,
y: 78,
parameters: {
Amount: 70,
TakeIt: !1
}
}, {
mc: "BobBack",
name: "",
x: 707,
y: 250,
scaleX: .75,
scaleY: .75
}, {
mc: "MoneyBonus",
name: "",
x: 440,
y: 81,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 219,
y: 141,
parameters: {
Amount: 150,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 613,
y: 151,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 125,
y: 210,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 211,
y: 213,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 277,
y: 213,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 218,
y: 277,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 317,
y: 280,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 587,
y: 282,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 50,
y: 348,
parameters: {
Amount: 45,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 186,
y: 352,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 409,
y: 487,
parameters: {
Amount: 15,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 356,
y: 348,
parameters: {
Amount: 75,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 515,
y: 345,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 600,
y: 420,
parameters: {
Amount: 50,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 205,
y: 413,
parameters: {
Amount: 600,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 125,
y: 480,
parameters: {
Amount: 35,
TakeIt: !1
}
}, {
mc: "MoneyBonus",
name: "",
x: 294,
y: 480,
parameters: {
Amount: 250,
TakeIt: !1
}
}, {
mc: "Policeman",
name: "",
x: 330,
y: 219,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 130,
Direction: "left",
StopMoveWaitTime: 3e3
}
}, {
mc: "Policeman",
name: "",
x: 345,
y: 354,
scaleX: .2769775390625,
scaleY: .2769775390625,
parameters: {
Distance: 260,
Direction: "r",
StopMoveWaitTime: 2e3
}
}, {
mc: "Securityman",
name: "",
x: 600,
y: 285,
parameters: {
Distance: 390,
Direction: "left",
StopMoveWaitTime: 1500
}
}, {
mc: "Zombieman",
name: "",
x: 200,
y: 152,
parameters: {
Distance: 190,
Direction: "r",
StopMoveWaitTime: 1500
}
}, {
mc: "Dog",
name: "",
x: 600,
y: 492,
scaleX: .29998779296875,
scaleY: .29998779296875,
parameters: {
Distance: 560,
Direction: "left",
StopMoveWaitTime: 2e3
}
}, {
mc: "GameTarget",
name: "",
x: 260,
y: 415,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "GameExit",
name: "",
x: 23,
y: 280,
scaleX: 1.399993896484375,
scaleY: 1.399993896484375
}, {
mc: "Effects",
name: "",
x: 0,
y: 0
}, {
mc: "Bob",
name: "",
x: 35,
y: 286,
scaleX: .75,
scaleY: .75
}, {
mc: "VideoCamera",
name: "",
x: 330,
y: 54,
parameters: {
IdleTimer: 4e3,
Direction: "left",
ViewZoneLeft: 140,
ViewZoneRight: 240
}
}, {
mc: "VideoCamera",
name: "",
x: 420,
y: 254,
parameters: {
IdleTimer: 4e3,
Direction: "left",
ViewZoneLeft: 230,
ViewZoneRight: 170
}
}, {
mc: "VideoCamera",
name: "",
x: 515,
y: 121,
parameters: {
IdleTimer: 2e3,
Direction: "left",
ViewZoneLeft: 65,
ViewZoneRight: 100
}
}, {
mc: "VideoCamera",
name: "",
x: 300,
y: 460,
parameters: {
IdleTimer: 3e3,
Direction: "left",
ViewZoneLeft: 270,
ViewZoneRight: 300
}
}, {
mc: "VideoCamera",
name: "",
x: 85,
y: 188,
parameters: {
IdleTimer: 1500,
Direction: "left",
ViewZoneLeft: 65,
ViewZoneRight: 75
}
}, {
mc: "Level11Front",
name: "",
x: 0,
y: 0
}, {
mc: "Shadow",
name: "",
x: 549,
y: 82,
scaleX: 4.0010833740234375,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 189,
y: 84,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 349,
y: 283,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 196,
y: 487,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "Shadow",
name: "",
x: 455,
y: 487,
scaleX: 2.00054931640625,
scaleY: .75
}, {
mc: "ProgressBarSkill",
name: "progressSkill",
x: 683,
y: 190,
scaleX: .75,
scaleY: .75
}]
}, {
name: "SideDoor",
children: [{
mc: "RightSideDoor",
name: "r",
x: 0,
y: 0
}, {
mc: "LeftSideDoor",
name: "l",
x: 0,
y: 0
}]
}],
e
}()
, MovieClip = function(n) {
function p(e, t, i, r, o, s) {
void 0 === e && (e = null),
void 0 === t && (t = 0),
void 0 === i && (i = 0),
void 0 === r && (r = ""),
void 0 === o && (o = null),
void 0 === s && (s = null);
var a = this;
if (e instanceof Phaser.BitmapData)
a = n.call(this, p.game, t, i, e) || this;
else {
if (e)
o || (o = p.GetSpriteSheetName(e)),
s || (s = p.GetLayoutData(e)),
OzUtil.PE(s, null, "name", e) ? (a = n.call(this, p.game, t, i, null) || this).createLayout(s, e) : a = n.call(this, p.game, t, i, o, e + "0000") || this;
else
a = n.call(this, p.game, t, i, null) || this;
a.mc = e
}
return a.name = r,
a.params = {},
a.labels = {},
a.spriteSheetName = o,
a._currentFrameNumber = 1,
a._degrees = a.rotation = 0,
a.butFrameOffset = 0,
a.physicsEnabled = !1,
a.frameProc = -1,
a.cf1 = a.cf2 = null,
a
}
return __extends(p, n),
p.prototype.processEnterFrameEvents = function() {
for (var e = 0; e < this.children.length; e++) {
var t = this.children[e];
t instanceof p && t.processEnterFrameEvents()
}
if (this.enterFrameListeners) {
for (e = 0; e < this.enterFrameListeners.length; e++) {
(i = this.enterFrameListeners[e]) && i.call(this.enterFrameListenersContexts[e], null)
}
for (e = this.enterFrameListeners.length - 1; 0 <= e; e--) {
var i;
if (!(e >= this.enterFrameListeners.length))
(i = this.enterFrameListeners[e]) || (this.enterFrameListeners.splice(e, 1),
this.enterFrameListenersContexts.splice(e, 1))
}
}
}
,
p.prototype.addEventListener = function(e, t) {
if (this.enterFrameListeners)
for (var i = 0; i < this.enterFrameListeners.length; i++)
if (this.enterFrameListeners[i] == e)
return;
this.enterFrameListeners || (this.enterFrameListeners = new Array,
this.enterFrameListenersContexts = new Array),
this.enterFrameListeners.push(e),
this.enterFrameListenersContexts.push(t)
}
,
p.prototype.removeEventListener = function(e) {
if (this.enterFrameListeners)
for (var t = 0; t < this.enterFrameListeners.length; t++)
if (this.enterFrameListeners[t] == e) {
this.enterFrameListeners[t] = null,
this.enterFrameListenersContexts[t] = null;
break
}
}
,
p.RegisterSpritesheet = function(e, t, i) {
Game.getGame().load.atlas(e, "assets/atlases/" + e + ".png", null, t),
p.SpriteSheetDatas || (p.SpriteSheetDatas = {});
for (var r = null, o = (p.SpriteSheetDatas[e] = t).frames, s = 0; s < o.length; s++) {
if (r != (a = (a = o[s].filename).substring(0, a.length - 4))) {
if (p.GetSpriteSheetName(a) || p.GetLayoutData(a))
throw new Error("ALREADY DEFINED " + a);
p.MCName2SpriteSheetName[a] = e
}
r = a
}
for (s = 0; s < i.length; s++) {
var a = i[s].name;
if (p.GetSpriteSheetName(a) || p.GetLayoutData(a))
throw new Error("ALREADY DEFINED " + a);
p.MCName2SpriteSheetLayoutData[a] = i
}
}
,
p.GetSpriteSheetName = function(e) {
return p.MCName2SpriteSheetName[e]
}
,
p.GetLayoutData = function(e) {
return p.MCName2SpriteSheetLayoutData[e]
}
,
p.FrameRate = function(e) {
return e < 0 ? 30 : Math.round(60 * e / 30)
}
,
p.prototype.applyLayout = function(e) {
this.createLayout(p.GetLayoutData(e), e)
}
,
p.prototype.curFrameCheckAndProc = function(e) {
return this.currentFrame == e && this.frameProc != e && (this.frameProc = e,
!0)
}
,
p.prototype.hasTint = function() {
return 16777215 != this.tint
}
,
p.prototype.removeTint = function() {
this.tint = 16777215
}
,
p.prototype.setTint = function(e, t) {
e ^= 16777215,
this.tintRed = 255 - (e >> 16 & 255) * t,
this.tintGreen = 255 - (e >> 8 & 255) * t,
this.tintBlue = 255 - (255 & e) * t
}
,
Object.defineProperty(p.prototype, "tintRed", {
get: function() {
return this.tint >> 16 & 255
},
set: function(e) {
this.tint = (Math.round(Math.min(255, Math.max(0, e))) << 16) + (65535 & this.tint)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(p.prototype, "tintGreen", {
get: function() {
return this.tint >> 8 & 255
},
set: function(e) {
this.tint = (Math.round(Math.min(255, Math.max(0, e))) << 8) + (this.tint & 510 << 16)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(p.prototype, "tintBlue", {
get: function() {
return 255 & this.tint
},
set: function(e) {
this.tint = Math.round(Math.min(255, Math.max(0, e))) + (16776960 & this.tint)
},
enumerable: !0,
configurable: !0
}),
p.prototype.generateDefaultAnimation = function(e) {
void 0 === e && (e = -1);
var t = Phaser.Animation.generateFrameNames(this.mc, 0, this.totalFrames(), "", 4);
this.animations.add("_null", t, p.FrameRate(e))
}
,
p.prototype.playLoop = function(e, t) {
void 0 === e && (e = -1),
void 0 === t && (t = "_null"),
this.playAnimation2(t, p.FrameRate(e), !0)
}
,
p.prototype.playOnce = function(e, t) {
void 0 === e && (e = -1),
void 0 === t && (t = "_null"),
this.playAnimation2(t, p.FrameRate(e), !1)
}
,
p.prototype.playToEnd = function(e, t, i) {
void 0 === e && (e = -1),
void 0 === t && (t = -1),
void 0 === i && (i = !1),
t < 0 && (t = this.currentFrame);
var r = "_null";
if (1 < t && (r += t,
!this.animations.getAnimation(r))) {
var o = Phaser.Animation.generateFrameNames(this.mc, t - 1, this.totalFrames(), "", 4);
this.animations.add(r, o, p.FrameRate(e))
}
i ? this.playLoop(e, r) : this.playOnce(e, r)
}
,
p.prototype.getOffsetToCenterX = function() {
var e = this.mc + p.getPaddedNumber(this.currentFrameNumber - 1, 4)
, t = p.SpriteSheetDatas[this.spriteSheetName]
, i = OzUtil.PE(t, "frames", "filename", e);
return i ? i.frame.w / 2 + i.spriteSourceSize.x : 0
}
,
p.prototype.getOffsetToCenterY = function() {
var e = this.mc + p.getPaddedNumber(this.currentFrameNumber - 1, 4)
, t = p.SpriteSheetDatas[this.spriteSheetName]
, i = OzUtil.PE(t, "frames", "filename", e);
return i ? i.frame.h / 2 + i.spriteSourceSize.y : 0
}
,
p.getSpriteSourceX = function(e, t) {
void 0 === t && (t = null),
t || (t = "Objects");
var i = e + p.getPaddedNumber(0, 4)
, r = p.SpriteSheetDatas[t]
, o = OzUtil.PE(r, "frames", "filename", i);
return o && o.spriteSourceSize.x,
0
}
,
p.getSpriteSourceY = function(e, t) {
void 0 === t && (t = null),
t || (t = "Objects");
var i = e + p.getPaddedNumber(0, 4)
, r = p.SpriteSheetDatas[t]
, o = OzUtil.PE(r, "frames", "filename", i);
return o && o.spriteSourceSize.y,
0
}
,
p.prototype.parentRect = function(e) {
e[0] *= this.scaleX,
e[1] *= this.scaleY,
e[2] *= this.scaleX,
e[3] *= this.scaleY,
e[0] += this.x,
e[1] += this.y,
e[2] < 0 && (e[0] += e[2],
e[2] = -e[2]),
e[3] < 0 && (e[1] += e[3],
e[3] = -e[3])
}
,
p.prototype.getRect = function(e) {
var t = 1e7
, i = -1e7
, r = 1e7
, o = -1e7
, s = this.mc + p.getPaddedNumber(this.currentFrameNumber - 1, 4)
, a = p.SpriteSheetDatas[this.spriteSheetName]
, n = OzUtil.PE(a, "frames", "filename", s);
n && (t = n.spriteSourceSize.x,
r = n.spriteSourceSize.y,
i = t + n.frame.w,
o = r + n.frame.h),
e[0] = t,
e[1] = r,
e[2] = i - t,
e[3] = o - r,
this.parentRect(e)
}
,
p.prototype.getMcBounds = function() {
var e = 1e6
, t = -1e6
, i = 1e6
, r = -1e6;
if (this.mc) {
var o = this.mc + p.getPaddedNumber(this.currentFrameNumber - 1, 4)
, s = p.SpriteSheetDatas[this.spriteSheetName]
, a = OzUtil.PE(s, "frames", "filename", o);
a && (e = a.spriteSourceSize.x,
i = a.spriteSourceSize.y,
t = e + a.frame.w,
r = i + a.frame.h)
}
if (0 < this.children.length) {
var n = 0;
for (n = 0; n < this.children.length; n++)
if (this.children[n]instanceof p) {
var h = this.children[n];
if ("putDoor" != h.name && "putElevator" != h.name && "putVector" != h.name) {
var c = h.getMcBounds();
c.x += h.x,
c.y += h.y,
c.x < e && (e = c.x),
c.x + c.width > t && (t = c.x + c.width),
c.y < i && (i = c.y),
c.y + c.height > r && (r = c.y + c.height)
}
}
}
var l = this.degrees * Math.PI / 180
, m = new PIXI.Rectangle;
return p.updateRectWithPointRot(m, e, i, l, !0),
p.updateRectWithPointRot(m, t, i, l),
p.updateRectWithPointRot(m, t, r, l),
p.updateRectWithPointRot(m, e, r, l),
m.width = m.width - m.x,
m.height = m.height - m.y,
m
}
,
p.updateRectWithPointRot = function(e, t, i, r, o) {
void 0 === o && (o = !1);
var s = t * Math.cos(r) - i * Math.sin(r)
, a = t * Math.sin(r) + i * Math.cos(r);
o ? (e.x = s,
e.width = s,
e.y = a,
e.height = a) : (s < e.x && (e.x = s),
s > e.width && (e.width = s),
a < e.y && (e.y = a),
a > e.height && (e.height = a))
}
,
p.prototype.drawOutline = function() {
var e = Game.getGame().add.graphics(0, 0);
if (this.addChildAt(e, 0),
e.lineStyle(3, 65280),
"CameraGraphicsComp" == this.mc)
e.drawCircle(0, -2, 24);
else {
var t = this.getMcBounds();
e.drawPolygon([new Phaser.Point(t.x,t.y), new Phaser.Point(t.x + t.width,t.y), new Phaser.Point(t.x + t.width,t.y + t.height), new Phaser.Point(t.x,t.y + t.height), new Phaser.Point(t.x,t.y)])
}
return e.endFill(),
e.rotation = this.rotation,
e
}
,
p.prototype.cloneMeToChildren = function(e, t, i, r, o) {
void 0 === i && (i = 0),
void 0 === r && (r = 0),
void 0 === o && (o = 0);
for (var s = 0; s < e; s++) {
var a = new p(this.mc);
a.x = r + (s + 1) * t,
a.y = o + (s + 1) * i,
this.addChild(a)
}
}
,
p.prototype.meAndMyKids = function(e) {
void 0 === e && (e = !0);
for (var t = [this], i = 0; i < this.children.length; i++) {
var r = this.getChildAt(i);
e && this.mc != r.mc || t.push(r)
}
return t
}
,
p.prototype.fatherBrother = function(e) {
var t = this.parent.getChild(e);
t.x -= this.x,
t.y -= this.y,
this.addChild(t)
}
,
p.prototype.p2cX = function(e, t) {
return e != this && (t = this.parent.p2cX(e, t)),
t -= this.x,
t /= this.scaleX
}
,
p.prototype.p2cY = function(e, t) {
return e != this && (t = this.parent.p2cY(e, t)),
t -= this.y,
t /= this.scaleY
}
,
p.prototype.pointSelects = function(e, t) {
if ("putVector" == this.name)
return !1;
e -= this.x,
t -= this.y,
e /= this.scaleX,
t /= this.scaleY;
var i = -this.degrees * Math.PI / 180
, r = e * Math.cos(i) - t * Math.sin(i)
, o = e * Math.sin(i) + t * Math.cos(i);
e = r,
t = o;
if (0 < this.children.length) {
var s = 0;
for (s = 0; s < this.children.length; s++) {
var a = this.children[s];
if (this.children[s]instanceof p && a.pointSelects(e, t))
return !0
}
}
if (this.mc) {
var n = this.mc + p.getPaddedNumber(this.currentFrameNumber - 1, 4)
, h = p.SpriteSheetDatas[this.spriteSheetName]
, c = OzUtil.PE(h, "frames", "filename", n);
if (c) {
var l = c.spriteSourceSize.x
, m = c.spriteSourceSize.y
, u = l + c.frame.w
, d = m + c.frame.h;
if (OzUtil.OnSegment(l, e, u) && OzUtil.OnSegment(m, t, d))
return !0
}
}
return !1
}
,
p.prototype.xyFrom = function(e) {
this.x = e.x,
this.y = e.y
}
,
p.prototype.setxy = function(e, t) {
this.x = e,
this.y = t
}
,
Object.defineProperty(p.prototype, "scaleX", {
get: function() {
return this.scale.x
},
set: function(e) {
this.scale.x = e
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(p.prototype, "scaleY", {
get: function() {
return this.scale.y
},
set: function(e) {
this.scale.y = e
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(p.prototype, "degrees", {
get: function() {
return 180 * this.rotation / Math.PI
},
set: function(e) {
this._degrees = e,
this.rotation = e * Math.PI / 180
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(p.prototype, "numChildren", {
get: function() {
return this.children.length
},
enumerable: !0,
configurable: !0
}),
p.prototype.totalFrames = function() {
for (var e = 0; ; ) {
var t = this.mc + p.getPaddedNumber(e, 4)
, i = p.SpriteSheetDatas[this.spriteSheetName];
if (!OzUtil.PE(i, "frames", "filename", t))
break;
e++
}
return e
}
,
p.FrameFromName = function(e, t) {
void 0 === t && (t = 4);
for (var i = 1, r = 1, o = 0; o < t; o++) {
i += parseInt(e.charAt(e.length - 1 - o)) * r,
r *= 10
}
return i
}
,
p.getPaddedNumber = function(e, t) {
for (var i = "" + Math.round(e), r = t - i.length, o = 0; o < r; o++)
i = "0" + i;
return i
}
,
p.prototype.registerAnimation = function(e, t, i, r, o, s, a) {
void 0 === i && (i = -1),
void 0 === r && (r = -1),
void 0 === o && (o = !0),
void 0 === s && (s = null),
void 0 === a && (a = null),
-1 == i || t == i ? this.registerLabel(e, t) : this.addAnimation(e, t, i, r, o, s, a)
}
,
p.prototype.addAnimation = function(e, t, i, r, o, s, a) {
void 0 === r && (r = -1),
void 0 === o && (o = !0),
void 0 === s && (s = null),
void 0 === a && (a = null);
var n = Phaser.Animation.generateFrameNames(this.mc, t - 1, i - 1, "", 4)
, h = this.animations.add(e, n, p.FrameRate(r), o);
s && h.onComplete.add(s, a)
}
,
p.prototype.playResume = function() {
this.currentAnimation && this.animations.currentAnim.paused && (this.animations.currentAnim.paused = !1,
this.animations.currentAnim.next(2))
}
,
p.prototype.playAnimation = function(e) {
this.currentAnimation = e;
this.animations.play(e)
}
,
p.prototype.playAnimation2 = function(e, t, i) {
"_null" != e || this.animations.getAnimation("_null") || this.generateDefaultAnimation(t),
this.currentAnimation = e;
this.animations.play(e, t, i)
}
,
Object.defineProperty(p.prototype, "currentFrame", {
get: function() {
var e = this._currentFrameNumber;
return this.currentAnimation && this.animations.currentAnim && (e = p.FrameFromName(this.animations.currentAnim.currentFrame.name)),
e
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(p.prototype, "currentFrameNumber", {
get: function() {
return this._currentFrameNumber
},
set: function(e) {
this._currentFrameNumber = e,
e--;
var t = this.mc;
t += p.getPaddedNumber(e, 4),
this.frameName = t,
this.currentAnimation && this.animations.currentAnim.setFrame(e, !0)
},
enumerable: !0,
configurable: !0
}),
p.prototype.gotoLabel = function(e) {
if ("Bob" == this.mc) {
var t = this.currentFrame;
if ("work" == e && 105 <= t && t <= 129)
return;
if ("workLeft" == e && 130 <= t && t <= 145)
return;
if ("workRight" == e && 146 <= t && t <= 161)
return
}
this.gotoAndStopLabel(e) || this.gotoAndPlayLabel(e)
}
,
p.prototype.isPlaying = function() {
return this.currentAnimation && this.animations.currentAnim.isPlaying && !this.animations.currentAnim.isPaused
}
,
p.prototype.gotoAndPlayLabel = function(e) {
if (null == this.animations.getAnimation(e))
throw new Error("NO SUCH ANIM " + e);
this.playAnimation(e)
}
,
p.prototype.gotoAndPlay = function(e, t, i, r) {
void 0 === t && (t = !0),
void 0 === i && (i = -1),
void 0 === r && (r = "_null"),
this.isPlaying() && this.currentAnimation == r || this.playAnimation2(r, p.FrameRate(i), t),
this.currentFrameNumber = e
}
,
p.prototype.registerLabel = function(e, t) {
this.labels[e] = t
}
,
p.prototype.gotoAndStopLabel = function(e) {
return !!this.labels[e] && (this.gotoAndStop(this.labels[e]),
!(this.currentAnimation = null))
}
,
p.prototype.gotoAndStop = function(e) {
e = Math.max(1, e),
this.stop(),
this.currentAnimation = null,
this.currentFrameNumber = e
}
,
p.prototype.stop = function() {
this.isPlaying() && this.animations.stop()
}
,
p.prototype.centerInputRect = function() {
this.hitArea = new Phaser.Rectangle(-this.width / 2,-this.height / 2,this.width,this.height)
}
,
p.prototype.getChild = function(e) {
for (var t = 0, i = this.children; t < i.length; t++) {
var r = i[t];
if (r instanceof p) {
var o = r;
if (o.name == e)
return o
}
}
return null
}
,
p.prototype.clickedLevelSelect = function() {}
,
p.prototype.makeLink = function(e, t, i, r, o) {
void 0 === t && (t = !0),
void 0 === i && (i = null),
void 0 === r && (r = !0),
void 0 === o && (o = !0),
this.makeButton(e, t, i, r, o, !0)
}
,
p.prototype.addButtonUpFunc = function(e, t) {
this.events.onInputUp.add(e, t)
}
,
p.prototype.addOverDown = function(e, t) {
Game.Touch() ? this.events.onInputDown.add(e, t) : this.events.onInputOver.add(e, t)
}
,
p.prototype.makeButton = function(e, t, i, r, o, s, a) {
var n = this;
void 0 === t && (t = !0),
void 0 === i && (i = null),
void 0 === r && (r = !0),
void 0 === o && (o = !0),
void 0 === s && (s = !1),
void 0 === a && (a = !1),
i || (i = this),
this.inputEnabled = !0,
this.input.useHandCursor = !0,
s ? this.events.onInputDown.add(e, i) : this.events.onInputUp.add(e, i),
a && t ? Game.Touch() ? (this.events.onInputDown.add(this.changeFrame2, this),
this.events.onInputUp.add(this.changeFrame1, this)) : (this.events.onInputOver.add(this.changeFrame2, this),
this.events.onInputDown.add(this.changeFrame2, this),
this.events.onInputOut.add(this.changeFrame1, this)) : t ? (Game.Touch() ? this.events.onInputDown.add(this.changeFrame2, this) : (this.events.onInputOver.add(function() {
Game.MDown() || n.changeFrame2()
}, this),
this.events.onInputDown.add(this.changeFrame1, this),
this.events.onInputOut.add(this.changeFrame1, this)),
this.events.onInputUp.add(this.changeFrame1, this)) : a && (this.events.onInputOver.add(this.changeFrame1, this),
this.events.onInputDown.add(this.changeFrame2, this),
this.events.onInputOut.add(this.changeFrame1, this),
this.events.onInputUp.add(this.changeFrame1, this)),
r && (this.events.onInputOver.add(this.mouseOverSound, this),
this.events.onInputDown.add(this.mouseClickSound, this)),
o && this.centerInputRect()
}
,
p.prototype.mouseOverSound = function() {
SoundManager.getInstance().playSound("SButtonSelect")
}
,
p.prototype.mouseClickSound = function() {
SoundManager.getInstance().playSound("SButtonClick")
}
,
p.prototype.editClick = function() {}
,
p.prototype.colorClick = function() {}
,
p.prototype.getButFrameOffset = function() {
return this.butFrameOffset
}
,
p.prototype.changeButtonFrameOffset = function(e) {
var t = e - this.butFrameOffset;
this.butFrameOffset = e,
this.currentFrameNumber = this.currentFrameNumber + t
}
,
p.prototype.changeFrame1 = function() {
this.currentFrameNumber = 1 + this.butFrameOffset,
this.cf1 && this.cf1.call(this.cf1c)
}
,
p.prototype.changeFrame2 = function() {
this.currentFrameNumber = 2 + this.butFrameOffset,
this.cf2 && this.cf2.call(this.cf2c)
}
,
p.prototype.makeMusicButton = function(e) {
void 0 === e && (e = !0),
this.butFrameOffset = SoundManager.muteMusic ? 2 : 0,
this.changeFrame1(),
this.makeButton(this.toggleMuteMusic, !0, this, !1, e)
}
,
p.prototype.toggleMuteMusic = function() {
SoundManager.ToggleMuteMusic(),
this.changeButtonFrameOffset(1 < this.getButFrameOffset() ? 0 : 2)
}
,
p.prototype.makeSoundButton = function(e) {
void 0 === e && (e = !0),
this.butFrameOffset = SoundManager.muteSound ? 2 : 0,
this.changeFrame1(),
this.makeButton(this.toggleMuteSound, !0, this, !1, e)
}
,
p.prototype.toggleMuteSound = function() {
SoundManager.ToggleMuteSound(),
this.changeButtonFrameOffset(1 < this.getButFrameOffset() ? 0 : 2)
}
,
p.prototype.createLayout = function(e, t) {
for (var i = OzUtil.PE(e, null, "name", t), r = OzUtil.ARR(i.children), o = 0; o < r.length; o++) {
var s = r[o]
, a = new p(s.mc,s.x,s.y,s.name);
if (s.hasOwnProperty("degrees") && (a.degrees = s.degrees),
s.hasOwnProperty("scaleX") && (a.scale.x = s.scaleX),
s.hasOwnProperty("scaleY") && (a.scale.y = s.scaleY),
s.hasOwnProperty("alpha") && (a.alpha = s.alpha),
s.parameters) {
var n = s.parameters;
for (var h in n)
n.hasOwnProperty(h) && (a.params[h] = n[h])
}
this.addChild(a)
}
}
,
p.prototype.removeAllChildren = function() {
for (var e = this.children.length - 1; 0 <= e; e--) {
var t = this.children[e];
this.removeChild(t)
}
}
,
p.prototype.removeChildrenMCs = function(e) {
for (var t = this.children.length - 1; 0 <= t; t--) {
var i = this.children[t];
0 <= e.indexOf(i.mc) && this.removeChild(i)
}
}
,
p.prototype.changeChildByName = function(e, t, i, r) {
var o = this.getChild(e);
this.removeChild(o);
var s = new p(t,o.x,o.y,o.name,i,r);
this.addChild(s)
}
,
p.prototype.remove = function() {
this.destroy(!0)
}
,
p.prototype.disableAllInput = function() {
this.inputEnabled && (this.inputEnabled = !1);
for (var e = 0; e < this.children.length; e++) {
var t = this.children[e];
t && t.disableAllInput()
}
}
,
p.prototype.setPropsFrom = function(e) {
this.x = e.x,
this.y = e.y,
this.scaleX = e.scaleX,
this.scaleY = e.scaleY,
this.degrees = e.degrees,
this.alpha = e.alpha,
this.visible = e.visible,
this.name = e.name
}
,
p.prototype.getFrameFromMC = function() {
for (var e = 0, t = this.mc.length - 1; 0 <= OzUtil.digits.indexOf(this.mc.charAt(t)); )
t--;
var i = this.mc.length - 1 - t;
return 0 < i && (e = parseInt(this.mc.substr(t + 1, i))),
e
}
,
p.prototype.replaceByFrame = function(e) {
var t = this.getFrameFromMC();
if (t == e)
return this;
var i = new p(this.mc.substring(0, this.mc.length - OzUtil.numDigits0is0(t)) + (0 == e ? "" : "" + e),0,0,this.name);
i.setPropsFrom(this);
var r = this.parent.getChildIndex(this)
, o = this.parent;
return this.destroy(),
o.addChildAt(i, r),
i
}
,
p.prototype.maskMake = function(e) {
if (void 0 === e && (e = !1),
this.parent) {
var t = Game.getGame().make.bitmapData(this.width, this.height);
t.draw(this, 0, 0);
var i = Game.getGame().make.bitmapData(this.width, this.height)
, r = Game.getGame().make.bitmapData(this.width, this.height);
e && r.draw(this, 0, 0);
var o = new p(r,this.x,this.y);
o.setPropsFrom(this),
o.scaleX = o.scaleY = 1;
var s = this.parent.getChildIndex(this);
return this.parent.addChildAt(o, s + 1),
this.parent.removeChild(this),
o.bottomBmd = t,
o.topBmd = i,
o.mcBmd = r,
(o.oldMC = this).maskMC = o
}
}
,
p.prototype.maskChangeBottomFrame = function(e, t) {
void 0 === t && (t = !0),
e != this.oldMC.currentFrameNumber && (this.oldMC.gotoAndStop(e),
this.bottomBmd.clear(),
this.bottomBmd.draw(this.oldMC, 0, 0),
this.drawMaskDestIn())
}
,
p.prototype.drawMaskDestIn = function() {
this.mcBmd.clear(),
this.mcBmd.draw(this.bottomBmd).blendDestinationIn(),
this.mcBmd.draw(this.topBmd).blendReset()
}
,
p.prototype.drawMaskDestOut = function() {
this.mcBmd.clear(),
this.mcBmd.draw(this.bottomBmd).blendDestinationOut(),
this.mcBmd.draw(this.topBmd).blendReset()
}
,
p.prototype.maskDrawCircle = function(e, t, i) {
this.topBmd.circle(e, t, i, "green"),
this.drawMaskDestIn()
}
,
p.prototype.maskRemoveCircle = function(e, t, i) {
this.topBmd.circle(e, t, i, "green"),
this.drawMaskDestOut()
}
,
p.prototype.maskClearTop = function(e, t) {
void 0 === e && (e = !1),
void 0 === t && (t = !1),
this.topBmd.clear(),
e && (t ? this.drawMaskDestOut() : this.drawMaskDestIn())
}
,
p.prototype.int = function(e) {
return Math.round(e)
}
,
p.prototype.addShapkaStarsAnimation = function() {
this.addAnimation("stars", 3, 18)
}
,
p.prototype.base_play = function() {
"Turret" == this.mc && (1 == this.currentFrame ? this.gotoLabel("close") : 14 == this.currentFrame ? this.gotoLabel("fire") : 24 == this.currentFrame && this.gotoLabel("open"))
}
,
p.MCName2SpriteSheetName = {},
p.MCName2SpriteSheetLayoutData = {},
p
}(Phaser.Sprite)
, Objects = function() {
function e() {}
return e.data = {
frames: [{
filename: "Ambal0000",
frame: {
x: 61,
y: 2208,
w: 58,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0001",
frame: {
x: 842,
y: 2319,
w: 46,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.7,
y: -20.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0002",
frame: {
x: 4040,
y: 1352,
w: 50,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.7,
y: -20.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0003",
frame: {
x: 1302,
y: 2245,
w: 48,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0004",
frame: {
x: 1302,
y: 2245,
w: 48,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0005",
frame: {
x: 1302,
y: 2245,
w: 48,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0006",
frame: {
x: 3841,
y: 2275,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0007",
frame: {
x: 3841,
y: 2275,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0008",
frame: {
x: 3841,
y: 2275,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0009",
frame: {
x: 1460,
y: 2313,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0010",
frame: {
x: 1460,
y: 2313,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0011",
frame: {
x: 1460,
y: 2313,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0012",
frame: {
x: 2079,
y: 2319,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0013",
frame: {
x: 2079,
y: 2319,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0014",
frame: {
x: 2079,
y: 2319,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0015",
frame: {
x: 3791,
y: 2261,
w: 47,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0016",
frame: {
x: 3791,
y: 2261,
w: 47,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0017",
frame: {
x: 3791,
y: 2261,
w: 47,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0018",
frame: {
x: 3660,
y: 2306,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0019",
frame: {
x: 3660,
y: 2306,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0020",
frame: {
x: 3660,
y: 2306,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0021",
frame: {
x: 1691,
y: 2314,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0022",
frame: {
x: 1691,
y: 2314,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0023",
frame: {
x: 1691,
y: 2314,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0024",
frame: {
x: 3535,
y: 2307,
w: 49,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0025",
frame: {
x: 3535,
y: 2307,
w: 49,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0026",
frame: {
x: 3535,
y: 2307,
w: 49,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0027",
frame: {
x: 1793,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0028",
frame: {
x: 1793,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0029",
frame: {
x: 231,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0030",
frame: {
x: 231,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0031",
frame: {
x: 1719,
y: 2220,
w: 58,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0032",
frame: {
x: 3678,
y: 2212,
w: 60,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0033",
frame: {
x: 741,
y: 2174,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0034",
frame: {
x: 741,
y: 2174,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0035",
frame: {
x: 741,
y: 2174,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0036",
frame: {
x: 2346,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0037",
frame: {
x: 2346,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0038",
frame: {
x: 2346,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0039",
frame: {
x: 3929,
y: 2181,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0040",
frame: {
x: 3929,
y: 2181,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0041",
frame: {
x: 3929,
y: 2181,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0042",
frame: {
x: 3390,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0043",
frame: {
x: 3390,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0044",
frame: {
x: 3390,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0045",
frame: {
x: 3693,
y: 2165,
w: 67,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0046",
frame: {
x: 868,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0047",
frame: {
x: 1844,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0048",
frame: {
x: 1844,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0049",
frame: {
x: 1339,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0050",
frame: {
x: 1339,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0051",
frame: {
x: 740,
y: 2221,
w: 58,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0052",
frame: {
x: 1135,
y: 2213,
w: 60,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0053",
frame: {
x: 3216,
y: 2184,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0054",
frame: {
x: 3216,
y: 2184,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0055",
frame: {
x: 3216,
y: 2184,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0056",
frame: {
x: 3997,
y: 2192,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0057",
frame: {
x: 3997,
y: 2192,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0058",
frame: {
x: 3997,
y: 2192,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0059",
frame: {
x: 1286,
y: 2198,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0060",
frame: {
x: 1286,
y: 2198,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0061",
frame: {
x: 1286,
y: 2198,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0062",
frame: {
x: 2745,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0063",
frame: {
x: 2745,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0064",
frame: {
x: 2745,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0065",
frame: {
x: 1001,
y: 2172,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0066",
frame: {
x: 2115,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0067",
frame: {
x: 1793,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0068",
frame: {
x: 1793,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0069",
frame: {
x: 231,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0070",
frame: {
x: 231,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0071",
frame: {
x: 1719,
y: 2220,
w: 58,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0072",
frame: {
x: 3678,
y: 2212,
w: 60,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0073",
frame: {
x: 741,
y: 2174,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0074",
frame: {
x: 741,
y: 2174,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0075",
frame: {
x: 741,
y: 2174,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0076",
frame: {
x: 2346,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0077",
frame: {
x: 2346,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0078",
frame: {
x: 2346,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0079",
frame: {
x: 3929,
y: 2181,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0080",
frame: {
x: 3929,
y: 2181,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0081",
frame: {
x: 3929,
y: 2181,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0082",
frame: {
x: 3390,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0083",
frame: {
x: 3390,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0084",
frame: {
x: 3390,
y: 2171,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0085",
frame: {
x: 3693,
y: 2165,
w: 67,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0086",
frame: {
x: 868,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0087",
frame: {
x: 868,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0088",
frame: {
x: 868,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0089",
frame: {
x: 3369,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0090",
frame: {
x: 3369,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0091",
frame: {
x: 441,
y: 2173,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0092",
frame: {
x: 441,
y: 2173,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0093",
frame: {
x: 441,
y: 2173,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0094",
frame: {
x: 2750,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0095",
frame: {
x: 2750,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0096",
frame: {
x: 1982,
y: 2202,
w: 64,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0097",
frame: {
x: 1982,
y: 2202,
w: 64,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0098",
frame: {
x: 2750,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0099",
frame: {
x: 2750,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0100",
frame: {
x: 1982,
y: 2202,
w: 64,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0101",
frame: {
x: 1982,
y: 2202,
w: 64,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0102",
frame: {
x: 2750,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0103",
frame: {
x: 2750,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0104",
frame: {
x: 1982,
y: 2202,
w: 64,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0105",
frame: {
x: 1982,
y: 2202,
w: 64,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0106",
frame: {
x: 3369,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0107",
frame: {
x: 3369,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0108",
frame: {
x: 868,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0109",
frame: {
x: 1844,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0110",
frame: {
x: 1844,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0111",
frame: {
x: 1339,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0112",
frame: {
x: 1339,
y: 2309,
w: 44,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0113",
frame: {
x: 740,
y: 2221,
w: 58,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0114",
frame: {
x: 1135,
y: 2213,
w: 60,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0115",
frame: {
x: 3216,
y: 2184,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0116",
frame: {
x: 3216,
y: 2184,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0117",
frame: {
x: 3216,
y: 2184,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0118",
frame: {
x: 3997,
y: 2192,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0119",
frame: {
x: 3997,
y: 2192,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0120",
frame: {
x: 3997,
y: 2192,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0121",
frame: {
x: 1286,
y: 2198,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0122",
frame: {
x: 1286,
y: 2198,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0123",
frame: {
x: 1286,
y: 2198,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -21.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0124",
frame: {
x: 2745,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0125",
frame: {
x: 2745,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0126",
frame: {
x: 2745,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0127",
frame: {
x: 1001,
y: 2172,
w: 66,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0128",
frame: {
x: 2115,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0129",
frame: {
x: 2115,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0130",
frame: {
x: 2115,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0131",
frame: {
x: 3431,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0132",
frame: {
x: 3431,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0133",
frame: {
x: 2813,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0134",
frame: {
x: 2813,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0135",
frame: {
x: 2813,
y: 2199,
w: 65,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0136",
frame: {
x: 3278,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0137",
frame: {
x: 3278,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0138",
frame: {
x: 253,
y: 2207,
w: 63,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0139",
frame: {
x: 253,
y: 2207,
w: 63,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0140",
frame: {
x: 3278,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0141",
frame: {
x: 3278,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0142",
frame: {
x: 253,
y: 2207,
w: 63,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0143",
frame: {
x: 253,
y: 2207,
w: 63,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0144",
frame: {
x: 3278,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0145",
frame: {
x: 3278,
y: 2085,
w: 84,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0146",
frame: {
x: 253,
y: 2207,
w: 63,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0147",
frame: {
x: 253,
y: 2207,
w: 63,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0148",
frame: {
x: 3431,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0149",
frame: {
x: 3431,
y: 2218,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0150",
frame: {
x: 2115,
y: 2227,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0151",
frame: {
x: 2556,
y: 2169,
w: 57,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0152",
frame: {
x: 2556,
y: 2169,
w: 57,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0153",
frame: {
x: 2556,
y: 2169,
w: 57,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0154",
frame: {
x: 2287,
y: 2224,
w: 56,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0155",
frame: {
x: 2287,
y: 2224,
w: 56,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0156",
frame: {
x: 2287,
y: 2224,
w: 56,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0157",
frame: {
x: 1851,
y: 2210,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0158",
frame: {
x: 1851,
y: 2210,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0159",
frame: {
x: 1851,
y: 2210,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0160",
frame: {
x: 2516,
y: 2270,
w: 52,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0161",
frame: {
x: 2516,
y: 2270,
w: 52,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0162",
frame: {
x: 2516,
y: 2270,
w: 52,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0163",
frame: {
x: 1660,
y: 2172,
w: 56,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0164",
frame: {
x: 1660,
y: 2172,
w: 56,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0165",
frame: {
x: 1660,
y: 2172,
w: 56,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0166",
frame: {
x: 2616,
y: 2219,
w: 57,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0167",
frame: {
x: 2616,
y: 2219,
w: 57,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0168",
frame: {
x: 2616,
y: 2219,
w: 57,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -24.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0169",
frame: {
x: 3618,
y: 2210,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0170",
frame: {
x: 3618,
y: 2210,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0171",
frame: {
x: 3618,
y: 2210,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0172",
frame: {
x: 3493,
y: 2224,
w: 56,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0173",
frame: {
x: 3493,
y: 2224,
w: 56,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0174",
frame: {
x: 3493,
y: 2224,
w: 56,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -23.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0175",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0176",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0177",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0178",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0179",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0180",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0181",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0182",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0183",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0184",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0185",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0186",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0187",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0188",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0189",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0190",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0191",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0192",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0193",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0194",
frame: {
x: 3763,
y: 2203,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0195",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0196",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0197",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0198",
frame: {
x: 3864,
y: 2158,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -25.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0199",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0200",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0201",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0202",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0203",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0204",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0205",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0206",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0207",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0208",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0209",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0210",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0211",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0212",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0213",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0214",
frame: {
x: 3553,
y: 2204,
w: 62,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -22.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0215",
frame: {
x: 3587,
y: 2307,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -20.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Ambal0216",
frame: {
x: 972,
y: 2308,
w: 50,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -20.9,
w: 101,
h: 54
},
sourceSize: {
w: 101,
h: 54
}
}, {
filename: "Barrier0000",
frame: {
x: 3635,
y: 410,
w: 5,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.5,
y: -20,
w: 5,
h: 40
},
sourceSize: {
w: 5,
h: 40
}
}, {
filename: "Blast0000",
frame: {
x: 2993,
y: 2202,
w: 52,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -26,
w: 52,
h: 52
},
sourceSize: {
w: 52,
h: 52
}
}, {
filename: "Blast0001",
frame: {
x: 2993,
y: 2202,
w: 52,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -26,
w: 52,
h: 52
},
sourceSize: {
w: 52,
h: 52
}
}, {
filename: "Blast0002",
frame: {
x: 2993,
y: 2202,
w: 52,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -26,
w: 52,
h: 52
},
sourceSize: {
w: 52,
h: 52
}
}, {
filename: "Blast0003",
frame: {
x: 2993,
y: 2202,
w: 52,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -26,
w: 52,
h: 52
},
sourceSize: {
w: 52,
h: 52
}
}, {
filename: "Blast0004",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 52,
h: 52
},
sourceSize: {
w: 52,
h: 52
}
}, {
filename: "Bob0000",
frame: {
x: 985,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0001",
frame: {
x: 801,
y: 2228,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0002",
frame: {
x: 3473,
y: 2319,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0003",
frame: {
x: 3473,
y: 2319,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0004",
frame: {
x: 3473,
y: 2319,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0005",
frame: {
x: 2552,
y: 2354,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0006",
frame: {
x: 2552,
y: 2354,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0007",
frame: {
x: 2552,
y: 2354,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0008",
frame: {
x: 3123,
y: 1702,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0009",
frame: {
x: 3123,
y: 1702,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0010",
frame: {
x: 3123,
y: 1702,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0011",
frame: {
x: 3619,
y: 2390,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0012",
frame: {
x: 3619,
y: 2390,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0013",
frame: {
x: 3619,
y: 2390,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0014",
frame: {
x: 919,
y: 2297,
w: 50,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0015",
frame: {
x: 919,
y: 2297,
w: 50,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0016",
frame: {
x: 919,
y: 2297,
w: 50,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0017",
frame: {
x: 686,
y: 2368,
w: 50,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0018",
frame: {
x: 686,
y: 2368,
w: 50,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0019",
frame: {
x: 686,
y: 2368,
w: 50,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0020",
frame: {
x: 2345,
y: 2272,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0021",
frame: {
x: 2345,
y: 2272,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0022",
frame: {
x: 2345,
y: 2272,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0023",
frame: {
x: 4006,
y: 2239,
w: 48,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0024",
frame: {
x: 4006,
y: 2239,
w: 48,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0025",
frame: {
x: 4006,
y: 2239,
w: 48,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0026",
frame: {
x: 2049,
y: 2211,
w: 63,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0027",
frame: {
x: 2049,
y: 2211,
w: 63,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0028",
frame: {
x: 3561,
y: 2439,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0029",
frame: {
x: 3561,
y: 2439,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0030",
frame: {
x: 3762,
y: 2315,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0031",
frame: {
x: 3762,
y: 2315,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0032",
frame: {
x: 2952,
y: 2346,
w: 47,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0033",
frame: {
x: 2952,
y: 2346,
w: 47,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0034",
frame: {
x: 3359,
y: 2265,
w: 53,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0035",
frame: {
x: 3359,
y: 2265,
w: 53,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0036",
frame: {
x: 1660,
y: 1768,
w: 62,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0037",
frame: {
x: 1660,
y: 1768,
w: 62,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0038",
frame: {
x: 2665,
y: 2309,
w: 56,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0039",
frame: {
x: 2665,
y: 2309,
w: 56,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0040",
frame: {
x: 426,
y: 2310,
w: 56,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0041",
frame: {
x: 426,
y: 2310,
w: 56,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0042",
frame: {
x: 2708,
y: 2432,
w: 42,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0043",
frame: {
x: 2708,
y: 2432,
w: 42,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0044",
frame: {
x: 291,
y: 2262,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0045",
frame: {
x: 291,
y: 2262,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0046",
frame: {
x: 1070,
y: 2211,
w: 62,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0047",
frame: {
x: 1070,
y: 2211,
w: 62,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0048",
frame: {
x: 1070,
y: 2211,
w: 62,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0049",
frame: {
x: 1070,
y: 2211,
w: 62,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0050",
frame: {
x: 1070,
y: 2211,
w: 62,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0051",
frame: {
x: 861,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0052",
frame: {
x: 861,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0053",
frame: {
x: 861,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0054",
frame: {
x: 861,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0055",
frame: {
x: 861,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0056",
frame: {
x: 985,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0057",
frame: {
x: 985,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0058",
frame: {
x: 985,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0059",
frame: {
x: 890,
y: 2402,
w: 41,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0060",
frame: {
x: 890,
y: 2402,
w: 41,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0061",
frame: {
x: 890,
y: 2402,
w: 41,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0062",
frame: {
x: 2923,
y: 1818,
w: 41,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0063",
frame: {
x: 2923,
y: 1818,
w: 41,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0064",
frame: {
x: 2923,
y: 1818,
w: 41,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0065",
frame: {
x: 1192,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0066",
frame: {
x: 1192,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0067",
frame: {
x: 1238,
y: 2399,
w: 43,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0068",
frame: {
x: 3886,
y: 2228,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0069",
frame: {
x: 3886,
y: 2228,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0070",
frame: {
x: 3886,
y: 2228,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0071",
frame: {
x: 3188,
y: 2231,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0072",
frame: {
x: 3188,
y: 2231,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0073",
frame: {
x: 3188,
y: 2231,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0074",
frame: {
x: 181,
y: 2211,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0075",
frame: {
x: 181,
y: 2211,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0076",
frame: {
x: 181,
y: 2211,
w: 57,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0077",
frame: {
x: 1780,
y: 2236,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0078",
frame: {
x: 1780,
y: 2236,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0079",
frame: {
x: 1780,
y: 2236,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0080",
frame: {
x: 3741,
y: 2251,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0081",
frame: {
x: 2376,
y: 1877,
w: 47,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0082",
frame: {
x: 3552,
y: 2252,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0083",
frame: {
x: 1559,
y: 2119,
w: 71,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0084",
frame: {
x: 528,
y: 2356,
w: 46,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0085",
frame: {
x: 1940,
y: 2348,
w: 46,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0086",
frame: {
x: 637,
y: 2356,
w: 46,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0087",
frame: {
x: 3725,
y: 2117,
w: 72,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -51.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0088",
frame: {
x: 3741,
y: 2251,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0089",
frame: {
x: 241,
y: 2254,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0090",
frame: {
x: 3309,
y: 2244,
w: 47,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0091",
frame: {
x: 1252,
y: 2245,
w: 47,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0092",
frame: {
x: 1409,
y: 2207,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0093",
frame: {
x: 3109,
y: 2246,
w: 55,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0094",
frame: {
x: 3048,
y: 2213,
w: 58,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0095",
frame: {
x: 1785,
y: 2188,
w: 63,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0096",
frame: {
x: 528,
y: 2356,
w: 46,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0097",
frame: {
x: 1587,
y: 2265,
w: 46,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -26.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0098",
frame: {
x: 1989,
y: 2348,
w: 46,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0099",
frame: {
x: 1025,
y: 2349,
w: 46,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -21.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0100",
frame: {
x: 3,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0101",
frame: {
x: 928,
y: 2249,
w: 55,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0102",
frame: {
x: 1785,
y: 1641,
w: 59,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0103",
frame: {
x: 932,
y: 2201,
w: 63,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0104",
frame: {
x: 187,
y: 2161,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0105",
frame: {
x: 187,
y: 2161,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0106",
frame: {
x: 187,
y: 2161,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0107",
frame: {
x: 1088,
y: 2161,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0108",
frame: {
x: 1088,
y: 2161,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0109",
frame: {
x: 1088,
y: 2161,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0110",
frame: {
x: 1154,
y: 2163,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0111",
frame: {
x: 1154,
y: 2163,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0112",
frame: {
x: 1154,
y: 2163,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0113",
frame: {
x: 1468,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0114",
frame: {
x: 1468,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0115",
frame: {
x: 1468,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0116",
frame: {
x: 1468,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0117",
frame: {
x: 1916,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0118",
frame: {
x: 1916,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0119",
frame: {
x: 1916,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0120",
frame: {
x: 1916,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0121",
frame: {
x: 2424,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0122",
frame: {
x: 2424,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0123",
frame: {
x: 2424,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0124",
frame: {
x: 2424,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0125",
frame: {
x: 2490,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0126",
frame: {
x: 2490,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0127",
frame: {
x: 2490,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0128",
frame: {
x: 2490,
y: 2164,
w: 63,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0129",
frame: {
x: 2498,
y: 2368,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0130",
frame: {
x: 2498,
y: 2368,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0131",
frame: {
x: 2498,
y: 2368,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0132",
frame: {
x: 2498,
y: 2368,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0133",
frame: {
x: 448,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0134",
frame: {
x: 448,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0135",
frame: {
x: 448,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0136",
frame: {
x: 448,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0137",
frame: {
x: 739,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0138",
frame: {
x: 739,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0139",
frame: {
x: 739,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0140",
frame: {
x: 739,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0141",
frame: {
x: 1486,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0142",
frame: {
x: 1486,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0143",
frame: {
x: 1486,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0144",
frame: {
x: 1486,
y: 2369,
w: 46,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0145",
frame: {
x: 1353,
y: 2254,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0146",
frame: {
x: 1353,
y: 2254,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0147",
frame: {
x: 1353,
y: 2254,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0148",
frame: {
x: 1353,
y: 2254,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0149",
frame: {
x: 503,
y: 2255,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0150",
frame: {
x: 503,
y: 2255,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0151",
frame: {
x: 503,
y: 2255,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0152",
frame: {
x: 503,
y: 2255,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0153",
frame: {
x: 639,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0154",
frame: {
x: 639,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0155",
frame: {
x: 639,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0156",
frame: {
x: 639,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0157",
frame: {
x: 689,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0158",
frame: {
x: 689,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0159",
frame: {
x: 689,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0160",
frame: {
x: 689,
y: 2256,
w: 47,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -20.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0161",
frame: {
x: 3271,
y: 2300,
w: 50,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -18.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0162",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0163",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0164",
frame: {
x: 265,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0165",
frame: {
x: 265,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0166",
frame: {
x: 265,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0167",
frame: {
x: 265,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0168",
frame: {
x: 1425,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0169",
frame: {
x: 1425,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0170",
frame: {
x: 3198,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0171",
frame: {
x: 3198,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0172",
frame: {
x: 265,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0173",
frame: {
x: 265,
y: 2088,
w: 64,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -37.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0174",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0175",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0176",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0177",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0178",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0179",
frame: {
x: 332,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0180",
frame: {
x: 3365,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0181",
frame: {
x: 3365,
y: 2089,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0182",
frame: {
x: 941,
y: 2090,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0183",
frame: {
x: 941,
y: 2090,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0184",
frame: {
x: 3594,
y: 2093,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0185",
frame: {
x: 3594,
y: 2093,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -30.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0186",
frame: {
x: 3222,
y: 1430,
w: 52,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0187",
frame: {
x: 3222,
y: 1430,
w: 52,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0188",
frame: {
x: 1516,
y: 2270,
w: 50,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0189",
frame: {
x: 1516,
y: 2270,
w: 50,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0190",
frame: {
x: 3711,
y: 2306,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0191",
frame: {
x: 3711,
y: 2306,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0192",
frame: {
x: 1031,
y: 2399,
w: 39,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0193",
frame: {
x: 1073,
y: 2436,
w: 39,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0194",
frame: {
x: 2431,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0195",
frame: {
x: 2431,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0196",
frame: {
x: 3516,
y: 2405,
w: 42,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0197",
frame: {
x: 3516,
y: 2405,
w: 42,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0198",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0199",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0200",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0201",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0202",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0203",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0204",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0205",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0206",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0207",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0208",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0209",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0210",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0211",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0212",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0213",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0214",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0215",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0216",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0217",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0218",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0219",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0220",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0221",
frame: {
x: 2860,
y: 1476,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -25.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0222",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0223",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0224",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0225",
frame: {
x: 439,
y: 1683,
w: 44,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0226",
frame: {
x: 3516,
y: 2405,
w: 42,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0227",
frame: {
x: 3516,
y: 2405,
w: 42,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.4,
y: -23.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0228",
frame: {
x: 1073,
y: 2436,
w: 39,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0229",
frame: {
x: 1031,
y: 2399,
w: 39,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0230",
frame: {
x: 2645,
y: 1764,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0231",
frame: {
x: 2993,
y: 2257,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0232",
frame: {
x: 2993,
y: 2257,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0233",
frame: {
x: 1534,
y: 2167,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0234",
frame: {
x: 1534,
y: 2167,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0235",
frame: {
x: 1597,
y: 2167,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0236",
frame: {
x: 1597,
y: 2167,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0237",
frame: {
x: 2622,
y: 2167,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0238",
frame: {
x: 2622,
y: 2167,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0239",
frame: {
x: 2697,
y: 1693,
w: 67,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0240",
frame: {
x: 2697,
y: 1693,
w: 67,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0241",
frame: {
x: 400,
y: 2113,
w: 64,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0242",
frame: {
x: 400,
y: 2113,
w: 64,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0243",
frame: {
x: 3057,
y: 1773,
w: 63,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0244",
frame: {
x: 3057,
y: 1773,
w: 63,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0245",
frame: {
x: 3493,
y: 2118,
w: 66,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0246",
frame: {
x: 3493,
y: 2118,
w: 66,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0247",
frame: {
x: 1924,
y: 2112,
w: 67,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0248",
frame: {
x: 1924,
y: 2112,
w: 67,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0249",
frame: {
x: 61,
y: 2156,
w: 61,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0250",
frame: {
x: 61,
y: 2156,
w: 61,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0251",
frame: {
x: 935,
y: 2149,
w: 63,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0252",
frame: {
x: 935,
y: 2149,
w: 63,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0253",
frame: {
x: 3265,
y: 2132,
w: 64,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0254",
frame: {
x: 3265,
y: 2132,
w: 64,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0255",
frame: {
x: 2622,
y: 2112,
w: 63,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0256",
frame: {
x: 2622,
y: 2112,
w: 63,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -24.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0257",
frame: {
x: 3562,
y: 2152,
w: 63,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0258",
frame: {
x: 3562,
y: 2152,
w: 63,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0259",
frame: {
x: 1852,
y: 2158,
w: 61,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0260",
frame: {
x: 1852,
y: 2158,
w: 61,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0261",
frame: {
x: 618,
y: 2168,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0262",
frame: {
x: 618,
y: 2168,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0263",
frame: {
x: 1722,
y: 2168,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0264",
frame: {
x: 1722,
y: 2168,
w: 60,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0265",
frame: {
x: 2993,
y: 2257,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0266",
frame: {
x: 2993,
y: 2257,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0267",
frame: {
x: 2645,
y: 1764,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0268",
frame: {
x: 3493,
y: 2170,
w: 57,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0269",
frame: {
x: 3493,
y: 2170,
w: 57,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0270",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0271",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0272",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0273",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0274",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0275",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0276",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0277",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0278",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0279",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0280",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0281",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0282",
frame: {
x: 681,
y: 2204,
w: 56,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0283",
frame: {
x: 809,
y: 2174,
w: 56,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0284",
frame: {
x: 809,
y: 2174,
w: 56,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0285",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0286",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0287",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0288",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0289",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0290",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0291",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0292",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0293",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0294",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0295",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0296",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "Bob0297",
frame: {
x: 3828,
y: 2209,
w: 55,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -22.7,
w: 103,
h: 74
},
sourceSize: {
w: 103,
h: 74
}
}, {
filename: "BobFireLightningOz0000",
frame: {
x: 442,
y: 2024,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0001",
frame: {
x: 442,
y: 2024,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0002",
frame: {
x: 2066,
y: 2031,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0003",
frame: {
x: 2066,
y: 2031,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0004",
frame: {
x: 442,
y: 2035,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0005",
frame: {
x: 442,
y: 2035,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0006",
frame: {
x: 2066,
y: 2031,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobFireLightningOz0007",
frame: {
x: 2066,
y: 2031,
w: 530,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 530,
h: 8
},
sourceSize: {
w: 530,
h: 8
}
}, {
filename: "BobMarker0000",
frame: {
x: 2595,
y: 2438,
w: 41,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.1,
y: -21.2,
w: 41,
h: 43
},
sourceSize: {
w: 41,
h: 43
}
}, {
filename: "BobTailLeft0000",
frame: {
x: 1501,
y: 1934,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0001",
frame: {
x: 1684,
y: 2411,
w: 43,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0002",
frame: {
x: 2480,
y: 2416,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.9,
y: -22.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0003",
frame: {
x: 99,
y: 2366,
w: 43,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -22.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0004",
frame: {
x: 3573,
y: 2389,
w: 43,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -22.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0005",
frame: {
x: 1783,
y: 2404,
w: 41,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0006",
frame: {
x: 2130,
y: 2366,
w: 43,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -22.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0007",
frame: {
x: 3817,
y: 2407,
w: 41,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0008",
frame: {
x: 3262,
y: 2349,
w: 48,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.9,
y: -20.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0009",
frame: {
x: 1510,
y: 2320,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0010",
frame: {
x: 3002,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0011",
frame: {
x: 1535,
y: 2369,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0012",
frame: {
x: 2345,
y: 2413,
w: 43,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0013",
frame: {
x: 1561,
y: 2320,
w: 48,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.9,
y: -21.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailLeft0014",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.9,
y: -.9,
w: 48,
h: 49
},
sourceSize: {
w: 48,
h: 49
}
}, {
filename: "BobTailRight0000",
frame: {
x: 2132,
y: 2418,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0001",
frame: {
x: 3906,
y: 2432,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0002",
frame: {
x: 2391,
y: 2434,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0003",
frame: {
x: 2435,
y: 2434,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0004",
frame: {
x: 2753,
y: 2434,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0005",
frame: {
x: 2867,
y: 2434,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0006",
frame: {
x: 3321,
y: 2435,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0007",
frame: {
x: 420,
y: 2417,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0008",
frame: {
x: 724,
y: 2417,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0009",
frame: {
x: 1478,
y: 2417,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0010",
frame: {
x: 2278,
y: 2417,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0011",
frame: {
x: 98,
y: 2418,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0012",
frame: {
x: 1874,
y: 2418,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0013",
frame: {
x: 3365,
y: 2435,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.9,
y: -21.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailRight0014",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.9,
y: -.3,
w: 42,
h: 44
},
sourceSize: {
w: 42,
h: 44
}
}, {
filename: "BobTailUp0000",
frame: {
x: 3893,
y: 2275,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0001",
frame: {
x: 3167,
y: 2278,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0002",
frame: {
x: 1769,
y: 2283,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0003",
frame: {
x: 2733,
y: 2286,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0004",
frame: {
x: 3945,
y: 2286,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0005",
frame: {
x: 3219,
y: 2290,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0006",
frame: {
x: 2785,
y: 2291,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0007",
frame: {
x: 2327,
y: 2323,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0008",
frame: {
x: 3884,
y: 2325,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0009",
frame: {
x: 789,
y: 2326,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0010",
frame: {
x: 3149,
y: 2328,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0011",
frame: {
x: 1741,
y: 2333,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0012",
frame: {
x: 2724,
y: 2336,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0013",
frame: {
x: 3936,
y: 2336,
w: 49,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.8,
y: -24.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BobTailUp0014",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: -.4,
w: 49,
h: 47
},
sourceSize: {
w: 49,
h: 47
}
}, {
filename: "BodySensor0000",
frame: {
x: 819,
y: 1373,
w: 67,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 67,
h: 23
},
sourceSize: {
w: 67,
h: 23
}
}, {
filename: "BonusLevelTip0000",
frame: {
x: 3966,
y: 663,
w: 113,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -56,
y: -34.2,
w: 113,
h: 69
},
sourceSize: {
w: 113,
h: 69
}
}, {
filename: "Busted0000",
frame: {
x: 912,
y: 1e3,
w: 251,
h: 187
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -125.4,
y: -93.9,
w: 251,
h: 187
},
sourceSize: {
w: 251,
h: 187
}
}, {
filename: "ButtonBackToGame0000",
frame: {
x: 3,
y: 1835,
w: 200,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 210,
h: 33
},
sourceSize: {
w: 210,
h: 33
}
}, {
filename: "ButtonBackToGame0001",
frame: {
x: 1840,
y: 1830,
w: 210,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5,
y: -.8,
w: 210,
h: 33
},
sourceSize: {
w: 210,
h: 33
}
}, {
filename: "ButtonBackToGame0002",
frame: {
x: 3,
y: 1835,
w: 200,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 210,
h: 33
},
sourceSize: {
w: 210,
h: 33
}
}, {
filename: "ButtonClearProgress0000",
frame: {
x: 1381,
y: 1865,
w: 210,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.8,
w: 220,
h: 31
},
sourceSize: {
w: 220,
h: 31
}
}, {
filename: "ButtonClearProgress0001",
frame: {
x: 368,
y: 1831,
w: 220,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.7,
y: -.8,
w: 220,
h: 31
},
sourceSize: {
w: 220,
h: 31
}
}, {
filename: "ButtonLevelsMap0000",
frame: {
x: 1381,
y: 1898,
w: 162,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 170,
h: 34
},
sourceSize: {
w: 170,
h: 34
}
}, {
filename: "ButtonLevelsMap0001",
frame: {
x: 3,
y: 1870,
w: 170,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.1,
y: -.8,
w: 170,
h: 34
},
sourceSize: {
w: 170,
h: 34
}
}, {
filename: "ButtonLevelsMap0002",
frame: {
x: 1381,
y: 1898,
w: 162,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 170,
h: 34
},
sourceSize: {
w: 170,
h: 34
}
}, {
filename: "ButtonShop0000",
frame: {
x: 2860,
y: 1558,
w: 154,
h: 129
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 24,
w: 170,
h: 170
},
sourceSize: {
w: 170,
h: 170
}
}, {
filename: "ButtonShop0001",
frame: {
x: 3104,
y: 1257,
w: 170,
h: 170
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -8,
w: 170,
h: 170
},
sourceSize: {
w: 170,
h: 170
}
}, {
filename: "ButtonSponsorLevelMap0000",
frame: {
x: 176,
y: 1426,
w: 155,
h: 153
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 171,
h: 194
},
sourceSize: {
w: 171,
h: 194
}
}, {
filename: "ButtonSponsorLevelMap0001",
frame: {
x: 3866,
y: 1206,
w: 171,
h: 194
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -32,
w: 171,
h: 194
},
sourceSize: {
w: 171,
h: 194
}
}, {
filename: "ButtonWalkthrough0000",
frame: {
x: 1937,
y: 1869,
w: 195,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.4,
y: -.8,
w: 205,
h: 31
},
sourceSize: {
w: 205,
h: 31
}
}, {
filename: "ButtonWalkthrough0001",
frame: {
x: 265,
y: 1865,
w: 205,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.4,
y: -.8,
w: 205,
h: 31
},
sourceSize: {
w: 205,
h: 31
}
}, {
filename: "ButtonZXC0000",
frame: {
x: 1627,
y: 1509,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30,
y: -30,
w: 61,
h: 61
},
sourceSize: {
w: 61,
h: 61
}
}, {
filename: "ButtonZXC0001",
frame: {
x: 3134,
y: 2057,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30,
y: -30,
w: 61,
h: 61
},
sourceSize: {
w: 61,
h: 61
}
}, {
filename: "ButtonZXC0002",
frame: {
x: 3971,
y: 2057,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30,
y: -30,
w: 61,
h: 61
},
sourceSize: {
w: 61,
h: 61
}
}, {
filename: "ButtonZXC0003",
frame: {
x: 1041,
y: 2063,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30,
y: -30,
w: 61,
h: 61
},
sourceSize: {
w: 61,
h: 61
}
}, {
filename: "ButtonZXC0004",
frame: {
x: 1797,
y: 2063,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30,
y: -30,
w: 61,
h: 61
},
sourceSize: {
w: 61,
h: 61
}
}, {
filename: "ButtonZXC0005",
frame: {
x: 1297,
y: 2070,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30,
y: -30,
w: 61,
h: 61
},
sourceSize: {
w: 61,
h: 61
}
}, {
filename: "CodeWinBut0000",
frame: {
x: 2955,
y: 2450,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0001",
frame: {
x: 3707,
y: 2450,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0002",
frame: {
x: 46,
y: 2451,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0003",
frame: {
x: 465,
y: 2451,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0004",
frame: {
x: 3244,
y: 2451,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0005",
frame: {
x: 3409,
y: 2451,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0006",
frame: {
x: 3452,
y: 2451,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0007",
frame: {
x: 231,
y: 2452,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0008",
frame: {
x: 588,
y: 2452,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0009",
frame: {
x: 863,
y: 2452,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0010",
frame: {
x: 2220,
y: 2452,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0011",
frame: {
x: 3750,
y: 2452,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0012",
frame: {
x: 631,
y: 2453,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0013",
frame: {
x: 674,
y: 2453,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0014",
frame: {
x: 3495,
y: 2453,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0015",
frame: {
x: 1782,
y: 2454,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0016",
frame: {
x: 1971,
y: 2455,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0017",
frame: {
x: 3793,
y: 2456,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0018",
frame: {
x: 1681,
y: 2457,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CodeWinBut0019",
frame: {
x: 2323,
y: 2459,
w: 40,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 40,
h: 41
},
sourceSize: {
w: 40,
h: 41
}
}, {
filename: "CompInfo0000",
frame: {
x: 1709,
y: 1227,
w: 165,
h: 178
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8,
y: 17,
w: 165,
h: 197
},
sourceSize: {
w: 165,
h: 197
}
}, {
filename: "CompInfo0001",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 165,
h: 197
},
sourceSize: {
w: 165,
h: 197
}
}, {
filename: "CompInfo0002",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 165,
h: 197
},
sourceSize: {
w: 165,
h: 197
}
}, {
filename: "CompInfo0003",
frame: {
x: 3731,
y: 1250,
w: 131,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: 0,
w: 165,
h: 197
},
sourceSize: {
w: 165,
h: 197
}
}, {
filename: "CompInfo0004",
frame: {
x: 3434,
y: 1427,
w: 125,
h: 166
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: 31,
w: 165,
h: 197
},
sourceSize: {
w: 165,
h: 197
}
}, {
filename: "CompInfo0005",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 165,
h: 197
},
sourceSize: {
w: 165,
h: 197
}
}, {
filename: "CompMenu0000",
frame: {
x: 2e3,
y: 1676,
w: 144,
h: 91
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0001",
frame: {
x: 3330,
y: 1676,
w: 144,
h: 90
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0002",
frame: {
x: 486,
y: 1677,
w: 144,
h: 90
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0003",
frame: {
x: 3920,
y: 1674,
w: 144,
h: 92
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0004",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0005",
frame: {
x: 1475,
y: 1509,
w: 149,
h: 137
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0006",
frame: {
x: 819,
y: 1532,
w: 149,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0007",
frame: {
x: 3562,
y: 1440,
w: 152,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0008",
frame: {
x: 2035,
y: 1537,
w: 149,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0009",
frame: {
x: 556,
y: 1538,
w: 149,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0010",
frame: {
x: 2556,
y: 1476,
w: 149,
h: 138
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0011",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0012",
frame: {
x: 3717,
y: 1521,
w: 149,
h: 137
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0013",
frame: {
x: 334,
y: 1544,
w: 149,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0014",
frame: {
x: 2244,
y: 1476,
w: 152,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0015",
frame: {
x: 1848,
y: 1550,
w: 149,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0016",
frame: {
x: 3,
y: 1554,
w: 149,
h: 136
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "CompMenu0017",
frame: {
x: 2708,
y: 1476,
w: 149,
h: 138
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 1,
w: 152,
h: 139
},
sourceSize: {
w: 152,
h: 139
}
}, {
filename: "DatchicDanger0000",
frame: {
x: 3845,
y: 1368,
w: 17,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8,
y: -14,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0001",
frame: {
x: 3201,
y: 668,
w: 13,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -13,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0002",
frame: {
x: 3109,
y: 2207,
w: 76,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -18,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0003",
frame: {
x: 3109,
y: 2207,
w: 76,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -18,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0004",
frame: {
x: 3109,
y: 2207,
w: 76,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -18,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0005",
frame: {
x: 3109,
y: 2207,
w: 76,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -18,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0006",
frame: {
x: 3109,
y: 2207,
w: 76,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -18,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0007",
frame: {
x: 2952,
y: 2309,
w: 66,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0008",
frame: {
x: 2952,
y: 2309,
w: 66,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0009",
frame: {
x: 2952,
y: 2309,
w: 66,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0010",
frame: {
x: 2952,
y: 2309,
w: 66,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0011",
frame: {
x: 2952,
y: 2309,
w: 66,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0012",
frame: {
x: 2739,
y: 2246,
w: 67,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -20,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0013",
frame: {
x: 2739,
y: 2246,
w: 67,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -20,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0014",
frame: {
x: 2739,
y: 2246,
w: 67,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -20,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0015",
frame: {
x: 2739,
y: 2246,
w: 67,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -20,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0016",
frame: {
x: 2739,
y: 2246,
w: 67,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -20,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "DatchicDanger0017",
frame: {
x: 2739,
y: 2246,
w: 67,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -20,
w: 76,
h: 38
},
sourceSize: {
w: 76,
h: 38
}
}, {
filename: "Ded0000",
frame: {
x: 3332,
y: 2148,
w: 55,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0001",
frame: {
x: 3332,
y: 2148,
w: 55,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0002",
frame: {
x: 3332,
y: 2148,
w: 55,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0003",
frame: {
x: 3332,
y: 2148,
w: 55,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0004",
frame: {
x: 2234,
y: 2102,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0005",
frame: {
x: 2234,
y: 2102,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0006",
frame: {
x: 2234,
y: 2102,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0007",
frame: {
x: 2234,
y: 2102,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0008",
frame: {
x: 3222,
y: 1492,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0009",
frame: {
x: 3222,
y: 1492,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0010",
frame: {
x: 3222,
y: 1492,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0011",
frame: {
x: 3222,
y: 1492,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0012",
frame: {
x: 817,
y: 2112,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0013",
frame: {
x: 817,
y: 2112,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0014",
frame: {
x: 817,
y: 2112,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0015",
frame: {
x: 817,
y: 2112,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0016",
frame: {
x: 3947,
y: 2121,
w: 56,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0017",
frame: {
x: 3947,
y: 2121,
w: 56,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0018",
frame: {
x: 3947,
y: 2121,
w: 56,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0019",
frame: {
x: 3947,
y: 2121,
w: 56,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0020",
frame: {
x: 2298,
y: 2107,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0021",
frame: {
x: 2298,
y: 2107,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0022",
frame: {
x: 2298,
y: 2107,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0023",
frame: {
x: 2298,
y: 2107,
w: 61,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0024",
frame: {
x: 1729,
y: 1697,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0025",
frame: {
x: 1729,
y: 1697,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0026",
frame: {
x: 1729,
y: 1697,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0027",
frame: {
x: 1729,
y: 1697,
w: 52,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0028",
frame: {
x: 1794,
y: 2127,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0029",
frame: {
x: 1794,
y: 2127,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0030",
frame: {
x: 1794,
y: 2127,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0031",
frame: {
x: 1794,
y: 2127,
w: 55,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0032",
frame: {
x: 3947,
y: 2121,
w: 56,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0033",
frame: {
x: 3332,
y: 2148,
w: 55,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0034",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0035",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0036",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0037",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0038",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0039",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0040",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0041",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0042",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0043",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0044",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0045",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0046",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0047",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0048",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0049",
frame: {
x: 812,
y: 2046,
w: 60,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0050",
frame: {
x: 812,
y: 2046,
w: 60,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0051",
frame: {
x: 812,
y: 2046,
w: 60,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0052",
frame: {
x: 812,
y: 2046,
w: 60,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0053",
frame: {
x: 812,
y: 2046,
w: 60,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0054",
frame: {
x: 812,
y: 2046,
w: 60,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0055",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0056",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0057",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0058",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0059",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0060",
frame: {
x: 3449,
y: 1971,
w: 71,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0061",
frame: {
x: 1994,
y: 1984,
w: 69,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0062",
frame: {
x: 1994,
y: 1984,
w: 69,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0063",
frame: {
x: 1994,
y: 1984,
w: 69,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0064",
frame: {
x: 1994,
y: 1984,
w: 69,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0065",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0066",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0067",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0068",
frame: {
x: 557,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0069",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0070",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0071",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0072",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0073",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0074",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0075",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0076",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0077",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0078",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0079",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0080",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0081",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0082",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0083",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0084",
frame: {
x: 1968,
y: 2050,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0085",
frame: {
x: 1968,
y: 2050,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0086",
frame: {
x: 1968,
y: 2050,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0087",
frame: {
x: 1968,
y: 2050,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0088",
frame: {
x: 1968,
y: 2050,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0089",
frame: {
x: 1968,
y: 2050,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0090",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0091",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0092",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0093",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0094",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0095",
frame: {
x: 3995,
y: 1995,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0096",
frame: {
x: 1826,
y: 2001,
w: 70,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0097",
frame: {
x: 1826,
y: 2001,
w: 70,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0098",
frame: {
x: 1826,
y: 2001,
w: 70,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0099",
frame: {
x: 1826,
y: 2001,
w: 70,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0100",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0101",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0102",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0103",
frame: {
x: 625,
y: 2046,
w: 65,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -27.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0104",
frame: {
x: 2175,
y: 2165,
w: 56,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29,
y: -21.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Ded0105",
frame: {
x: 2287,
y: 2169,
w: 56,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29,
y: -21.6,
w: 80,
h: 63
},
sourceSize: {
w: 80,
h: 63
}
}, {
filename: "Dog0000",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0001",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0002",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0003",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0004",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0005",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0006",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0007",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0008",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0009",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0010",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0011",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0012",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0013",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0014",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0015",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0016",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0017",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0018",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0019",
frame: {
x: 1041,
y: 2023,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0020",
frame: {
x: 1041,
y: 2023,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0021",
frame: {
x: 1994,
y: 2112,
w: 38,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0022",
frame: {
x: 1994,
y: 2112,
w: 38,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0023",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0024",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0025",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0026",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0027",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0028",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0029",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0030",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0031",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0032",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0033",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0034",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0035",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0036",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0037",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0038",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0039",
frame: {
x: 2685,
y: 2478,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0040",
frame: {
x: 1994,
y: 2112,
w: 38,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0041",
frame: {
x: 1994,
y: 2112,
w: 38,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0042",
frame: {
x: 1041,
y: 2023,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0043",
frame: {
x: 1041,
y: 2023,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0044",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0045",
frame: {
x: 2631,
y: 2352,
w: 50,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0046",
frame: {
x: 2631,
y: 2352,
w: 50,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0047",
frame: {
x: 193,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0048",
frame: {
x: 193,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0049",
frame: {
x: 1284,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0050",
frame: {
x: 1284,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0051",
frame: {
x: 1425,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0052",
frame: {
x: 1425,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0053",
frame: {
x: 3173,
y: 1872,
w: 57,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0054",
frame: {
x: 3173,
y: 1872,
w: 57,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0055",
frame: {
x: 1730,
y: 2429,
w: 49,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0056",
frame: {
x: 1730,
y: 2429,
w: 49,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0057",
frame: {
x: 3031,
y: 2436,
w: 49,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0058",
frame: {
x: 3031,
y: 2436,
w: 49,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0059",
frame: {
x: 2438,
y: 2346,
w: 57,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0060",
frame: {
x: 2438,
y: 2346,
w: 57,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0061",
frame: {
x: 342,
y: 2353,
w: 50,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0062",
frame: {
x: 342,
y: 2353,
w: 50,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0063",
frame: {
x: 2034,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0064",
frame: {
x: 2034,
y: 2410,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0065",
frame: {
x: 2225,
y: 2412,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0066",
frame: {
x: 2225,
y: 2412,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0067",
frame: {
x: 671,
y: 2413,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0068",
frame: {
x: 671,
y: 2413,
w: 50,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0069",
frame: {
x: 3731,
y: 2365,
w: 57,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0070",
frame: {
x: 3731,
y: 2365,
w: 57,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0071",
frame: {
x: 3149,
y: 2429,
w: 49,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0072",
frame: {
x: 3149,
y: 2429,
w: 49,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0073",
frame: {
x: 1919,
y: 2438,
w: 49,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0074",
frame: {
x: 1919,
y: 2438,
w: 49,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -16.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0075",
frame: {
x: 2892,
y: 2346,
w: 57,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0076",
frame: {
x: 2892,
y: 2346,
w: 57,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0077",
frame: {
x: 2571,
y: 2312,
w: 57,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0078",
frame: {
x: 152,
y: 2313,
w: 57,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0079",
frame: {
x: 342,
y: 2313,
w: 60,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0080",
frame: {
x: 342,
y: 2313,
w: 60,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0081",
frame: {
x: 342,
y: 2313,
w: 60,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0082",
frame: {
x: 2090,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0083",
frame: {
x: 2090,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0084",
frame: {
x: 2090,
y: 2274,
w: 55,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0085",
frame: {
x: 374,
y: 2167,
w: 64,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0086",
frame: {
x: 374,
y: 2167,
w: 64,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0087",
frame: {
x: 374,
y: 2167,
w: 64,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0088",
frame: {
x: 3415,
y: 2265,
w: 61,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0089",
frame: {
x: 3415,
y: 2265,
w: 61,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0090",
frame: {
x: 3415,
y: 2265,
w: 61,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0091",
frame: {
x: 3415,
y: 2307,
w: 55,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -21.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0092",
frame: {
x: 3415,
y: 2307,
w: 55,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -21.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0093",
frame: {
x: 3415,
y: 2307,
w: 55,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -21.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0094",
frame: {
x: 2438,
y: 2306,
w: 61,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0095",
frame: {
x: 2438,
y: 2306,
w: 61,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0096",
frame: {
x: 2438,
y: 2306,
w: 61,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0097",
frame: {
x: 1712,
y: 2267,
w: 54,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0098",
frame: {
x: 1712,
y: 2267,
w: 54,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0099",
frame: {
x: 1712,
y: 2267,
w: 54,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0100",
frame: {
x: 1994,
y: 2153,
w: 67,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0101",
frame: {
x: 1994,
y: 2153,
w: 67,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0102",
frame: {
x: 1994,
y: 2153,
w: 67,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0103",
frame: {
x: 986,
y: 2266,
w: 61,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0104",
frame: {
x: 986,
y: 2266,
w: 61,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0105",
frame: {
x: 986,
y: 2266,
w: 61,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -17.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0106",
frame: {
x: 2038,
y: 2368,
w: 54,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -19.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0107",
frame: {
x: 2038,
y: 2368,
w: 54,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -19.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0108",
frame: {
x: 2038,
y: 2368,
w: 54,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -19.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0109",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0110",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0111",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0112",
frame: {
x: 2242,
y: 2366,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0113",
frame: {
x: 2242,
y: 2366,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0114",
frame: {
x: 2242,
y: 2366,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0115",
frame: {
x: 2242,
y: 2366,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0116",
frame: {
x: 3415,
y: 2307,
w: 55,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0117",
frame: {
x: 3415,
y: 2307,
w: 55,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0118",
frame: {
x: 3415,
y: 2307,
w: 55,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -20.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0119",
frame: {
x: 2931,
y: 2395,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0120",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0121",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0122",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0123",
frame: {
x: 2379,
y: 2367,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0124",
frame: {
x: 2379,
y: 2367,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0125",
frame: {
x: 2379,
y: 2367,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0126",
frame: {
x: 2379,
y: 2367,
w: 49,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0127",
frame: {
x: 2038,
y: 2368,
w: 54,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0128",
frame: {
x: 2038,
y: 2368,
w: 54,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0129",
frame: {
x: 2038,
y: 2368,
w: 54,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0130",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0131",
frame: {
x: 3364,
y: 2398,
w: 57,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.7,
y: -10.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0132",
frame: {
x: 1581,
y: 2436,
w: 52,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.7,
y: -10.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0133",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0134",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0135",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0136",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0137",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0138",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0139",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0140",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0141",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0142",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0143",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0144",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0145",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0146",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0147",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0148",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0149",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0150",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0151",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0152",
frame: {
x: 3006,
y: 2161,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0153",
frame: {
x: 3006,
y: 2161,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0154",
frame: {
x: 2366,
y: 2481,
w: 37,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0155",
frame: {
x: 2366,
y: 2481,
w: 37,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0156",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0157",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0158",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0159",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0160",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0161",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0162",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0163",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0164",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0165",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0166",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0167",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0168",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0169",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0170",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0171",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0172",
frame: {
x: 3879,
y: 2479,
w: 38,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0173",
frame: {
x: 2366,
y: 2481,
w: 37,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0174",
frame: {
x: 2366,
y: 2481,
w: 37,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0175",
frame: {
x: 3006,
y: 2161,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0176",
frame: {
x: 3006,
y: 2161,
w: 40,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16.7,
y: -15.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "Dog0177",
frame: {
x: 3,
y: 2397,
w: 50,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.7,
y: -18.5,
w: 75,
h: 49
},
sourceSize: {
w: 75,
h: 49
}
}, {
filename: "DogShock0000",
frame: {
x: 1467,
y: 2214,
w: 60,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -21.3,
w: 63,
h: 44
},
sourceSize: {
w: 63,
h: 44
}
}, {
filename: "DogShock0001",
frame: {
x: 1467,
y: 2214,
w: 60,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.4,
y: -21.3,
w: 63,
h: 44
},
sourceSize: {
w: 63,
h: 44
}
}, {
filename: "DogShock0002",
frame: {
x: 510,
y: 2208,
w: 62,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.3,
w: 63,
h: 44
},
sourceSize: {
w: 63,
h: 44
}
}, {
filename: "DogShock0003",
frame: {
x: 510,
y: 2208,
w: 62,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.4,
y: -21.3,
w: 63,
h: 44
},
sourceSize: {
w: 63,
h: 44
}
}, {
filename: "EnemyShock0000",
frame: {
x: 618,
y: 2108,
w: 61,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.2,
y: -28.6,
w: 61,
h: 57
},
sourceSize: {
w: 61,
h: 57
}
}, {
filename: "EnemyShock0001",
frame: {
x: 618,
y: 2108,
w: 61,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.2,
y: -28.6,
w: 61,
h: 57
},
sourceSize: {
w: 61,
h: 57
}
}, {
filename: "EnemyShock0002",
frame: {
x: 1730,
y: 2108,
w: 61,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.2,
y: -28.6,
w: 61,
h: 57
},
sourceSize: {
w: 61,
h: 57
}
}, {
filename: "EnemyShock0003",
frame: {
x: 1730,
y: 2108,
w: 61,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.2,
y: -28.6,
w: 61,
h: 57
},
sourceSize: {
w: 61,
h: 57
}
}, {
filename: "EnemySigns0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.5,
y: -.3,
w: 17,
h: 30
},
sourceSize: {
w: 17,
h: 30
}
}, {
filename: "EnemySigns0001",
frame: {
x: 889,
y: 1373,
w: 17,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.6,
y: -6.4,
w: 17,
h: 30
},
sourceSize: {
w: 17,
h: 30
}
}, {
filename: "EnemySigns0002",
frame: {
x: 3201,
y: 696,
w: 13,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.6,
y: -9.4,
w: 17,
h: 30
},
sourceSize: {
w: 17,
h: 30
}
}, {
filename: "Exit0000",
frame: {
x: 2662,
y: 2413,
w: 43,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.2,
y: -21.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0001",
frame: {
x: 1827,
y: 2404,
w: 44,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.2,
y: -21.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0002",
frame: {
x: 1735,
y: 2381,
w: 45,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.2,
y: -22.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0003",
frame: {
x: 2148,
y: 2316,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.2,
y: -23.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0004",
frame: {
x: 291,
y: 2307,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.2,
y: -23.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0005",
frame: {
x: 3,
y: 2261,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.2,
y: -24.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0006",
frame: {
x: 2862,
y: 1953,
w: 51,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.2,
y: -25.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0007",
frame: {
x: 578,
y: 1770,
w: 52,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.2,
y: -26.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0008",
frame: {
x: 125,
y: 2201,
w: 53,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.2,
y: -26.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0009",
frame: {
x: 3,
y: 2151,
w: 55,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.2,
y: -27.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0010",
frame: {
x: 125,
y: 2201,
w: 53,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.2,
y: -26.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0011",
frame: {
x: 1354,
y: 2198,
w: 52,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.2,
y: -26.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0012",
frame: {
x: 1198,
y: 2216,
w: 51,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.2,
y: -25.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0013",
frame: {
x: 1976,
y: 2249,
w: 50,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.2,
y: -24.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0014",
frame: {
x: 179,
y: 2261,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.2,
y: -24.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0015",
frame: {
x: 2277,
y: 2316,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.2,
y: -23.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0016",
frame: {
x: 1228,
y: 2349,
w: 46,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.2,
y: -23.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0017",
frame: {
x: 3179,
y: 2381,
w: 45,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.2,
y: -22.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0018",
frame: {
x: 2984,
y: 2404,
w: 44,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.2,
y: -21.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0019",
frame: {
x: 2662,
y: 2413,
w: 43,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.2,
y: -21.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0020",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.2,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0021",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.2,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0022",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -12.1,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0023",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0024",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7.1,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0025",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0026",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -12.1,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0027",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15.2,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "Exit0028",
frame: {
x: 3167,
y: 764,
w: 37,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.2,
y: -12.4,
w: 58,
h: 55
},
sourceSize: {
w: 58,
h: 55
}
}, {
filename: "FlyMoney0000",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -12.5,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0001",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -17.5,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0002",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -22.5,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0003",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -26.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0004",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -31.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0005",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -36.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0006",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -41.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0007",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -46.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0008",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -51.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0009",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -57.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "FlyMoney0010",
frame: {
x: 3222,
y: 1552,
w: 38,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.3,
y: -62.6,
w: 38,
h: 77
},
sourceSize: {
w: 38,
h: 77
}
}, {
filename: "GameTips0000",
frame: {
x: 1249,
y: 1746,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0001",
frame: {
x: 3576,
y: 1753,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0002",
frame: {
x: 1385,
y: 1754,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0003",
frame: {
x: 3,
y: 1693,
w: 139,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0004",
frame: {
x: 2556,
y: 1693,
w: 138,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0005",
frame: {
x: 2697,
y: 1745,
w: 134,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0006",
frame: {
x: 2261,
y: 1280,
w: 173,
h: 93
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -86.6,
y: -46.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0007",
frame: {
x: 3123,
y: 1755,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0008",
frame: {
x: 963,
y: 1762,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0009",
frame: {
x: 633,
y: 1763,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0010",
frame: {
x: 3,
y: 1764,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0011",
frame: {
x: 2509,
y: 1764,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0012",
frame: {
x: 3712,
y: 1764,
w: 133,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -66.6,
y: -34.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GameTips0013",
frame: {
x: 155,
y: 1582,
w: 173,
h: 93
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -86.6,
y: -46.1,
w: 173,
h: 93
},
sourceSize: {
w: 173,
h: 93
}
}, {
filename: "GoldBox0000",
frame: {
x: 941,
y: 2046,
w: 30,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -17.9,
w: 30,
h: 35
},
sourceSize: {
w: 30,
h: 35
}
}, {
filename: "Gora0000",
frame: {
x: 1361,
y: 2075,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0001",
frame: {
x: 1361,
y: 2075,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0002",
frame: {
x: 1361,
y: 2075,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0003",
frame: {
x: 1361,
y: 2075,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0004",
frame: {
x: 1361,
y: 2075,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0005",
frame: {
x: 875,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0006",
frame: {
x: 875,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0007",
frame: {
x: 875,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0008",
frame: {
x: 875,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0009",
frame: {
x: 875,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0010",
frame: {
x: 1228,
y: 2034,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0011",
frame: {
x: 1228,
y: 2034,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0012",
frame: {
x: 1228,
y: 2034,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0013",
frame: {
x: 1228,
y: 2034,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0014",
frame: {
x: 1228,
y: 2034,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0015",
frame: {
x: 1665,
y: 2045,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0016",
frame: {
x: 1665,
y: 2045,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0017",
frame: {
x: 1665,
y: 2045,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0018",
frame: {
x: 1665,
y: 2045,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0019",
frame: {
x: 1665,
y: 2045,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0020",
frame: {
x: 378,
y: 1963,
w: 61,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0021",
frame: {
x: 378,
y: 1963,
w: 61,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0022",
frame: {
x: 378,
y: 1963,
w: 61,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0023",
frame: {
x: 378,
y: 1963,
w: 61,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0024",
frame: {
x: 378,
y: 1963,
w: 61,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0025",
frame: {
x: 1540,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0026",
frame: {
x: 1540,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0027",
frame: {
x: 1540,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0028",
frame: {
x: 1540,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0029",
frame: {
x: 1540,
y: 2046,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0030",
frame: {
x: 309,
y: 1963,
w: 66,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0031",
frame: {
x: 309,
y: 1963,
w: 66,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0032",
frame: {
x: 309,
y: 1963,
w: 66,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0033",
frame: {
x: 309,
y: 1963,
w: 66,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0034",
frame: {
x: 309,
y: 1963,
w: 66,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.5,
y: -28,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0035",
frame: {
x: 3750,
y: 1990,
w: 68,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0036",
frame: {
x: 3750,
y: 1990,
w: 68,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0037",
frame: {
x: 3750,
y: 1990,
w: 68,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0038",
frame: {
x: 3750,
y: 1990,
w: 68,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0039",
frame: {
x: 3750,
y: 1990,
w: 68,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0040",
frame: {
x: 3,
y: 2086,
w: 59,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.5,
y: -27,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0041",
frame: {
x: 2362,
y: 2107,
w: 59,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.5,
y: -27,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0042",
frame: {
x: 2992,
y: 1973,
w: 75,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0043",
frame: {
x: 2992,
y: 1973,
w: 75,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0044",
frame: {
x: 2992,
y: 1973,
w: 75,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0045",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0046",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0047",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0048",
frame: {
x: 3666,
y: 1835,
w: 106,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0049",
frame: {
x: 3666,
y: 1835,
w: 106,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0050",
frame: {
x: 3666,
y: 1835,
w: 106,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0051",
frame: {
x: 3666,
y: 1835,
w: 106,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0052",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0053",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0054",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0055",
frame: {
x: 1179,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0056",
frame: {
x: 3666,
y: 1835,
w: 106,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0057",
frame: {
x: 3824,
y: 1978,
w: 75,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0058",
frame: {
x: 3824,
y: 1978,
w: 75,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0059",
frame: {
x: 3824,
y: 1978,
w: 75,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0060",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0061",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0062",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0063",
frame: {
x: 3277,
y: 1362,
w: 107,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -68.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0064",
frame: {
x: 3277,
y: 1362,
w: 107,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -68.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0065",
frame: {
x: 3277,
y: 1362,
w: 107,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -68.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0066",
frame: {
x: 3277,
y: 1362,
w: 107,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -68.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0067",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0068",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0069",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0070",
frame: {
x: 1266,
y: 1907,
w: 84,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0071",
frame: {
x: 3277,
y: 1362,
w: 107,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -68.5,
y: -29,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0072",
frame: {
x: 845,
y: 1942,
w: 75,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0073",
frame: {
x: 2285,
y: 1877,
w: 88,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0074",
frame: {
x: 265,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0075",
frame: {
x: 265,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0076",
frame: {
x: 265,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0077",
frame: {
x: 2497,
y: 1901,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0078",
frame: {
x: 2497,
y: 1901,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0079",
frame: {
x: 2497,
y: 1901,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0080",
frame: {
x: 265,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0081",
frame: {
x: 265,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0082",
frame: {
x: 265,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0083",
frame: {
x: 2497,
y: 1901,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0084",
frame: {
x: 2497,
y: 1901,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0085",
frame: {
x: 2497,
y: 1901,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0086",
frame: {
x: 2285,
y: 1877,
w: 88,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0087",
frame: {
x: 845,
y: 1942,
w: 75,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0088",
frame: {
x: 160,
y: 1946,
w: 75,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -39.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0089",
frame: {
x: 2825,
y: 1889,
w: 88,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0090",
frame: {
x: 354,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0091",
frame: {
x: 354,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0092",
frame: {
x: 354,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0093",
frame: {
x: 1937,
y: 1902,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0094",
frame: {
x: 1937,
y: 1902,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0095",
frame: {
x: 1937,
y: 1902,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0096",
frame: {
x: 354,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0097",
frame: {
x: 354,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0098",
frame: {
x: 354,
y: 1899,
w: 86,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0099",
frame: {
x: 1937,
y: 1902,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0100",
frame: {
x: 1937,
y: 1902,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0101",
frame: {
x: 1937,
y: 1902,
w: 83,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0102",
frame: {
x: 2825,
y: 1889,
w: 88,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "Gora0103",
frame: {
x: 160,
y: 1946,
w: 75,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -39.5,
y: -30,
w: 137,
h: 72
},
sourceSize: {
w: 137,
h: 72
}
}, {
filename: "GoraMayak0000",
frame: {
x: 3521,
y: 410,
w: 111,
h: 97
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -55.5,
y: -54.6,
w: 111,
h: 97
},
sourceSize: {
w: 111,
h: 97
}
}, {
filename: "Hand0000",
frame: {
x: 4061,
y: 329,
w: 8,
h: 8
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 8,
h: 8
},
sourceSize: {
w: 8,
h: 8
}
}, {
filename: "Hero0000",
frame: {
x: 2424,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0001",
frame: {
x: 2651,
y: 1988,
w: 73,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0002",
frame: {
x: 1730,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0003",
frame: {
x: 1730,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0004",
frame: {
x: 1730,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0005",
frame: {
x: 1730,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0006",
frame: {
x: 2929,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0007",
frame: {
x: 2929,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0008",
frame: {
x: 2929,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0009",
frame: {
x: 2929,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0010",
frame: {
x: 128,
y: 2079,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0011",
frame: {
x: 128,
y: 2079,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0012",
frame: {
x: 128,
y: 2079,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0013",
frame: {
x: 128,
y: 2079,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0014",
frame: {
x: 693,
y: 2082,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0015",
frame: {
x: 693,
y: 2082,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0016",
frame: {
x: 693,
y: 2082,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0017",
frame: {
x: 693,
y: 2082,
w: 62,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0018",
frame: {
x: 3470,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0019",
frame: {
x: 3470,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0020",
frame: {
x: 3470,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0021",
frame: {
x: 3470,
y: 2045,
w: 64,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0022",
frame: {
x: 2998,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0023",
frame: {
x: 2998,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0024",
frame: {
x: 2998,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0025",
frame: {
x: 2998,
y: 2035,
w: 66,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0026",
frame: {
x: 2628,
y: 2049,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0027",
frame: {
x: 2628,
y: 2049,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0028",
frame: {
x: 2628,
y: 2049,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0029",
frame: {
x: 2628,
y: 2049,
w: 63,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0030",
frame: {
x: 975,
y: 2023,
w: 63,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0031",
frame: {
x: 975,
y: 2023,
w: 63,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0032",
frame: {
x: 975,
y: 2023,
w: 63,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0033",
frame: {
x: 975,
y: 2023,
w: 63,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0034",
frame: {
x: 3606,
y: 1963,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0035",
frame: {
x: 3606,
y: 1963,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0036",
frame: {
x: 3606,
y: 1963,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0037",
frame: {
x: 3606,
y: 1963,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0038",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0039",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0040",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0041",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0042",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0043",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0044",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0045",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0046",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0047",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0048",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0049",
frame: {
x: 3664,
y: 1897,
w: 84,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0050",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0051",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0052",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0053",
frame: {
x: 2450,
y: 1965,
w: 73,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0054",
frame: {
x: 3523,
y: 1982,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0055",
frame: {
x: 3523,
y: 1982,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0056",
frame: {
x: 3523,
y: 1982,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0057",
frame: {
x: 3523,
y: 1982,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0058",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0059",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0060",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0061",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0062",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0063",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0064",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0065",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0066",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0067",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0068",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0069",
frame: {
x: 2916,
y: 1940,
w: 73,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0070",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0071",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0072",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0073",
frame: {
x: 1589,
y: 1983,
w: 73,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0074",
frame: {
x: 2769,
y: 1617,
w: 84,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0075",
frame: {
x: 2769,
y: 1617,
w: 84,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0076",
frame: {
x: 2769,
y: 1617,
w: 84,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0077",
frame: {
x: 2769,
y: 1617,
w: 84,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0078",
frame: {
x: 2769,
y: 1617,
w: 84,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0079",
frame: {
x: 2374,
y: 1953,
w: 73,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0080",
frame: {
x: 2374,
y: 1953,
w: 73,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0081",
frame: {
x: 2374,
y: 1953,
w: 73,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0082",
frame: {
x: 2374,
y: 1953,
w: 73,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0083",
frame: {
x: 2374,
y: 1953,
w: 73,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0084",
frame: {
x: 2424,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0085",
frame: {
x: 2424,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0086",
frame: {
x: 2424,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0087",
frame: {
x: 3,
y: 2020,
w: 65,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0088",
frame: {
x: 3,
y: 2020,
w: 65,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0089",
frame: {
x: 3,
y: 2020,
w: 65,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0090",
frame: {
x: 2492,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0091",
frame: {
x: 2492,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0092",
frame: {
x: 2492,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0093",
frame: {
x: 2035,
y: 2094,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0094",
frame: {
x: 2035,
y: 2094,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0095",
frame: {
x: 2103,
y: 2094,
w: 65,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0096",
frame: {
x: 2688,
y: 2158,
w: 54,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0097",
frame: {
x: 2688,
y: 2158,
w: 54,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0098",
frame: {
x: 2688,
y: 2158,
w: 54,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -32.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0099",
frame: {
x: 1227,
y: 2160,
w: 56,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0100",
frame: {
x: 1227,
y: 2160,
w: 56,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0101",
frame: {
x: 1227,
y: 2160,
w: 56,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0102",
frame: {
x: 1168,
y: 2098,
w: 56,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0103",
frame: {
x: 1168,
y: 2098,
w: 56,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0104",
frame: {
x: 1168,
y: 2098,
w: 56,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0105",
frame: {
x: 875,
y: 2171,
w: 54,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0106",
frame: {
x: 875,
y: 2171,
w: 54,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0107",
frame: {
x: 875,
y: 2171,
w: 54,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0108",
frame: {
x: 2285,
y: 1941,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -59.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0109",
frame: {
x: 2285,
y: 1941,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -59.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0110",
frame: {
x: 2285,
y: 1941,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -59.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0111",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0112",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0113",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0114",
frame: {
x: 1840,
y: 1866,
w: 94,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0115",
frame: {
x: 1840,
y: 1866,
w: 94,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0116",
frame: {
x: 1840,
y: 1866,
w: 94,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0117",
frame: {
x: 1840,
y: 1866,
w: 94,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0118",
frame: {
x: 1840,
y: 1866,
w: 94,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0119",
frame: {
x: 443,
y: 1942,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0120",
frame: {
x: 443,
y: 1942,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0121",
frame: {
x: 443,
y: 1942,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0122",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0123",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0124",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0125",
frame: {
x: 2508,
y: 1835,
w: 100,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -65.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0126",
frame: {
x: 2508,
y: 1835,
w: 100,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -65.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0127",
frame: {
x: 2508,
y: 1835,
w: 100,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -65.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0128",
frame: {
x: 2508,
y: 1835,
w: 100,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -65.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0129",
frame: {
x: 2508,
y: 1835,
w: 100,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -65.6,
y: -31.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0130",
frame: {
x: 2285,
y: 1941,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -59.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0131",
frame: {
x: 2285,
y: 1941,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -59.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0132",
frame: {
x: 2285,
y: 1941,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -59.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0133",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0134",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0135",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0136",
frame: {
x: 1015,
y: 1950,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0137",
frame: {
x: 2784,
y: 1953,
w: 75,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0138",
frame: {
x: 2784,
y: 1953,
w: 75,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0139",
frame: {
x: 2784,
y: 1953,
w: 75,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0140",
frame: {
x: 2784,
y: 1953,
w: 75,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0141",
frame: {
x: 2784,
y: 1953,
w: 75,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0142",
frame: {
x: 443,
y: 1942,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0143",
frame: {
x: 443,
y: 1942,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0144",
frame: {
x: 443,
y: 1942,
w: 86,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0145",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0146",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0147",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0148",
frame: {
x: 690,
y: 1951,
w: 67,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0149",
frame: {
x: 3,
y: 1907,
w: 81,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0150",
frame: {
x: 3,
y: 1907,
w: 81,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0151",
frame: {
x: 3,
y: 1907,
w: 81,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0152",
frame: {
x: 3,
y: 1907,
w: 81,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0153",
frame: {
x: 3,
y: 1907,
w: 81,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0154",
frame: {
x: 3209,
y: 2024,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0155",
frame: {
x: 3209,
y: 2024,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0156",
frame: {
x: 3209,
y: 2024,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0157",
frame: {
x: 3599,
y: 2029,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0158",
frame: {
x: 3599,
y: 2029,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0159",
frame: {
x: 3599,
y: 2029,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0160",
frame: {
x: 1899,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0161",
frame: {
x: 1899,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0162",
frame: {
x: 1899,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0163",
frame: {
x: 3902,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0164",
frame: {
x: 3902,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0165",
frame: {
x: 3902,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0166",
frame: {
x: 3902,
y: 2031,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0167",
frame: {
x: 3668,
y: 2032,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0168",
frame: {
x: 3668,
y: 2032,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0169",
frame: {
x: 3668,
y: 2032,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0170",
frame: {
x: 3668,
y: 2032,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0171",
frame: {
x: 196,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0172",
frame: {
x: 196,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0173",
frame: {
x: 196,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0174",
frame: {
x: 196,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0175",
frame: {
x: 1159,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0176",
frame: {
x: 1159,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0177",
frame: {
x: 1159,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0178",
frame: {
x: 1159,
y: 2034,
w: 66,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -30.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0179",
frame: {
x: 4040,
y: 1206,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0180",
frame: {
x: 4040,
y: 1206,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0181",
frame: {
x: 4040,
y: 1206,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0182",
frame: {
x: 4040,
y: 1206,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0183",
frame: {
x: 2187,
y: 1537,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0184",
frame: {
x: 2187,
y: 1537,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0185",
frame: {
x: 2187,
y: 1537,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0186",
frame: {
x: 2187,
y: 1537,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0187",
frame: {
x: 4040,
y: 1279,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0188",
frame: {
x: 4040,
y: 1279,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0189",
frame: {
x: 4040,
y: 1279,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0190",
frame: {
x: 4040,
y: 1279,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0191",
frame: {
x: 71,
y: 2020,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0192",
frame: {
x: 71,
y: 2020,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0193",
frame: {
x: 71,
y: 2020,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0194",
frame: {
x: 71,
y: 2020,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0195",
frame: {
x: 4035,
y: 2057,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0196",
frame: {
x: 4035,
y: 2057,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0197",
frame: {
x: 4035,
y: 2057,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0198",
frame: {
x: 4035,
y: 2057,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0199",
frame: {
x: 3537,
y: 2045,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0200",
frame: {
x: 3537,
y: 2045,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0201",
frame: {
x: 3537,
y: 2045,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0202",
frame: {
x: 3537,
y: 2045,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0203",
frame: {
x: 2694,
y: 2085,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0204",
frame: {
x: 2694,
y: 2085,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0205",
frame: {
x: 2694,
y: 2085,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0206",
frame: {
x: 2694,
y: 2085,
w: 53,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0207",
frame: {
x: 1606,
y: 2046,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0208",
frame: {
x: 1606,
y: 2046,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0209",
frame: {
x: 1606,
y: 2046,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0210",
frame: {
x: 1606,
y: 2046,
w: 54,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -28.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0211",
frame: {
x: 2861,
y: 2076,
w: 61,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -24.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hero0212",
frame: {
x: 2424,
y: 2107,
w: 65,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -27.5,
w: 131,
h: 75
},
sourceSize: {
w: 131,
h: 75
}
}, {
filename: "Hole0000",
frame: {
x: 220,
y: 1035,
w: 29,
h: 88
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14,
y: -44,
w: 42,
h: 88
},
sourceSize: {
w: 42,
h: 88
}
}, {
filename: "Hole0001",
frame: {
x: 4038,
y: 238,
w: 33,
h: 88
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -44,
w: 42,
h: 88
},
sourceSize: {
w: 42,
h: 88
}
}, {
filename: "Hole0002",
frame: {
x: 4038,
y: 3,
w: 42,
h: 88
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -44,
w: 42,
h: 88
},
sourceSize: {
w: 42,
h: 88
}
}, {
filename: "Hole20000",
frame: {
x: 2437,
y: 1328,
w: 29,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14,
y: -22,
w: 42,
h: 46
},
sourceSize: {
w: 42,
h: 46
}
}, {
filename: "Hole20001",
frame: {
x: 2437,
y: 1280,
w: 33,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -22,
w: 42,
h: 46
},
sourceSize: {
w: 42,
h: 46
}
}, {
filename: "Hole20002",
frame: {
x: 3962,
y: 2400,
w: 42,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -23,
w: 42,
h: 46
},
sourceSize: {
w: 42,
h: 46
}
}, {
filename: "HumanBlock0000",
frame: {
x: 708,
y: 1643,
w: 65,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 65,
h: 21
},
sourceSize: {
w: 65,
h: 21
}
}, {
filename: "IndicatorAlert0000",
frame: {
x: 3,
y: 1981,
w: 123,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.5,
y: -18,
w: 123,
h: 36
},
sourceSize: {
w: 123,
h: 36
}
}, {
filename: "IndicatorAlert0001",
frame: {
x: 3070,
y: 1985,
w: 122,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.5,
y: -18,
w: 123,
h: 36
},
sourceSize: {
w: 123,
h: 36
}
}, {
filename: "IndicatorAlert0002",
frame: {
x: 3195,
y: 1985,
w: 122,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.5,
y: -18,
w: 123,
h: 36
},
sourceSize: {
w: 123,
h: 36
}
}, {
filename: "IndicatorAlert0003",
frame: {
x: 2526,
y: 1988,
w: 122,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.5,
y: -18,
w: 123,
h: 36
},
sourceSize: {
w: 123,
h: 36
}
}, {
filename: "IndicatorAlert0004",
frame: {
x: 1665,
y: 2007,
w: 120,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.5,
y: -17,
w: 123,
h: 36
},
sourceSize: {
w: 123,
h: 36
}
}, {
filename: "InformationPanelBG0000",
frame: {
x: 2244,
y: 1433,
w: 640,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 40
},
sourceSize: {
w: 640,
h: 40
}
}, {
filename: "Lazer0000",
frame: {
x: 3616,
y: 510,
w: 14,
h: 85
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -41,
w: 14,
h: 85
},
sourceSize: {
w: 14,
h: 85
}
}, {
filename: "Lazer0001",
frame: {
x: 3201,
y: 526,
w: 14,
h: 85
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -41,
w: 14,
h: 85
},
sourceSize: {
w: 14,
h: 85
}
}, {
filename: "Lazer0002",
frame: {
x: 4074,
y: 455,
w: 14,
h: 11
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: 33,
w: 14,
h: 85
},
sourceSize: {
w: 14,
h: 85
}
}, {
filename: "Lazer0003",
frame: {
x: 4075,
y: 1066,
w: 14,
h: 11
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: 33,
w: 14,
h: 85
},
sourceSize: {
w: 14,
h: 85
}
}, {
filename: "Lazerbox0000",
frame: {
x: 220,
y: 1126,
w: 29,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.6,
y: -40.1,
w: 48,
h: 64
},
sourceSize: {
w: 48,
h: 64
}
}, {
filename: "Lazerbox0001",
frame: {
x: 2261,
y: 1201,
w: 48,
h: 63
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14.6,
y: -39.1,
w: 48,
h: 64
},
sourceSize: {
w: 48,
h: 64
}
}, {
filename: "Lev10000",
frame: {
x: 1627,
y: 1573,
w: 155,
h: 121
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 171,
h: 162
},
sourceSize: {
w: 171,
h: 162
}
}, {
filename: "Lev10001",
frame: {
x: 1301,
y: 1361,
w: 171,
h: 162
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -32,
w: 171,
h: 162
},
sourceSize: {
w: 171,
h: 162
}
}, {
filename: "Lev100000",
frame: {
x: 2399,
y: 1613,
w: 154,
h: 100
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 53,
w: 170,
h: 141
},
sourceSize: {
w: 170,
h: 141
}
}, {
filename: "Lev100001",
frame: {
x: 3,
y: 1410,
w: 170,
h: 141
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: 21,
w: 170,
h: 141
},
sourceSize: {
w: 170,
h: 141
}
}, {
filename: "Lev110000",
frame: {
x: 3017,
y: 1578,
w: 154,
h: 121
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 32,
w: 170,
h: 162
},
sourceSize: {
w: 170,
h: 162
}
}, {
filename: "Lev110001",
frame: {
x: 646,
y: 1373,
w: 170,
h: 162
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: 0,
w: 170,
h: 162
},
sourceSize: {
w: 170,
h: 162
}
}, {
filename: "Lev20000",
frame: {
x: 3277,
y: 1427,
w: 154,
h: 153
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 170,
h: 194
},
sourceSize: {
w: 170,
h: 194
}
}, {
filename: "Lev20001",
frame: {
x: 3,
y: 1213,
w: 170,
h: 194
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -32,
w: 170,
h: 194
},
sourceSize: {
w: 170,
h: 194
}
}, {
filename: "Lev30000",
frame: {
x: 1173,
y: 1526,
w: 154,
h: 132
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 21,
w: 170,
h: 173
},
sourceSize: {
w: 170,
h: 173
}
}, {
filename: "Lev30001",
frame: {
x: 176,
y: 1250,
w: 170,
h: 173
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -11,
w: 170,
h: 173
},
sourceSize: {
w: 170,
h: 173
}
}, {
filename: "Lev40000",
frame: {
x: 2908,
y: 1386,
w: 154,
h: 169
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -16,
w: 170,
h: 210
},
sourceSize: {
w: 170,
h: 210
}
}, {
filename: "Lev40001",
frame: {
x: 912,
y: 1190,
w: 170,
h: 210
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -48,
w: 170,
h: 210
},
sourceSize: {
w: 170,
h: 210
}
}, {
filename: "Lev50000",
frame: {
x: 1691,
y: 1408,
w: 154,
h: 162
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -9,
w: 170,
h: 203
},
sourceSize: {
w: 170,
h: 203
}
}, {
filename: "Lev50001",
frame: {
x: 2088,
y: 1201,
w: 170,
h: 203
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -41,
w: 170,
h: 203
},
sourceSize: {
w: 170,
h: 203
}
}, {
filename: "Lev60000",
frame: {
x: 3065,
y: 1430,
w: 154,
h: 145
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 8,
w: 170,
h: 186
},
sourceSize: {
w: 170,
h: 186
}
}, {
filename: "Lev60001",
frame: {
x: 473,
y: 1226,
w: 170,
h: 186
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -24,
w: 170,
h: 186
},
sourceSize: {
w: 170,
h: 186
}
}, {
filename: "Lev70000",
frame: {
x: 3573,
y: 1250,
w: 155,
h: 187
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -34,
w: 171,
h: 228
},
sourceSize: {
w: 171,
h: 228
}
}, {
filename: "Lev70001",
frame: {
x: 3692,
y: 1019,
w: 171,
h: 228
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -66,
w: 171,
h: 228
},
sourceSize: {
w: 171,
h: 228
}
}, {
filename: "Lev80000",
frame: {
x: 2399,
y: 1476,
w: 154,
h: 134
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 19,
w: 170,
h: 175
},
sourceSize: {
w: 170,
h: 175
}
}, {
filename: "Lev80001",
frame: {
x: 3400,
y: 1249,
w: 170,
h: 175
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -13,
w: 170,
h: 175
},
sourceSize: {
w: 170,
h: 175
}
}, {
filename: "Lev90000",
frame: {
x: 1877,
y: 1369,
w: 155,
h: 178
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -25,
w: 171,
h: 219
},
sourceSize: {
w: 171,
h: 219
}
}, {
filename: "Lev90001",
frame: {
x: 3226,
y: 1035,
w: 171,
h: 219
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6,
y: -57,
w: 171,
h: 219
},
sourceSize: {
w: 171,
h: 219
}
}, {
filename: "LevelWin0000",
frame: {
x: 1166,
y: 1e3,
w: 251,
h: 187
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -125.4,
y: -93.9,
w: 251,
h: 187
},
sourceSize: {
w: 251,
h: 187
}
}, {
filename: "MessageFullScreenBG0000",
frame: {
x: 2454,
y: 763,
w: 236,
h: 276
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 192.5,
y: 145.5,
w: 236,
h: 276
},
sourceSize: {
w: 236,
h: 276
}
}, {
filename: "MessageFullScreenText0000",
frame: {
x: 2922,
y: 1054,
w: 204,
h: 176
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 210.5,
y: 170.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0001",
frame: {
x: 2693,
y: 982,
w: 226,
h: 242
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 197.5,
y: 165.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0002",
frame: {
x: 1881,
y: 1e3,
w: 204,
h: 200
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 212.5,
y: 176.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0003",
frame: {
x: 1502,
y: 1227,
w: 204,
h: 150
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 213.5,
y: 173.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0004",
frame: {
x: 3,
y: 1035,
w: 214,
h: 175
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 205.5,
y: 175.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0005",
frame: {
x: 2690,
y: 1227,
w: 204,
h: 150
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 213.5,
y: 167.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0006",
frame: {
x: 3391,
y: 1596,
w: 214,
h: 77
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 206.5,
y: 191.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0007",
frame: {
x: 819,
y: 1403,
w: 212,
h: 126
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 204.5,
y: 165.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0008",
frame: {
x: 1674,
y: 1e3,
w: 204,
h: 224
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 208.5,
y: 167.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0009",
frame: {
x: 2897,
y: 1233,
w: 204,
h: 150
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 208.5,
y: 168.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0010",
frame: {
x: 2035,
y: 1407,
w: 206,
h: 127
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 208.5,
y: 163.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0011",
frame: {
x: 3457,
y: 1870,
w: 204,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 211.5,
y: 185.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0012",
frame: {
x: 2187,
y: 1615,
w: 206,
h: 77
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 210.5,
y: 179.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0013",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: .5,
y: .8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0014",
frame: {
x: 349,
y: 1415,
w: 204,
h: 126
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 210.5,
y: 180.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0015",
frame: {
x: 1881,
y: 1203,
w: 204,
h: 163
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 209.5,
y: 165.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0016",
frame: {
x: 1085,
y: 1190,
w: 204,
h: 175
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 213.5,
y: 173.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MessageFullScreenText0017",
frame: {
x: 2769,
y: 1690,
w: 214,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 206.5,
y: 191.8,
w: 226,
h: 244
},
sourceSize: {
w: 226,
h: 244
}
}, {
filename: "MusicButtonPlay0000",
frame: {
x: 1323,
y: 1969,
w: 25,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "MusicButtonPlay0001",
frame: {
x: 816,
y: 2508,
w: 25,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "MusicButtonPlay0002",
frame: {
x: 2631,
y: 2312,
w: 30,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -1,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "MusicButtonPlay0003",
frame: {
x: 3381,
y: 2313,
w: 30,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -1,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "Nippers0000",
frame: {
x: 3966,
y: 473,
w: 120,
h: 97
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -60,
y: -48.5,
w: 120,
h: 97
},
sourceSize: {
w: 120,
h: 97
}
}, {
filename: "Nippers0001",
frame: {
x: 2147,
y: 1695,
w: 114,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -57,
y: -40.5,
w: 120,
h: 97
},
sourceSize: {
w: 120,
h: 97
}
}, {
filename: "Oldman0000",
frame: {
x: 1911,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -22.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0001",
frame: {
x: 2176,
y: 2402,
w: 46,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0002",
frame: {
x: 2176,
y: 2402,
w: 46,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0003",
frame: {
x: 2176,
y: 2402,
w: 46,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0004",
frame: {
x: 143,
y: 2446,
w: 41,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0005",
frame: {
x: 143,
y: 2446,
w: 41,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0006",
frame: {
x: 143,
y: 2446,
w: 41,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0007",
frame: {
x: 2294,
y: 2371,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0008",
frame: {
x: 2294,
y: 2371,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0009",
frame: {
x: 2294,
y: 2371,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0010",
frame: {
x: 4050,
y: 2445,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0011",
frame: {
x: 4050,
y: 2445,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0012",
frame: {
x: 4050,
y: 2445,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0013",
frame: {
x: 3721,
y: 2405,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0014",
frame: {
x: 3721,
y: 2405,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0015",
frame: {
x: 3721,
y: 2405,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0016",
frame: {
x: 1423,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0017",
frame: {
x: 1423,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0018",
frame: {
x: 1423,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0019",
frame: {
x: 3863,
y: 2373,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0020",
frame: {
x: 3863,
y: 2373,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0021",
frame: {
x: 3863,
y: 2373,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0022",
frame: {
x: 1115,
y: 2475,
w: 38,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0023",
frame: {
x: 1115,
y: 2475,
w: 38,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0024",
frame: {
x: 1115,
y: 2475,
w: 38,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0025",
frame: {
x: 3479,
y: 2272,
w: 53,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0026",
frame: {
x: 1969,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0027",
frame: {
x: 2024,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0028",
frame: {
x: 2024,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0029",
frame: {
x: 2024,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0030",
frame: {
x: 3313,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0031",
frame: {
x: 3313,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0032",
frame: {
x: 3313,
y: 2357,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0033",
frame: {
x: 2024,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0034",
frame: {
x: 2024,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0035",
frame: {
x: 2024,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0036",
frame: {
x: 1969,
y: 2301,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0037",
frame: {
x: 3479,
y: 2272,
w: 53,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0038",
frame: {
x: 1050,
y: 2302,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0039",
frame: {
x: 55,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0040",
frame: {
x: 2837,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0041",
frame: {
x: 2837,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0042",
frame: {
x: 2837,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0043",
frame: {
x: 3812,
y: 2360,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0044",
frame: {
x: 3812,
y: 2360,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0045",
frame: {
x: 3812,
y: 2360,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0046",
frame: {
x: 2837,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0047",
frame: {
x: 2837,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0048",
frame: {
x: 2837,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0049",
frame: {
x: 55,
y: 2303,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0050",
frame: {
x: 1050,
y: 2302,
w: 52,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0051",
frame: {
x: 1377,
y: 2399,
w: 45,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -15.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0052",
frame: {
x: 788,
y: 2374,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -15.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0053",
frame: {
x: 583,
y: 2310,
w: 53,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0054",
frame: {
x: 583,
y: 2310,
w: 53,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0055",
frame: {
x: 583,
y: 2310,
w: 53,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0056",
frame: {
x: 3670,
y: 2390,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0057",
frame: {
x: 3670,
y: 2390,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0058",
frame: {
x: 3670,
y: 2390,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0059",
frame: {
x: 2776,
y: 2341,
w: 51,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0060",
frame: {
x: 2776,
y: 2341,
w: 51,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0061",
frame: {
x: 2776,
y: 2341,
w: 51,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0062",
frame: {
x: 1074,
y: 2391,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0063",
frame: {
x: 1074,
y: 2391,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0064",
frame: {
x: 1074,
y: 2391,
w: 48,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0065",
frame: {
x: 3078,
y: 2344,
w: 52,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0066",
frame: {
x: 3078,
y: 2344,
w: 52,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0067",
frame: {
x: 3078,
y: 2344,
w: 52,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0068",
frame: {
x: 152,
y: 2355,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0069",
frame: {
x: 152,
y: 2355,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0070",
frame: {
x: 152,
y: 2355,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0071",
frame: {
x: 528,
y: 2310,
w: 52,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0072",
frame: {
x: 528,
y: 2310,
w: 52,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0073",
frame: {
x: 528,
y: 2310,
w: 52,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0074",
frame: {
x: 583,
y: 2355,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0075",
frame: {
x: 583,
y: 2355,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0076",
frame: {
x: 583,
y: 2355,
w: 51,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0077",
frame: {
x: 122,
y: 2257,
w: 54,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -24.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0078",
frame: {
x: 122,
y: 2257,
w: 54,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -24.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0079",
frame: {
x: 122,
y: 2257,
w: 54,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -24.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0080",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0081",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0082",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0083",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0084",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0085",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0086",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0087",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0088",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0089",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0090",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0091",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0092",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0093",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0094",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0095",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0096",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0097",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0098",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0099",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0100",
frame: {
x: 3021,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0101",
frame: {
x: 122,
y: 2257,
w: 54,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -24.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0102",
frame: {
x: 122,
y: 2257,
w: 54,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -24.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0103",
frame: {
x: 122,
y: 2257,
w: 54,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -24.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0104",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0105",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0106",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0107",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0108",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0109",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0110",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0111",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0112",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0113",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0114",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0115",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0116",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0117",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0118",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0119",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0120",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0121",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0122",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0123",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0124",
frame: {
x: 3324,
y: 2313,
w: 54,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0125",
frame: {
x: 2176,
y: 2402,
w: 46,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "Oldman0126",
frame: {
x: 3721,
y: 2405,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.6,
y: -20.9,
w: 57,
h: 52
},
sourceSize: {
w: 57,
h: 52
}
}, {
filename: "OpenminiGame0000",
frame: {
x: 2415,
y: 1019,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -10,
w: 20,
h: 20
},
sourceSize: {
w: 20,
h: 20
}
}, {
filename: "PadLockBG0000",
frame: {
x: 3,
y: 789,
w: 250,
h: 243
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 250,
h: 243
},
sourceSize: {
w: 250,
h: 243
}
}, {
filename: "PadLockBG0001",
frame: {
x: 3226,
y: 793,
w: 246,
h: 239
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 250,
h: 243
},
sourceSize: {
w: 250,
h: 243
}
}, {
filename: "PadlockPanelTip0000",
frame: {
x: 3608,
y: 1661,
w: 153,
h: 89
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -76.7,
y: -44.3,
w: 153,
h: 89
},
sourceSize: {
w: 153,
h: 89
}
}, {
filename: "PauseButton0000",
frame: {
x: 3616,
y: 598,
w: 24,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 28
},
sourceSize: {
w: 24,
h: 28
}
}, {
filename: "PauseButton0001",
frame: {
x: 2148,
y: 2274,
w: 24,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 28
},
sourceSize: {
w: 24,
h: 28
}
}, {
filename: "PauseButton0002",
frame: {
x: 3616,
y: 598,
w: 24,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 28
},
sourceSize: {
w: 24,
h: 28
}
}, {
filename: "PauseButton0003",
frame: {
x: 863,
y: 2420,
w: 24,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 28
},
sourceSize: {
w: 24,
h: 28
}
}, {
filename: "Perehod0000",
frame: {
x: 4074,
y: 412,
w: 15,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8,
y: -20,
w: 15,
h: 40
},
sourceSize: {
w: 15,
h: 40
}
}, {
filename: "Picklock0000",
frame: {
x: 4074,
y: 238,
w: 19,
h: 171
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -135.5,
w: 19,
h: 266
},
sourceSize: {
w: 19,
h: 266
}
}, {
filename: "Picklock0001",
frame: {
x: 4074,
y: 238,
w: 19,
h: 171
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -154.5,
w: 19,
h: 266
},
sourceSize: {
w: 19,
h: 266
}
}, {
filename: "Picklock0002",
frame: {
x: 4074,
y: 238,
w: 19,
h: 171
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -173.5,
w: 19,
h: 266
},
sourceSize: {
w: 19,
h: 266
}
}, {
filename: "Picklock0003",
frame: {
x: 4074,
y: 238,
w: 19,
h: 171
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -192.5,
w: 19,
h: 266
},
sourceSize: {
w: 19,
h: 266
}
}, {
filename: "Picklock0004",
frame: {
x: 4074,
y: 238,
w: 19,
h: 171
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -211.5,
w: 19,
h: 266
},
sourceSize: {
w: 19,
h: 266
}
}, {
filename: "Picklock0005",
frame: {
x: 3475,
y: 793,
w: 19,
h: 171
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -230.5,
w: 19,
h: 266
},
sourceSize: {
w: 19,
h: 266
}
}, {
filename: "Policeman0000",
frame: {
x: 1530,
y: 2219,
w: 54,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0001",
frame: {
x: 2547,
y: 2399,
w: 45,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0002",
frame: {
x: 257,
y: 2407,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0003",
frame: {
x: 3275,
y: 2404,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0004",
frame: {
x: 3275,
y: 2404,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0005",
frame: {
x: 3275,
y: 2404,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0006",
frame: {
x: 2819,
y: 2397,
w: 45,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0007",
frame: {
x: 2819,
y: 2397,
w: 45,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0008",
frame: {
x: 2819,
y: 2397,
w: 45,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0009",
frame: {
x: 206,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0010",
frame: {
x: 206,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0011",
frame: {
x: 206,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0012",
frame: {
x: 2087,
y: 2418,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0013",
frame: {
x: 2087,
y: 2418,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0014",
frame: {
x: 2087,
y: 2418,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0015",
frame: {
x: 2770,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0016",
frame: {
x: 2770,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0017",
frame: {
x: 2770,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0018",
frame: {
x: 2882,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0019",
frame: {
x: 2882,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0020",
frame: {
x: 2882,
y: 2387,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0021",
frame: {
x: 47,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0022",
frame: {
x: 47,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0023",
frame: {
x: 47,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0024",
frame: {
x: 3861,
y: 2419,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0025",
frame: {
x: 3861,
y: 2419,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0026",
frame: {
x: 3861,
y: 2419,
w: 42,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -21.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0027",
frame: {
x: 2547,
y: 2399,
w: 45,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0028",
frame: {
x: 1827,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0029",
frame: {
x: 1827,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0030",
frame: {
x: 769,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0031",
frame: {
x: 769,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0032",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0033",
frame: {
x: 2029,
y: 2256,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0034",
frame: {
x: 2029,
y: 2256,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0035",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0036",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0037",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0038",
frame: {
x: 439,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0039",
frame: {
x: 439,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0040",
frame: {
x: 439,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0041",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0042",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0043",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0044",
frame: {
x: 2029,
y: 2256,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0045",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0046",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0047",
frame: {
x: 257,
y: 2407,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0048",
frame: {
x: 1636,
y: 2436,
w: 42,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0049",
frame: {
x: 1636,
y: 2436,
w: 42,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0050",
frame: {
x: 816,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0051",
frame: {
x: 816,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0052",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0053",
frame: {
x: 61,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0054",
frame: {
x: 61,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0055",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0056",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0057",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0058",
frame: {
x: 575,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0059",
frame: {
x: 575,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0060",
frame: {
x: 575,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0061",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0062",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0063",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0064",
frame: {
x: 61,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0065",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0066",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0067",
frame: {
x: 2547,
y: 2399,
w: 45,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0068",
frame: {
x: 1827,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0069",
frame: {
x: 1827,
y: 2450,
w: 40,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0070",
frame: {
x: 769,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0071",
frame: {
x: 769,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0072",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0073",
frame: {
x: 2029,
y: 2256,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0074",
frame: {
x: 2029,
y: 2256,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0075",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0076",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0077",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0078",
frame: {
x: 439,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0079",
frame: {
x: 439,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0080",
frame: {
x: 439,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0081",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0082",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0083",
frame: {
x: 2175,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0084",
frame: {
x: 2029,
y: 2256,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0085",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0086",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0087",
frame: {
x: 2871,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0088",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0089",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0090",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0091",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0092",
frame: {
x: 2932,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0093",
frame: {
x: 2932,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0094",
frame: {
x: 2932,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0095",
frame: {
x: 1009,
y: 2127,
w: 76,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0096",
frame: {
x: 1009,
y: 2127,
w: 76,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0097",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0098",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0099",
frame: {
x: 1009,
y: 2127,
w: 76,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0100",
frame: {
x: 1009,
y: 2127,
w: 76,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0101",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0102",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0103",
frame: {
x: 1009,
y: 2127,
w: 76,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0104",
frame: {
x: 1009,
y: 2127,
w: 76,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0105",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0106",
frame: {
x: 1911,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0107",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0108",
frame: {
x: 426,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0109",
frame: {
x: 257,
y: 2407,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0110",
frame: {
x: 1636,
y: 2436,
w: 42,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0111",
frame: {
x: 1636,
y: 2436,
w: 42,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0112",
frame: {
x: 816,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0113",
frame: {
x: 816,
y: 2420,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0114",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0115",
frame: {
x: 61,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0116",
frame: {
x: 61,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0117",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0118",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0119",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0120",
frame: {
x: 575,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0121",
frame: {
x: 575,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0122",
frame: {
x: 575,
y: 2220,
w: 61,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0123",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0124",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0125",
frame: {
x: 2285,
y: 2272,
w: 57,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -18.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0126",
frame: {
x: 61,
y: 2258,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0127",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0128",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0129",
frame: {
x: 553,
y: 2265,
w: 57,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0130",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0131",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0132",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0133",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0134",
frame: {
x: 2809,
y: 2246,
w: 59,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0135",
frame: {
x: 2809,
y: 2246,
w: 59,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0136",
frame: {
x: 2809,
y: 2246,
w: 59,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0137",
frame: {
x: 3488,
y: 1779,
w: 77,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0138",
frame: {
x: 3488,
y: 1779,
w: 77,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0139",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0140",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0141",
frame: {
x: 3488,
y: 1779,
w: 77,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0142",
frame: {
x: 3488,
y: 1779,
w: 77,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0143",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0144",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0145",
frame: {
x: 3488,
y: 1779,
w: 77,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0146",
frame: {
x: 3488,
y: 1779,
w: 77,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0147",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0148",
frame: {
x: 2415,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0149",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0150",
frame: {
x: 1060,
y: 2257,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0151",
frame: {
x: 2035,
y: 1369,
w: 49,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -7.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0152",
frame: {
x: 1034,
y: 1467,
w: 45,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.1,
y: -7.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0153",
frame: {
x: 2606,
y: 2267,
w: 56,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0154",
frame: {
x: 2606,
y: 2267,
w: 56,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0155",
frame: {
x: 2606,
y: 2267,
w: 56,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0156",
frame: {
x: 1587,
y: 2219,
w: 60,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0157",
frame: {
x: 1587,
y: 2219,
w: 60,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0158",
frame: {
x: 1587,
y: 2219,
w: 60,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0159",
frame: {
x: 4032,
y: 2355,
w: 53,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0160",
frame: {
x: 4032,
y: 2355,
w: 53,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0161",
frame: {
x: 4032,
y: 2355,
w: 53,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0162",
frame: {
x: 639,
y: 2311,
w: 53,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0163",
frame: {
x: 639,
y: 2311,
w: 53,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0164",
frame: {
x: 639,
y: 2311,
w: 53,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0165",
frame: {
x: 1403,
y: 2259,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0166",
frame: {
x: 1403,
y: 2259,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0167",
frame: {
x: 1403,
y: 2259,
w: 58,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0168",
frame: {
x: 1650,
y: 2226,
w: 59,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0169",
frame: {
x: 1650,
y: 2226,
w: 59,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0170",
frame: {
x: 1650,
y: 2226,
w: 59,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0171",
frame: {
x: 2892,
y: 2303,
w: 57,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0172",
frame: {
x: 2892,
y: 2303,
w: 57,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0173",
frame: {
x: 2892,
y: 2303,
w: 57,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.1,
y: -19.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0174",
frame: {
x: 1403,
y: 2304,
w: 54,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0175",
frame: {
x: 1403,
y: 2304,
w: 54,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0176",
frame: {
x: 1403,
y: 2304,
w: 54,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0177",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0178",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0179",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0180",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0181",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0182",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0183",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0184",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0185",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0186",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0187",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0188",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0189",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0190",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0191",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0192",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0193",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0194",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0195",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0196",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0197",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0198",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0199",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0200",
frame: {
x: 2480,
y: 2214,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0201",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0202",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0203",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0204",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0205",
frame: {
x: 3628,
y: 2159,
w: 62,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -26.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0206",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0207",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0208",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0209",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0210",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0211",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0212",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0213",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0214",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0215",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0216",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0217",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0218",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0219",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0220",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0221",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0222",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0223",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0224",
frame: {
x: 374,
y: 2216,
w: 62,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -20.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0225",
frame: {
x: 935,
y: 2390,
w: 47,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.1,
y: -15.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Policeman0226",
frame: {
x: 839,
y: 2374,
w: 48,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -15.3,
w: 83,
h: 54
},
sourceSize: {
w: 83,
h: 54
}
}, {
filename: "Progress_bar0000",
frame: {
x: 923,
y: 1990,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0001",
frame: {
x: 923,
y: 1990,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0002",
frame: {
x: 923,
y: 1990,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0003",
frame: {
x: 760,
y: 1999,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0004",
frame: {
x: 760,
y: 1999,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0005",
frame: {
x: 2284,
y: 2e3,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0006",
frame: {
x: 2284,
y: 2e3,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0007",
frame: {
x: 442,
y: 2001,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0008",
frame: {
x: 3287,
y: 2482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0009",
frame: {
x: 3287,
y: 2482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0010",
frame: {
x: 3604,
y: 2482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0011",
frame: {
x: 3604,
y: 2482,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0012",
frame: {
x: 906,
y: 2483,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0013",
frame: {
x: 2568,
y: 2484,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0014",
frame: {
x: 2568,
y: 2484,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0015",
frame: {
x: 2879,
y: 2484,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0016",
frame: {
x: 2879,
y: 2484,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0017",
frame: {
x: 274,
y: 2490,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0018",
frame: {
x: 274,
y: 2490,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0019",
frame: {
x: 1156,
y: 2491,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0020",
frame: {
x: 2763,
y: 2491,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0021",
frame: {
x: 2763,
y: 2491,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0022",
frame: {
x: 974,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0023",
frame: {
x: 974,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0024",
frame: {
x: 1042,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0025",
frame: {
x: 1042,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0026",
frame: {
x: 1305,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0027",
frame: {
x: 3994,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0028",
frame: {
x: 3994,
y: 2492,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0029",
frame: {
x: 508,
y: 2493,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0030",
frame: {
x: 508,
y: 2493,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0031",
frame: {
x: 3920,
y: 2493,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0032",
frame: {
x: 132,
y: 2494,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0033",
frame: {
x: 132,
y: 2494,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0034",
frame: {
x: 1224,
y: 2494,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0035",
frame: {
x: 1224,
y: 2494,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0036",
frame: {
x: 3672,
y: 2494,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0037",
frame: {
x: 3672,
y: 2494,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0038",
frame: {
x: 3,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0039",
frame: {
x: 436,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0040",
frame: {
x: 436,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0041",
frame: {
x: 1373,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0042",
frame: {
x: 1373,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0043",
frame: {
x: 3192,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0044",
frame: {
x: 3355,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0045",
frame: {
x: 3355,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0046",
frame: {
x: 3423,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0047",
frame: {
x: 3423,
y: 2495,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0048",
frame: {
x: 200,
y: 2496,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0049",
frame: {
x: 200,
y: 2496,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0050",
frame: {
x: 2160,
y: 2496,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0051",
frame: {
x: 576,
y: 2497,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0052",
frame: {
x: 576,
y: 2497,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0053",
frame: {
x: 644,
y: 2497,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0054",
frame: {
x: 644,
y: 2497,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0055",
frame: {
x: 3491,
y: 2497,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0056",
frame: {
x: 1767,
y: 2498,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0057",
frame: {
x: 1767,
y: 2498,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0058",
frame: {
x: 1952,
y: 2499,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0059",
frame: {
x: 1952,
y: 2499,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0060",
frame: {
x: 3740,
y: 2500,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0061",
frame: {
x: 3740,
y: 2500,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0062",
frame: {
x: 1652,
y: 2501,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0063",
frame: {
x: 3260,
y: 2503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0064",
frame: {
x: 3260,
y: 2503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0065",
frame: {
x: 3559,
y: 2503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0066",
frame: {
x: 3559,
y: 2503,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0067",
frame: {
x: 846,
y: 2504,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0068",
frame: {
x: 846,
y: 2504,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0069",
frame: {
x: 2522,
y: 2505,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0070",
frame: {
x: 2590,
y: 2505,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0071",
frame: {
x: 2590,
y: 2505,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0072",
frame: {
x: 2879,
y: 2505,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0073",
frame: {
x: 2879,
y: 2505,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0074",
frame: {
x: 2443,
y: 2506,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0075",
frame: {
x: 342,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0076",
frame: {
x: 342,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0077",
frame: {
x: 1441,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0078",
frame: {
x: 1441,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0079",
frame: {
x: 2228,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0080",
frame: {
x: 2228,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0081",
frame: {
x: 2296,
y: 2507,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0082",
frame: {
x: 712,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0083",
frame: {
x: 712,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0084",
frame: {
x: 1835,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0085",
frame: {
x: 1835,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0086",
frame: {
x: 2020,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0087",
frame: {
x: 2088,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0088",
frame: {
x: 2088,
y: 2508,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0089",
frame: {
x: 3808,
y: 2509,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0090",
frame: {
x: 3808,
y: 2509,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0091",
frame: {
x: 268,
y: 2511,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0092",
frame: {
x: 268,
y: 2511,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0093",
frame: {
x: 1156,
y: 2512,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0094",
frame: {
x: 2763,
y: 2512,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0095",
frame: {
x: 2763,
y: 2512,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0096",
frame: {
x: 914,
y: 2513,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0097",
frame: {
x: 914,
y: 2513,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0098",
frame: {
x: 982,
y: 2513,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "Progress_bar0099",
frame: {
x: 1292,
y: 2513,
w: 65,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 65,
h: 18
},
sourceSize: {
w: 65,
h: 18
}
}, {
filename: "RestartButton0000",
frame: {
x: 3576,
y: 1721,
w: 27,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 27,
h: 28
},
sourceSize: {
w: 27,
h: 28
}
}, {
filename: "RestartButton0001",
frame: {
x: 176,
y: 1870,
w: 27,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 27,
h: 28
},
sourceSize: {
w: 27,
h: 28
}
}, {
filename: "RestartButton0002",
frame: {
x: 3576,
y: 1721,
w: 27,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 27,
h: 28
},
sourceSize: {
w: 27,
h: 28
}
}, {
filename: "RestartButton0003",
frame: {
x: 2611,
y: 1875,
w: 27,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 27,
h: 28
},
sourceSize: {
w: 27,
h: 28
}
}, {
filename: "Robot0000",
frame: {
x: 3988,
y: 2344,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0001",
frame: {
x: 3988,
y: 2344,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0002",
frame: {
x: 3988,
y: 2344,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0003",
frame: {
x: 695,
y: 2311,
w: 41,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0004",
frame: {
x: 695,
y: 2311,
w: 41,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0005",
frame: {
x: 695,
y: 2311,
w: 41,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0006",
frame: {
x: 3988,
y: 2344,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0007",
frame: {
x: 3988,
y: 2344,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0008",
frame: {
x: 3988,
y: 2344,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0009",
frame: {
x: 2238,
y: 1957,
w: 43,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0010",
frame: {
x: 2238,
y: 1957,
w: 43,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0011",
frame: {
x: 2238,
y: 1957,
w: 43,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0012",
frame: {
x: 3,
y: 2313,
w: 41,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0013",
frame: {
x: 3,
y: 2313,
w: 41,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0014",
frame: {
x: 3,
y: 2313,
w: 41,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0015",
frame: {
x: 2238,
y: 1957,
w: 43,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0016",
frame: {
x: 2238,
y: 1957,
w: 43,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0017",
frame: {
x: 2238,
y: 1957,
w: 43,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0018",
frame: {
x: 891,
y: 2346,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0019",
frame: {
x: 646,
y: 1286,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0020",
frame: {
x: 1613,
y: 1829,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0021",
frame: {
x: 1613,
y: 1829,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0022",
frame: {
x: 1613,
y: 1829,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0023",
frame: {
x: 646,
y: 1226,
w: 42,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0024",
frame: {
x: 646,
y: 1226,
w: 42,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0025",
frame: {
x: 646,
y: 1226,
w: 42,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0026",
frame: {
x: 1613,
y: 1829,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0027",
frame: {
x: 1613,
y: 1829,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0028",
frame: {
x: 1613,
y: 1829,
w: 42,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0029",
frame: {
x: 2237,
y: 2226,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0030",
frame: {
x: 2237,
y: 2226,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0031",
frame: {
x: 2237,
y: 2226,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0032",
frame: {
x: 1034,
y: 1403,
w: 43,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0033",
frame: {
x: 1034,
y: 1403,
w: 43,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0034",
frame: {
x: 1034,
y: 1403,
w: 43,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0035",
frame: {
x: 2237,
y: 2226,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0036",
frame: {
x: 2237,
y: 2226,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0037",
frame: {
x: 2237,
y: 2226,
w: 45,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0038",
frame: {
x: 374,
y: 2261,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.7,
y: -22.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0039",
frame: {
x: 3619,
y: 2435,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.7,
y: -19.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0040",
frame: {
x: 2198,
y: 2346,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0041",
frame: {
x: 485,
y: 2310,
w: 40,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0042",
frame: {
x: 485,
y: 2310,
w: 40,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.7,
y: -28.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0043",
frame: {
x: 2198,
y: 2346,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0044",
frame: {
x: 2198,
y: 2346,
w: 41,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.7,
y: -25.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0045",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0046",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0047",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0048",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0049",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0050",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0051",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0052",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0053",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0054",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0055",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0056",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0057",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0058",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0059",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0060",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0061",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0062",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0063",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0064",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0065",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0066",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0067",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0068",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0069",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0070",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0071",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0072",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0073",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0074",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0075",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0076",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0077",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0078",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0079",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0080",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0081",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0082",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "Robot0083",
frame: {
x: 220,
y: 1189,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10.6,
y: -9.1,
w: 52,
h: 61
},
sourceSize: {
w: 52,
h: 61
}
}, {
filename: "RobotLights0000",
frame: {
x: 160,
y: 1907,
w: 40,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -17.5,
w: 175,
h: 43
},
sourceSize: {
w: 175,
h: 43
}
}, {
filename: "RobotLights0001",
frame: {
x: 3488,
y: 1824,
w: 175,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -135,
y: -24.5,
w: 175,
h: 43
},
sourceSize: {
w: 175,
h: 43
}
}, {
filename: "RobotLights0002",
frame: {
x: 3057,
y: 1826,
w: 175,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -135,
y: -24.5,
w: 175,
h: 43
},
sourceSize: {
w: 175,
h: 43
}
}, {
filename: "RobotLights0003",
frame: {
x: 1609,
y: 2481,
w: 40,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -17.5,
w: 175,
h: 43
},
sourceSize: {
w: 175,
h: 43
}
}, {
filename: "RobotMayak0000",
frame: {
x: 556,
y: 1415,
w: 76,
h: 103
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.8,
y: -45.7,
w: 76,
h: 103
},
sourceSize: {
w: 76,
h: 103
}
}, {
filename: "RobotShock0000",
frame: {
x: 4038,
y: 94,
w: 48,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -34,
w: 48,
h: 69
},
sourceSize: {
w: 48,
h: 69
}
}, {
filename: "RobotShock0001",
frame: {
x: 4038,
y: 94,
w: 48,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -34,
w: 48,
h: 69
},
sourceSize: {
w: 48,
h: 69
}
}, {
filename: "RobotShock0002",
frame: {
x: 4038,
y: 166,
w: 48,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -34,
w: 48,
h: 69
},
sourceSize: {
w: 48,
h: 69
}
}, {
filename: "RobotShock0003",
frame: {
x: 4038,
y: 166,
w: 48,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -34,
w: 48,
h: 69
},
sourceSize: {
w: 48,
h: 69
}
}, {
filename: "Securityman0000",
frame: {
x: 238,
y: 1963,
w: 68,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -32.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0001",
frame: {
x: 3682,
y: 1963,
w: 65,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -33.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0002",
frame: {
x: 3010,
y: 1909,
w: 81,
h: 61
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -33.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0003",
frame: {
x: 87,
y: 1907,
w: 70,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0004",
frame: {
x: 87,
y: 1907,
w: 70,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0005",
frame: {
x: 87,
y: 1907,
w: 70,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0006",
frame: {
x: 768,
y: 1930,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0007",
frame: {
x: 768,
y: 1930,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0008",
frame: {
x: 768,
y: 1930,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0009",
frame: {
x: 1917,
y: 1966,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0010",
frame: {
x: 1917,
y: 1966,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0011",
frame: {
x: 1917,
y: 1966,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0012",
frame: {
x: 2922,
y: 982,
w: 68,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0013",
frame: {
x: 2922,
y: 982,
w: 68,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0014",
frame: {
x: 2922,
y: 982,
w: 68,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0015",
frame: {
x: 1430,
y: 1934,
w: 68,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0016",
frame: {
x: 1430,
y: 1934,
w: 68,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0017",
frame: {
x: 1430,
y: 1934,
w: 68,
h: 71
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0018",
frame: {
x: 1092,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0019",
frame: {
x: 1092,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0020",
frame: {
x: 1092,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0021",
frame: {
x: 3918,
y: 1966,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0022",
frame: {
x: 3918,
y: 1966,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0023",
frame: {
x: 3918,
y: 1966,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0024",
frame: {
x: 3378,
y: 1946,
w: 68,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0025",
frame: {
x: 3378,
y: 1946,
w: 68,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0026",
frame: {
x: 3378,
y: 1946,
w: 68,
h: 69
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0027",
frame: {
x: 2426,
y: 1871,
w: 68,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0028",
frame: {
x: 2426,
y: 1871,
w: 68,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0029",
frame: {
x: 2426,
y: 1871,
w: 68,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0030",
frame: {
x: 4008,
y: 1592,
w: 81,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0031",
frame: {
x: 4008,
y: 1592,
w: 81,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0032",
frame: {
x: 2426,
y: 1787,
w: 79,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0033",
frame: {
x: 2426,
y: 1787,
w: 79,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0034",
frame: {
x: 3400,
y: 1152,
w: 72,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0035",
frame: {
x: 3400,
y: 1152,
w: 72,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0036",
frame: {
x: 1323,
y: 2003,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0037",
frame: {
x: 1323,
y: 2003,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0038",
frame: {
x: 1323,
y: 2003,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0039",
frame: {
x: 2214,
y: 1875,
w: 68,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0040",
frame: {
x: 2214,
y: 1875,
w: 68,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0041",
frame: {
x: 2214,
y: 1875,
w: 68,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0042",
frame: {
x: 3235,
y: 1830,
w: 81,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0043",
frame: {
x: 3235,
y: 1830,
w: 81,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0044",
frame: {
x: 951,
y: 1833,
w: 79,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0045",
frame: {
x: 951,
y: 1833,
w: 79,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0046",
frame: {
x: 1249,
y: 1661,
w: 72,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0047",
frame: {
x: 1249,
y: 1661,
w: 72,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0048",
frame: {
x: 1390,
y: 2008,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0049",
frame: {
x: 1390,
y: 2008,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0050",
frame: {
x: 1390,
y: 2008,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -42.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0051",
frame: {
x: 633,
y: 1677,
w: 70,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0052",
frame: {
x: 633,
y: 1677,
w: 70,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0053",
frame: {
x: 633,
y: 1677,
w: 70,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -38.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0054",
frame: {
x: 3537,
y: 1900,
w: 66,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0055",
frame: {
x: 3537,
y: 1900,
w: 66,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0056",
frame: {
x: 3129,
y: 1172,
w: 80,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -47.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0057",
frame: {
x: 3129,
y: 1172,
w: 80,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -47.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0058",
frame: {
x: 1546,
y: 1898,
w: 66,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0059",
frame: {
x: 1546,
y: 1898,
w: 66,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0060",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0061",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0062",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0063",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0064",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0065",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0066",
frame: {
x: 1840,
y: 1932,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0067",
frame: {
x: 1684,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0068",
frame: {
x: 1684,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0069",
frame: {
x: 1684,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0070",
frame: {
x: 2825,
y: 1818,
w: 95,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0071",
frame: {
x: 2825,
y: 1818,
w: 95,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0072",
frame: {
x: 3457,
y: 1900,
w: 77,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0073",
frame: {
x: 3457,
y: 1900,
w: 77,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0074",
frame: {
x: 2825,
y: 1818,
w: 95,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0075",
frame: {
x: 2825,
y: 1818,
w: 95,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0076",
frame: {
x: 3457,
y: 1900,
w: 77,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0077",
frame: {
x: 3457,
y: 1900,
w: 77,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0078",
frame: {
x: 2825,
y: 1818,
w: 95,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0079",
frame: {
x: 2825,
y: 1818,
w: 95,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0080",
frame: {
x: 3457,
y: 1900,
w: 77,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0081",
frame: {
x: 3457,
y: 1900,
w: 77,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0082",
frame: {
x: 1684,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0083",
frame: {
x: 1684,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0084",
frame: {
x: 1684,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0085",
frame: {
x: 3775,
y: 1835,
w: 70,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0086",
frame: {
x: 3775,
y: 1835,
w: 70,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0087",
frame: {
x: 3775,
y: 1835,
w: 70,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0088",
frame: {
x: 1615,
y: 1901,
w: 66,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0089",
frame: {
x: 1615,
y: 1901,
w: 66,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0090",
frame: {
x: 4008,
y: 1508,
w: 80,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0091",
frame: {
x: 4008,
y: 1508,
w: 80,
h: 81
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0092",
frame: {
x: 3848,
y: 1895,
w: 67,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0093",
frame: {
x: 3848,
y: 1895,
w: 67,
h: 80
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -37.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0094",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0095",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0096",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0097",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0098",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0099",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0100",
frame: {
x: 1353,
y: 1934,
w: 74,
h: 66
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -38.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0101",
frame: {
x: 1762,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0102",
frame: {
x: 1762,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0103",
frame: {
x: 1762,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0104",
frame: {
x: 3608,
y: 1579,
w: 96,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -64.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0105",
frame: {
x: 3608,
y: 1579,
w: 96,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -64.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0106",
frame: {
x: 3918,
y: 1895,
w: 78,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0107",
frame: {
x: 3918,
y: 1895,
w: 78,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0108",
frame: {
x: 3608,
y: 1579,
w: 96,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -64.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0109",
frame: {
x: 3608,
y: 1579,
w: 96,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -64.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0110",
frame: {
x: 3918,
y: 1895,
w: 78,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0111",
frame: {
x: 3918,
y: 1895,
w: 78,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0112",
frame: {
x: 3608,
y: 1579,
w: 96,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -64.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0113",
frame: {
x: 3608,
y: 1579,
w: 96,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -64.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0114",
frame: {
x: 3918,
y: 1895,
w: 78,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0115",
frame: {
x: 3918,
y: 1895,
w: 78,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0116",
frame: {
x: 1762,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0117",
frame: {
x: 1762,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0118",
frame: {
x: 1762,
y: 1901,
w: 75,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0119",
frame: {
x: 2023,
y: 1902,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0120",
frame: {
x: 2023,
y: 1902,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0121",
frame: {
x: 2023,
y: 1902,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0122",
frame: {
x: 431,
y: 2046,
w: 60,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -35.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0123",
frame: {
x: 431,
y: 2046,
w: 60,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -35.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0124",
frame: {
x: 431,
y: 2046,
w: 60,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -35.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0125",
frame: {
x: 2583,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0126",
frame: {
x: 2583,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0127",
frame: {
x: 2583,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -34.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0128",
frame: {
x: 1785,
y: 1573,
w: 60,
h: 65
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0129",
frame: {
x: 1785,
y: 1573,
w: 60,
h: 65
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0130",
frame: {
x: 1785,
y: 1573,
w: 60,
h: 65
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -30.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0131",
frame: {
x: 2650,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0132",
frame: {
x: 2650,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0133",
frame: {
x: 2650,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0134",
frame: {
x: 494,
y: 2046,
w: 60,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -35.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0135",
frame: {
x: 494,
y: 2046,
w: 60,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -35.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0136",
frame: {
x: 494,
y: 2046,
w: 60,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -35.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0137",
frame: {
x: 2717,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0138",
frame: {
x: 2717,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0139",
frame: {
x: 2717,
y: 1906,
w: 64,
h: 79
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0140",
frame: {
x: 3821,
y: 2040,
w: 60,
h: 65
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0141",
frame: {
x: 3821,
y: 2040,
w: 60,
h: 65
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0142",
frame: {
x: 3821,
y: 2040,
w: 60,
h: 65
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0143",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0144",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0145",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0146",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0147",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0148",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0149",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0150",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0151",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0152",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0153",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0154",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0155",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0156",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0157",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0158",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0159",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0160",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0161",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0162",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0163",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0164",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0165",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0166",
frame: {
x: 1169,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0167",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0168",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0169",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0170",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0171",
frame: {
x: 1085,
y: 2001,
w: 71,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41.1,
y: -30.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0172",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0173",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0174",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0175",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0176",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0177",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0178",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0179",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0180",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0181",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0182",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0183",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0184",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0185",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0186",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0187",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0188",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0189",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0190",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0191",
frame: {
x: 1246,
y: 1969,
w: 74,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.1,
y: -36.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0192",
frame: {
x: 2232,
y: 2042,
w: 68,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -22.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0193",
frame: {
x: 2232,
y: 2042,
w: 68,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32.1,
y: -22.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0194",
frame: {
x: 2135,
y: 1869,
w: 76,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.1,
y: -27.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "Securityman0195",
frame: {
x: 3378,
y: 1869,
w: 76,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -27.8,
w: 116,
h: 85
},
sourceSize: {
w: 116,
h: 85
}
}, {
filename: "ShopItemCursor0000",
frame: {
x: 2862,
y: 2009,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -32,
w: 64,
h: 64
},
sourceSize: {
w: 64,
h: 64
}
}, {
filename: "ShopItemCursor0001",
frame: {
x: 129,
y: 2012,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -32,
w: 64,
h: 64
},
sourceSize: {
w: 64,
h: 64
}
}, {
filename: "ShopItemCursor0002",
frame: {
x: 2727,
y: 2018,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -32,
w: 64,
h: 64
},
sourceSize: {
w: 64,
h: 64
}
}, {
filename: "ShopItemCursor0003",
frame: {
x: 2794,
y: 2018,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -32,
w: 64,
h: 64
},
sourceSize: {
w: 64,
h: 64
}
}, {
filename: "ShopItemCursor0004",
frame: {
x: 3320,
y: 2018,
w: 64,
h: 64
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -32,
y: -32,
w: 64,
h: 64
},
sourceSize: {
w: 64,
h: 64
}
}, {
filename: "ShopItemKol0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0001",
frame: {
x: 2198,
y: 2316,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0002",
frame: {
x: 3321,
y: 2404,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0003",
frame: {
x: 3287,
y: 2451,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0004",
frame: {
x: 436,
y: 2464,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0005",
frame: {
x: 106,
y: 2515,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0006",
frame: {
x: 135,
y: 2515,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0007",
frame: {
x: 164,
y: 2515,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0008",
frame: {
x: 1224,
y: 2515,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "ShopItemKol0009",
frame: {
x: 1253,
y: 2515,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -40,
y: 12,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "SoundButtonPlay0000",
frame: {
x: 1861,
y: 2063,
w: 34,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "SoundButtonPlay0001",
frame: {
x: 1720,
y: 2512,
w: 34,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "SoundButtonPlay0002",
frame: {
x: 1105,
y: 2063,
w: 34,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -2,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "SoundButtonPlay0003",
frame: {
x: 1337,
y: 2410,
w: 34,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -2,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "Stairs0000",
frame: {
x: 3497,
y: 793,
w: 20,
h: 137
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -68.5,
w: 20,
h: 137
},
sourceSize: {
w: 20,
h: 137
}
}, {
filename: "StunProgress0000",
frame: {
x: 776,
y: 1643,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0001",
frame: {
x: 3999,
y: 1895,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0002",
frame: {
x: 1353,
y: 1907,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0003",
frame: {
x: 1457,
y: 2008,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0004",
frame: {
x: 3157,
y: 2121,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0005",
frame: {
x: 4065,
y: 2209,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0006",
frame: {
x: 891,
y: 2319,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0007",
frame: {
x: 3,
y: 2370,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0008",
frame: {
x: 3689,
y: 2515,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0009",
frame: {
x: 3,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0010",
frame: {
x: 3,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0011",
frame: {
x: 30,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0012",
frame: {
x: 436,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0013",
frame: {
x: 463,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0014",
frame: {
x: 1360,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0015",
frame: {
x: 1360,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0016",
frame: {
x: 1360,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0017",
frame: {
x: 1387,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0018",
frame: {
x: 1414,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0019",
frame: {
x: 1414,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0020",
frame: {
x: 1387,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0021",
frame: {
x: 1545,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0022",
frame: {
x: 1545,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0023",
frame: {
x: 1545,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0024",
frame: {
x: 1545,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0025",
frame: {
x: 1572,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0026",
frame: {
x: 3192,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0027",
frame: {
x: 3219,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0028",
frame: {
x: 3354,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0029",
frame: {
x: 3381,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0030",
frame: {
x: 3408,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0031",
frame: {
x: 3435,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0032",
frame: {
x: 3462,
y: 2516,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0033",
frame: {
x: 193,
y: 2517,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0034",
frame: {
x: 220,
y: 2517,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0035",
frame: {
x: 2156,
y: 2517,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0036",
frame: {
x: 2183,
y: 2517,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0037",
frame: {
x: 570,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0038",
frame: {
x: 597,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0039",
frame: {
x: 624,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0040",
frame: {
x: 651,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0041",
frame: {
x: 678,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0042",
frame: {
x: 2831,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0043",
frame: {
x: 3489,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0044",
frame: {
x: 3516,
y: 2518,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0045",
frame: {
x: 1757,
y: 2519,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0046",
frame: {
x: 1784,
y: 2519,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0047",
frame: {
x: 1114,
y: 2520,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0048",
frame: {
x: 1599,
y: 2520,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0049",
frame: {
x: 1952,
y: 2520,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0050",
frame: {
x: 1979,
y: 2520,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0051",
frame: {
x: 2726,
y: 2520,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0052",
frame: {
x: 2364,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0053",
frame: {
x: 2391,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0054",
frame: {
x: 2684,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0055",
frame: {
x: 2983,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0056",
frame: {
x: 3010,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0057",
frame: {
x: 3716,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0058",
frame: {
x: 3743,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0059",
frame: {
x: 3770,
y: 2521,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0060",
frame: {
x: 1626,
y: 2522,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0061",
frame: {
x: 1653,
y: 2522,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0062",
frame: {
x: 1680,
y: 2522,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0063",
frame: {
x: 3037,
y: 2522,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0064",
frame: {
x: 3876,
y: 2522,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0065",
frame: {
x: 1903,
y: 2523,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0066",
frame: {
x: 3246,
y: 2524,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0067",
frame: {
x: 3273,
y: 2524,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0068",
frame: {
x: 3300,
y: 2524,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0069",
frame: {
x: 3543,
y: 2524,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0070",
frame: {
x: 3570,
y: 2524,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0071",
frame: {
x: 3597,
y: 2524,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0072",
frame: {
x: 844,
y: 2525,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0073",
frame: {
x: 871,
y: 2525,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0074",
frame: {
x: 2511,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0075",
frame: {
x: 2538,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0076",
frame: {
x: 2565,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0077",
frame: {
x: 2592,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0078",
frame: {
x: 2619,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0079",
frame: {
x: 2858,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0080",
frame: {
x: 2885,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0081",
frame: {
x: 2912,
y: 2526,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0082",
frame: {
x: 2418,
y: 2527,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0083",
frame: {
x: 2445,
y: 2527,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0084",
frame: {
x: 2472,
y: 2527,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0085",
frame: {
x: 336,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0086",
frame: {
x: 363,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0087",
frame: {
x: 1441,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0088",
frame: {
x: 1468,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0089",
frame: {
x: 2210,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0090",
frame: {
x: 2237,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0091",
frame: {
x: 2264,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0092",
frame: {
x: 2291,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0093",
frame: {
x: 2318,
y: 2528,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0094",
frame: {
x: 705,
y: 2529,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0095",
frame: {
x: 732,
y: 2529,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0096",
frame: {
x: 1811,
y: 2529,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0097",
frame: {
x: 1838,
y: 2529,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0098",
frame: {
x: 1865,
y: 2529,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunProgress0099",
frame: {
x: 2006,
y: 2529,
w: 24,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 24,
h: 24
},
sourceSize: {
w: 24,
h: 24
}
}, {
filename: "StunStars0000",
frame: {
x: 176,
y: 1213,
w: 71,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0001",
frame: {
x: 176,
y: 1213,
w: 71,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0002",
frame: {
x: 176,
y: 1213,
w: 71,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0003",
frame: {
x: 176,
y: 1213,
w: 71,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0004",
frame: {
x: 176,
y: 1213,
w: 71,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0005",
frame: {
x: 3433,
y: 2368,
w: 63,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0006",
frame: {
x: 3433,
y: 2368,
w: 63,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0007",
frame: {
x: 3433,
y: 2368,
w: 63,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0008",
frame: {
x: 3433,
y: 2368,
w: 63,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0009",
frame: {
x: 3433,
y: 2368,
w: 63,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.1,
y: -16,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0010",
frame: {
x: 2665,
y: 2270,
w: 65,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0011",
frame: {
x: 2665,
y: 2270,
w: 65,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0012",
frame: {
x: 2665,
y: 2270,
w: 65,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0013",
frame: {
x: 2665,
y: 2270,
w: 65,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "StunStars0014",
frame: {
x: 2665,
y: 2270,
w: 65,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -33.1,
y: -19,
w: 71,
h: 36
},
sourceSize: {
w: 71,
h: 36
}
}, {
filename: "Target0000",
frame: {
x: 1535,
y: 2415,
w: 43,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.2,
y: -21.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0001",
frame: {
x: 2722,
y: 2384,
w: 45,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.2,
y: -22.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0002",
frame: {
x: 3524,
y: 2356,
w: 46,
h: 46
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.2,
y: -22.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0003",
frame: {
x: 2502,
y: 2318,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.2,
y: -23.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0004",
frame: {
x: 1464,
y: 2261,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.2,
y: -24.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0005",
frame: {
x: 2685,
y: 2216,
w: 51,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.2,
y: -25.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0006",
frame: {
x: 2881,
y: 2202,
w: 53,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.2,
y: -26.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0007",
frame: {
x: 2064,
y: 2153,
w: 55,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.2,
y: -27.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0008",
frame: {
x: 467,
y: 2113,
w: 57,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.2,
y: -28.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0009",
frame: {
x: 2560,
y: 2107,
w: 59,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -29.2,
y: -29.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0010",
frame: {
x: 467,
y: 2113,
w: 57,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.2,
y: -28.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0011",
frame: {
x: 3051,
y: 2155,
w: 55,
h: 55
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27.2,
y: -27.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0012",
frame: {
x: 2937,
y: 2202,
w: 53,
h: 53
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.2,
y: -26.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0013",
frame: {
x: 319,
y: 2207,
w: 52,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26.2,
y: -25.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0014",
frame: {
x: 2346,
y: 2218,
w: 51,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25.2,
y: -25.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0015",
frame: {
x: 3045,
y: 2261,
w: 49,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24.2,
y: -24.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0016",
frame: {
x: 739,
y: 2319,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.2,
y: -23.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0017",
frame: {
x: 3914,
y: 2384,
w: 45,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.2,
y: -22.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0018",
frame: {
x: 2509,
y: 1716,
w: 44,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22.2,
y: -21.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "Target0019",
frame: {
x: 1535,
y: 2415,
w: 43,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21.2,
y: -21.1,
w: 59,
h: 59
},
sourceSize: {
w: 59,
h: 59
}
}, {
filename: "TargetGood0000",
frame: {
x: 1420,
y: 1e3,
w: 251,
h: 187
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -125.4,
y: -93.9,
w: 251,
h: 187
},
sourceSize: {
w: 251,
h: 187
}
}, {
filename: "TransformationBG0000",
frame: {
x: 3643,
y: 352,
w: 320,
h: 380
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 320,
h: 380
},
sourceSize: {
w: 320,
h: 380
}
}, {
filename: "TransformatorPanelTip0000",
frame: {
x: 3174,
y: 1663,
w: 153,
h: 89
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -76.8,
y: -44.3,
w: 153,
h: 89
},
sourceSize: {
w: 153,
h: 89
}
}, {
filename: "TransformatorPanelTip0001",
frame: {
x: 708,
y: 1671,
w: 153,
h: 89
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -76.8,
y: -44.3,
w: 153,
h: 89
},
sourceSize: {
w: 153,
h: 89
}
}, {
filename: "VideoCamera0000",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0001",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0002",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0003",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0004",
frame: {
x: 3376,
y: 1339,
w: 19,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0005",
frame: {
x: 3376,
y: 1339,
w: 19,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0006",
frame: {
x: 3376,
y: 1339,
w: 19,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0007",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0008",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0009",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0010",
frame: {
x: 4083,
y: 29,
w: 10,
h: 21
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0011",
frame: {
x: 1275,
y: 1503,
w: 19,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0012",
frame: {
x: 1275,
y: 1503,
w: 19,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCamera0013",
frame: {
x: 1275,
y: 1503,
w: 19,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 19,
h: 22
},
sourceSize: {
w: 19,
h: 22
}
}, {
filename: "VideoCameraLight0000",
frame: {
x: 1612,
y: 2320,
w: 69,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 69,
h: 32
},
sourceSize: {
w: 69,
h: 32
}
}, {
filename: "VideoCameraLight0001",
frame: {
x: 1156,
y: 2321,
w: 69,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 69,
h: 32
},
sourceSize: {
w: 69,
h: 32
}
}, {
filename: "VideoCameraLight0002",
frame: {
x: 3812,
y: 2325,
w: 69,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 69,
h: 32
},
sourceSize: {
w: 69,
h: 32
}
}, {
filename: "VideoCameraLight0003",
frame: {
x: 1115,
y: 2440,
w: 55,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 69,
h: 32
},
sourceSize: {
w: 69,
h: 32
}
}, {
filename: "VideoCameraPassed0000",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0001",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0002",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0003",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0004",
frame: {
x: 3376,
y: 1257,
w: 21,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0005",
frame: {
x: 3376,
y: 1257,
w: 21,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0006",
frame: {
x: 3376,
y: 1257,
w: 21,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9.5,
y: -10,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0007",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0008",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0009",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0010",
frame: {
x: 3201,
y: 724,
w: 12,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.5,
y: -9,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0011",
frame: {
x: 3376,
y: 1284,
w: 21,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11.5,
y: -10,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0012",
frame: {
x: 3376,
y: 1284,
w: 21,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11.5,
y: -10,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraPassed0013",
frame: {
x: 3376,
y: 1284,
w: 21,
h: 24
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -11.5,
y: -10,
w: 23,
h: 26
},
sourceSize: {
w: 23,
h: 26
}
}, {
filename: "VideoCameraView0000",
frame: {
x: 2312,
y: 1019,
w: 100,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -50,
y: -10,
w: 100,
h: 20
},
sourceSize: {
w: 100,
h: 20
}
}, {
filename: "Walls0000",
frame: {
x: 3521,
y: 719,
w: 112,
h: 2
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -56,
y: -1,
w: 112,
h: 2
},
sourceSize: {
w: 112,
h: 2
}
}, {
filename: "WireSignalEnd0000",
frame: {
x: 3083,
y: 2472,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "WireSignalEnd0001",
frame: {
x: 1566,
y: 2473,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0000",
frame: {
x: 760,
y: 2465,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0001",
frame: {
x: 803,
y: 2465,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0002",
frame: {
x: 1870,
y: 2465,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0003",
frame: {
x: 2074,
y: 2465,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0004",
frame: {
x: 2117,
y: 2465,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0005",
frame: {
x: 3836,
y: 2466,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0006",
frame: {
x: 1724,
y: 2469,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Wires0007",
frame: {
x: 3149,
y: 2469,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "Writing0000",
frame: {
x: 4075,
y: 813,
w: 18,
h: 19
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8.3,
y: -9.3,
w: 18,
h: 19
},
sourceSize: {
w: 18,
h: 19
}
}, {
filename: "Zamok0000",
frame: {
x: 3376,
y: 1311,
w: 20,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9,
y: -15.4,
w: 20,
h: 30
},
sourceSize: {
w: 20,
h: 30
}
}, {
filename: "Zamok0001",
frame: {
x: 4075,
y: 735,
w: 18,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8,
y: -12.4,
w: 20,
h: 30
},
sourceSize: {
w: 20,
h: 30
}
}, {
filename: "Zombieman0000",
frame: {
x: 395,
y: 2353,
w: 50,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0001",
frame: {
x: 3424,
y: 2404,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0002",
frame: {
x: 3470,
y: 2404,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0003",
frame: {
x: 3663,
y: 2435,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0004",
frame: {
x: 2911,
y: 2438,
w: 41,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0005",
frame: {
x: 2911,
y: 2438,
w: 41,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0006",
frame: {
x: 3097,
y: 2294,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0007",
frame: {
x: 739,
y: 2268,
w: 49,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0008",
frame: {
x: 739,
y: 2268,
w: 49,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0009",
frame: {
x: 2545,
y: 2223,
w: 58,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0010",
frame: {
x: 3248,
y: 2244,
w: 58,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0011",
frame: {
x: 3248,
y: 2244,
w: 58,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0012",
frame: {
x: 2998,
y: 2475,
w: 37,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0013",
frame: {
x: 2784,
y: 1906,
w: 37,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0014",
frame: {
x: 2034,
y: 2450,
w: 37,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0015",
frame: {
x: 4032,
y: 2398,
w: 44,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0016",
frame: {
x: 497,
y: 2405,
w: 44,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0017",
frame: {
x: 497,
y: 2405,
w: 44,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0018",
frame: {
x: 3997,
y: 2294,
w: 49,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0019",
frame: {
x: 1179,
y: 2270,
w: 49,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0020",
frame: {
x: 1179,
y: 2270,
w: 49,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0021",
frame: {
x: 998,
y: 2219,
w: 59,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0022",
frame: {
x: 2175,
y: 2226,
w: 59,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0023",
frame: {
x: 2175,
y: 2226,
w: 59,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0024",
frame: {
x: 1913,
y: 2477,
w: 36,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0025",
frame: {
x: 3038,
y: 2475,
w: 36,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0026",
frame: {
x: 4057,
y: 2239,
w: 36,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -14,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0027",
frame: {
x: 2234,
y: 2164,
w: 50,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0028",
frame: {
x: 2234,
y: 2164,
w: 50,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0029",
frame: {
x: 2234,
y: 2164,
w: 50,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0030",
frame: {
x: 3737,
y: 2055,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0031",
frame: {
x: 3737,
y: 2055,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0032",
frame: {
x: 3737,
y: 2055,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0033",
frame: {
x: 3606,
y: 1900,
w: 55,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0034",
frame: {
x: 3606,
y: 1900,
w: 55,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0035",
frame: {
x: 3606,
y: 1900,
w: 55,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0036",
frame: {
x: 4006,
y: 2130,
w: 54,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0037",
frame: {
x: 4006,
y: 2130,
w: 54,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0038",
frame: {
x: 4006,
y: 2130,
w: 54,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0039",
frame: {
x: 2122,
y: 2165,
w: 50,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0040",
frame: {
x: 2122,
y: 2165,
w: 50,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0041",
frame: {
x: 2122,
y: 2165,
w: 50,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0042",
frame: {
x: 3067,
y: 2057,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0043",
frame: {
x: 3067,
y: 2057,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0044",
frame: {
x: 3067,
y: 2057,
w: 64,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0045",
frame: {
x: 3320,
y: 1947,
w: 55,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0046",
frame: {
x: 3320,
y: 1947,
w: 55,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0047",
frame: {
x: 3320,
y: 1947,
w: 55,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -27,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0048",
frame: {
x: 2750,
y: 2132,
w: 54,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0049",
frame: {
x: 2750,
y: 2132,
w: 54,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0050",
frame: {
x: 2750,
y: 2132,
w: 54,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0051",
frame: {
x: 1586,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0052",
frame: {
x: 1586,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0053",
frame: {
x: 1586,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0054",
frame: {
x: 625,
y: 2405,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0055",
frame: {
x: 625,
y: 2405,
w: 43,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0056",
frame: {
x: 934,
y: 2436,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0057",
frame: {
x: 934,
y: 2436,
w: 41,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0058",
frame: {
x: 4007,
y: 2445,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0059",
frame: {
x: 4007,
y: 2445,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0060",
frame: {
x: 1635,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0061",
frame: {
x: 1635,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0062",
frame: {
x: 1635,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0063",
frame: {
x: 1326,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0064",
frame: {
x: 1326,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0065",
frame: {
x: 3053,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0066",
frame: {
x: 3053,
y: 2389,
w: 46,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0067",
frame: {
x: 3227,
y: 2397,
w: 45,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0068",
frame: {
x: 3227,
y: 2397,
w: 45,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0069",
frame: {
x: 3133,
y: 2376,
w: 43,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0070",
frame: {
x: 1146,
y: 2390,
w: 43,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0071",
frame: {
x: 278,
y: 2357,
w: 45,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0072",
frame: {
x: 1277,
y: 2349,
w: 46,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0073",
frame: {
x: 1201,
y: 1765,
w: 45,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0074",
frame: {
x: 2090,
y: 1902,
w: 42,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0075",
frame: {
x: 557,
y: 2108,
w: 58,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0076",
frame: {
x: 3804,
y: 2108,
w: 57,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0077",
frame: {
x: 875,
y: 2109,
w: 57,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -36,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0078",
frame: {
x: 3769,
y: 2407,
w: 45,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0079",
frame: {
x: 145,
y: 2400,
w: 45,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0080",
frame: {
x: 326,
y: 2399,
w: 44,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -22,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0081",
frame: {
x: 791,
y: 2275,
w: 48,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0082",
frame: {
x: 1105,
y: 2307,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0083",
frame: {
x: 1821,
y: 2307,
w: 48,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0084",
frame: {
x: 1386,
y: 2349,
w: 46,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0085",
frame: {
x: 3109,
y: 2155,
w: 45,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0086",
frame: {
x: 1895,
y: 2367,
w: 42,
h: 48
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0087",
frame: {
x: 3433,
y: 2108,
w: 57,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0088",
frame: {
x: 1663,
y: 2110,
w: 56,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0089",
frame: {
x: 758,
y: 2112,
w: 56,
h: 59
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0090",
frame: {
x: 3102,
y: 2427,
w: 44,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -19.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0091",
frame: {
x: 577,
y: 2400,
w: 45,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -20.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0092",
frame: {
x: 373,
y: 2399,
w: 44,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -21,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0093",
frame: {
x: 2400,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0094",
frame: {
x: 2400,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0095",
frame: {
x: 2400,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0096",
frame: {
x: 2400,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0097",
frame: {
x: 2458,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0098",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0099",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0100",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0101",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0102",
frame: {
x: 3381,
y: 2351,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0103",
frame: {
x: 3678,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0104",
frame: {
x: 3678,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0105",
frame: {
x: 3678,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0106",
frame: {
x: 3678,
y: 2259,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0107",
frame: {
x: 1121,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0108",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0109",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0110",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0111",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0112",
frame: {
x: 2830,
y: 2350,
w: 49,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -25,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0113",
frame: {
x: 3946,
y: 2239,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0114",
frame: {
x: 3946,
y: 2239,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0115",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0116",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0117",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0118",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0119",
frame: {
x: 3602,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0120",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0121",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0122",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0123",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0124",
frame: {
x: 1684,
y: 2364,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0125",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0126",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0127",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0128",
frame: {
x: 1840,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0129",
frame: {
x: 3602,
y: 2260,
w: 55,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0130",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0131",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0132",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0133",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0134",
frame: {
x: 1435,
y: 2363,
w: 48,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0135",
frame: {
x: 3946,
y: 2239,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0136",
frame: {
x: 3946,
y: 2239,
w: 57,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -21.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0137",
frame: {
x: 1285,
y: 2301,
w: 51,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -24,
y: -17.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0138",
frame: {
x: 1636,
y: 2272,
w: 52,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13,
y: -17.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0139",
frame: {
x: 1940,
y: 2398,
w: 53,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -11.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0140",
frame: {
x: 2606,
y: 2398,
w: 53,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -26,
y: -11.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0141",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0142",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0143",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0144",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0145",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0146",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0147",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0148",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0149",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0150",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0151",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0152",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0153",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0154",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0155",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0156",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0157",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0158",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "Zombieman0159",
frame: {
x: 2860,
y: 1535,
w: 21,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -7.8,
w: 75,
h: 60
},
sourceSize: {
w: 75,
h: 60
}
}, {
filename: "agressor0000",
frame: {
x: 1612,
y: 2355,
w: 69,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 138,
h: 31
},
sourceSize: {
w: 138,
h: 31
}
}, {
filename: "agressor0001",
frame: {
x: 3587,
y: 2355,
w: 69,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 138,
h: 31
},
sourceSize: {
w: 138,
h: 31
}
}, {
filename: "agressor0002",
frame: {
x: 935,
y: 2356,
w: 69,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 138,
h: 31
},
sourceSize: {
w: 138,
h: 31
}
}, {
filename: "agressor0003",
frame: {
x: 1156,
y: 2356,
w: 69,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -69,
y: 0,
w: 138,
h: 31
},
sourceSize: {
w: 138,
h: 31
}
}, {
filename: "agressor0004",
frame: {
x: 3659,
y: 2356,
w: 69,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -69,
y: 0,
w: 138,
h: 31
},
sourceSize: {
w: 138,
h: 31
}
}, {
filename: "agressor0005",
frame: {
x: 1074,
y: 2357,
w: 69,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -69,
y: 0,
w: 138,
h: 31
},
sourceSize: {
w: 138,
h: 31
}
}, {
filename: "arr_go0000",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: 3,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0001",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: 0,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0002",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -1,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0003",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -2,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0004",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -3,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0005",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -4,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0006",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -5,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0007",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -6,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0008",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -6,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0009",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -6,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0010",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -6,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0011",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -6,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0012",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -6,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0013",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -5,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0014",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -4,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0015",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -3,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0016",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -2,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0017",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: -1,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0018",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: 0,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "arr_go0019",
frame: {
x: 2e3,
y: 1550,
w: 29,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.5,
y: 1,
w: 29,
h: 50
},
sourceSize: {
w: 29,
h: 50
}
}, {
filename: "but_back0000",
frame: {
x: 3284,
y: 2208,
w: 82,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 86,
h: 34
},
sourceSize: {
w: 86,
h: 34
}
}, {
filename: "but_back0001",
frame: {
x: 527,
y: 2171,
w: 86,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.1,
y: -.8,
w: 86,
h: 34
},
sourceSize: {
w: 86,
h: 34
}
}, {
filename: "but_back0002",
frame: {
x: 3284,
y: 2208,
w: 82,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 86,
h: 34
},
sourceSize: {
w: 86,
h: 34
}
}, {
filename: "but_backToGame0000",
frame: {
x: 3,
y: 1835,
w: 200,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 210,
h: 33
},
sourceSize: {
w: 210,
h: 33
}
}, {
filename: "but_backToGame0001",
frame: {
x: 1840,
y: 1830,
w: 210,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5,
y: -.8,
w: 210,
h: 33
},
sourceSize: {
w: 210,
h: 33
}
}, {
filename: "but_backToGame0002",
frame: {
x: 3,
y: 1835,
w: 200,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 210,
h: 33
},
sourceSize: {
w: 210,
h: 33
}
}, {
filename: "but_clearProgress0000",
frame: {
x: 1381,
y: 1829,
w: 229,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.8,
w: 240,
h: 33
},
sourceSize: {
w: 240,
h: 33
}
}, {
filename: "but_clearProgress0001",
frame: {
x: 3848,
y: 1769,
w: 240,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -5.7,
y: -.8,
w: 240,
h: 33
},
sourceSize: {
w: 240,
h: 33
}
}, {
filename: "but_continue0000",
frame: {
x: 1684,
y: 1972,
w: 139,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.5,
y: -.8,
w: 145,
h: 33
},
sourceSize: {
w: 145,
h: 33
}
}, {
filename: "but_continue0001",
frame: {
x: 2090,
y: 1957,
w: 145,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3.5,
y: -.8,
w: 145,
h: 33
},
sourceSize: {
w: 145,
h: 33
}
}, {
filename: "but_m0000",
frame: {
x: 1788,
y: 2007,
w: 33,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -16,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_m0001",
frame: {
x: 1523,
y: 2461,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_m0002",
frame: {
x: 3216,
y: 2148,
w: 33,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -16,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_m0003",
frame: {
x: 2479,
y: 2463,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_p0000",
frame: {
x: 639,
y: 2220,
w: 33,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -16,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_p0001",
frame: {
x: 393,
y: 2464,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_r0000",
frame: {
x: 2947,
y: 2494,
w: 33,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -16,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_r0001",
frame: {
x: 717,
y: 2464,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_replay0000",
frame: {
x: 3731,
y: 1368,
w: 111,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: -.8,
w: 116,
h: 33
},
sourceSize: {
w: 116,
h: 33
}
}, {
filename: "but_replay0001",
frame: {
x: 693,
y: 2046,
w: 116,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.8,
y: -.8,
w: 116,
h: 33
},
sourceSize: {
w: 116,
h: 33
}
}, {
filename: "but_s0000",
frame: {
x: 3627,
y: 2503,
w: 33,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -16,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_s0001",
frame: {
x: 1466,
y: 2464,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_s0002",
frame: {
x: 1509,
y: 2504,
w: 33,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -16,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "but_s0003",
frame: {
x: 2263,
y: 2464,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "cameraMayak0000",
frame: {
x: 4083,
y: 3,
w: 10,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.4,
y: -1.9,
w: 10,
h: 23
},
sourceSize: {
w: 10,
h: 23
}
}, {
filename: "cbtnLevelDig0000",
frame: {
x: 1291,
y: 2134,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0001",
frame: {
x: 2303,
y: 2042,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -31,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0002",
frame: {
x: 1350,
y: 2139,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0003",
frame: {
x: 2807,
y: 2140,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0004",
frame: {
x: 2368,
y: 2042,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -31,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0005",
frame: {
x: 2866,
y: 2140,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0006",
frame: {
x: 128,
y: 2142,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0007",
frame: {
x: 2433,
y: 2042,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -31,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0008",
frame: {
x: 682,
y: 2145,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0009",
frame: {
x: 256,
y: 2148,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0010",
frame: {
x: 2498,
y: 2042,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -31,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0011",
frame: {
x: 315,
y: 2148,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0012",
frame: {
x: 1409,
y: 2148,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0013",
frame: {
x: 2563,
y: 2042,
w: 62,
h: 62
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -31.1,
y: -31,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnLevelDig0014",
frame: {
x: 3157,
y: 2148,
w: 56,
h: 56
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -28.1,
y: -28,
w: 62,
h: 62
},
sourceSize: {
w: 62,
h: 62
}
}, {
filename: "cbtnMainMenuLevels0000",
frame: {
x: 532,
y: 1985,
w: 147,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -1,
w: 155,
h: 31
},
sourceSize: {
w: 155,
h: 31
}
}, {
filename: "cbtnMainMenuLevels0001",
frame: {
x: 532,
y: 1951,
w: 155,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.1,
y: -1,
w: 155,
h: 31
},
sourceSize: {
w: 155,
h: 31
}
}, {
filename: "cbtnSubmit0000",
frame: {
x: 3763,
y: 2170,
w: 98,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.8,
w: 103,
h: 31
},
sourceSize: {
w: 103,
h: 31
}
}, {
filename: "cbtnSubmit0001",
frame: {
x: 3051,
y: 2121,
w: 103,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.7,
y: -.8,
w: 103,
h: 31
},
sourceSize: {
w: 103,
h: 31
}
}, {
filename: "cmcArrow0000",
frame: {
x: 1922,
y: 1689,
w: 70,
h: 73
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35,
y: -36.5,
w: 70,
h: 73
},
sourceSize: {
w: 70,
h: 73
}
}, {
filename: "cmcBarClock0000",
frame: {
x: 780,
y: 2508,
w: 33,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3.9,
y: -.9,
w: 33,
h: 30
},
sourceSize: {
w: 33,
h: 30
}
}, {
filename: "cmcBarMoney0000",
frame: {
x: 646,
y: 1345,
w: 35,
h: 25
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 35,
h: 25
},
sourceSize: {
w: 35,
h: 25
}
}, {
filename: "cmcCarta0000",
frame: {
x: 3,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "cmcClose0000",
frame: {
x: 3094,
y: 1909,
w: 70,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -35,
y: -35,
w: 70,
h: 70
},
sourceSize: {
w: 70,
h: 70
}
}, {
filename: "cmcCodeBG0000",
frame: {
x: 3218,
y: 410,
w: 300,
h: 380
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 300,
h: 380
},
sourceSize: {
w: 300,
h: 380
}
}, {
filename: "cmcCompDigs0000",
frame: {
x: 4075,
y: 835,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0001",
frame: {
x: 4075,
y: 856,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0002",
frame: {
x: 4075,
y: 877,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0003",
frame: {
x: 4075,
y: 898,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0004",
frame: {
x: 4075,
y: 919,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0005",
frame: {
x: 4075,
y: 940,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0006",
frame: {
x: 4075,
y: 961,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0007",
frame: {
x: 4075,
y: 982,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0008",
frame: {
x: 4075,
y: 1003,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0009",
frame: {
x: 4075,
y: 1024,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcCompDigs0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 18
},
sourceSize: {
w: 18,
h: 18
}
}, {
filename: "cmcDialog0000",
frame: {
x: 2188,
y: 763,
w: 263,
h: 253
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -131.6,
y: -126.8,
w: 263,
h: 253
},
sourceSize: {
w: 263,
h: 253
}
}, {
filename: "cmcDoYouReally0000",
frame: {
x: 3731,
y: 1403,
w: 232,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 232,
h: 115
},
sourceSize: {
w: 232,
h: 115
}
}, {
filename: "cmcDoorCodeDLG0000",
frame: {
x: 3827,
y: 735,
w: 245,
h: 281
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -3.9,
w: 245,
h: 281
},
sourceSize: {
w: 245,
h: 281
}
}, {
filename: "cmcDoorCodeDig0000",
frame: {
x: 1009,
y: 2090,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0001",
frame: {
x: 3562,
y: 2118,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0002",
frame: {
x: 497,
y: 2369,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0003",
frame: {
x: 3102,
y: 2389,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0004",
frame: {
x: 465,
y: 2417,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0005",
frame: {
x: 1305,
y: 2450,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0006",
frame: {
x: 274,
y: 2452,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0007",
frame: {
x: 1083,
y: 2513,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0008",
frame: {
x: 3920,
y: 2514,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0009",
frame: {
x: 3951,
y: 2514,
w: 28,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDoorCodeDig0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 28,
h: 31
},
sourceSize: {
w: 28,
h: 31
}
}, {
filename: "cmcDragGadgets0000",
frame: {
x: 2994,
y: 764,
w: 170,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -103,
y: 21.8,
w: 170,
h: 23
},
sourceSize: {
w: 170,
h: 23
}
}, {
filename: "cmcGrayAlphaRect0000",
frame: {
x: 368,
y: 1773,
w: 66,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 66,
h: 54
},
sourceSize: {
w: 66,
h: 54
}
}, {
filename: "cmcLevelNumber0000",
frame: {
x: 305,
y: 2446,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0001",
frame: {
x: 349,
y: 2446,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0002",
frame: {
x: 544,
y: 2446,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0003",
frame: {
x: 978,
y: 2447,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0004",
frame: {
x: 1173,
y: 2447,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0005",
frame: {
x: 1217,
y: 2447,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0006",
frame: {
x: 2176,
y: 2447,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0007",
frame: {
x: 1022,
y: 2448,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0008",
frame: {
x: 3950,
y: 2449,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0009",
frame: {
x: 187,
y: 2450,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelNumber0010",
frame: {
x: 1261,
y: 2450,
w: 41,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20.5,
y: -20.5,
w: 41,
h: 41
},
sourceSize: {
w: 41,
h: 41
}
}, {
filename: "cmcLevelStars0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelStars0001",
frame: {
x: 265,
y: 2036,
w: 80,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelStars0002",
frame: {
x: 1457,
y: 2036,
w: 80,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelStars0003",
frame: {
x: 348,
y: 2037,
w: 80,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelStars0004",
frame: {
x: 3387,
y: 2037,
w: 80,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelStars0005",
frame: {
x: 2066,
y: 2042,
w: 80,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelStars0006",
frame: {
x: 2149,
y: 2042,
w: 80,
h: 49
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 80,
h: 49
},
sourceSize: {
w: 80,
h: 49
}
}, {
filename: "cmcLevelWinBG0000",
frame: {
x: 646,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "cmcLossBG0000",
frame: {
x: 1289,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "cmcMenuDigit0000",
frame: {
x: 2726,
y: 2481,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0001",
frame: {
x: 4065,
y: 2171,
w: 25,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0002",
frame: {
x: 2e3,
y: 1636,
w: 32,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0003",
frame: {
x: 2611,
y: 1835,
w: 31,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0004",
frame: {
x: 1592,
y: 1649,
w: 32,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0005",
frame: {
x: 2205,
y: 1993,
w: 30,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0006",
frame: {
x: 2571,
y: 2270,
w: 32,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0007",
frame: {
x: 2406,
y: 2481,
w: 34,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0008",
frame: {
x: 2e3,
y: 1594,
w: 30,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0009",
frame: {
x: 508,
y: 2451,
w: 33,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMenuDigit0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "cmcMiniGameDLG0000",
frame: {
x: 3643,
y: 3,
w: 392,
h: 346
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 134,
y: 76,
w: 392,
h: 346
},
sourceSize: {
w: 392,
h: 346
}
}, {
filename: "cmcPauseBG0000",
frame: {
x: 1492,
y: 2109,
w: 64,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 64,
h: 52
},
sourceSize: {
w: 64,
h: 52
}
}, {
filename: "cmcPauseDLG0000",
frame: {
x: 3,
y: 526,
w: 346,
h: 260
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 346,
h: 260
},
sourceSize: {
w: 346,
h: 260
}
}, {
filename: "cmcPresenter0000",
frame: {
x: 2693,
y: 763,
w: 298,
h: 216
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -117.8,
y: -77.8,
w: 298,
h: 216
},
sourceSize: {
w: 298,
h: 216
}
}, {
filename: "cmcPresenterHead0000",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0001",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0002",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0003",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0004",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0005",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0006",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0007",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0008",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0009",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0010",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0011",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0012",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0013",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0014",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0015",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0016",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0017",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0018",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0019",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0020",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0021",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0022",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: 1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0023",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0024",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0025",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0026",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0027",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0028",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0029",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0030",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0031",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0032",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0033",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0034",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0035",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0036",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0037",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0038",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0039",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0040",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0041",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0042",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0043",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0044",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0045",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0046",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0047",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0048",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0049",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0050",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0051",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0052",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0053",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0054",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0055",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0056",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0057",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0058",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: .5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0059",
frame: {
x: 3129,
y: 1054,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0060",
frame: {
x: 3129,
y: 1054,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0061",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0062",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -1.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0063",
frame: {
x: 3129,
y: 1054,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0064",
frame: {
x: 3129,
y: 1054,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0065",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0066",
frame: {
x: 3106,
y: 526,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0067",
frame: {
x: 3129,
y: 1054,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0068",
frame: {
x: 3129,
y: 1054,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0069",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0070",
frame: {
x: 256,
y: 789,
w: 92,
h: 115
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0071",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0072",
frame: {
x: 3106,
y: 645,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0073",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcPresenterHead0074",
frame: {
x: 3521,
y: 510,
w: 92,
h: 116
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 7.2,
y: -.5,
w: 93,
h: 119
},
sourceSize: {
w: 93,
h: 119
}
}, {
filename: "cmcScoreChannel0000",
frame: {
x: 3866,
y: 1019,
w: 206,
h: 184
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 12,
y: 3,
w: 206,
h: 184
},
sourceSize: {
w: 206,
h: 184
}
}, {
filename: "cmcScoreDig0000",
frame: {
x: 4067,
y: 1674,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0001",
frame: {
x: 4067,
y: 1715,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0002",
frame: {
x: 443,
y: 1899,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0003",
frame: {
x: 560,
y: 1910,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0004",
frame: {
x: 2035,
y: 2050,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0005",
frame: {
x: 4063,
y: 2130,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0006",
frame: {
x: 3459,
y: 2171,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0007",
frame: {
x: 1940,
y: 2306,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0008",
frame: {
x: 2345,
y: 2371,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0009",
frame: {
x: 544,
y: 2405,
w: 26,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcScoreDig0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 26,
h: 38
},
sourceSize: {
w: 26,
h: 38
}
}, {
filename: "cmcSellerText0000",
frame: {
x: 139,
y: 1768,
w: 136,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23.6,
y: 96.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0001",
frame: {
x: 1521,
y: 1768,
w: 136,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 19.6,
y: 100.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0002",
frame: {
x: 3070,
y: 2024,
w: 136,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 18.6,
y: 120.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0003",
frame: {
x: 3259,
y: 1769,
w: 136,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23.6,
y: 102.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0004",
frame: {
x: 439,
y: 1770,
w: 136,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 15.6,
y: 101.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0005",
frame: {
x: 971,
y: 1657,
w: 136,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 14.6,
y: 71.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0006",
frame: {
x: 1110,
y: 1661,
w: 136,
h: 101
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 14.6,
y: 72.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0007",
frame: {
x: 1330,
y: 1526,
w: 136,
h: 127
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 13.6,
y: 73.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0008",
frame: {
x: 3869,
y: 1521,
w: 136,
h: 150
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 17.6,
y: 66.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0009",
frame: {
x: 1034,
y: 1503,
w: 136,
h: 151
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 16.6,
y: 63.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0010",
frame: {
x: 2066,
y: 1993,
w: 136,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23.6,
y: 120.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcSellerText0011",
frame: {
x: 1927,
y: 1770,
w: 136,
h: 57
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 23.6,
y: 106.5,
w: 146,
h: 153
},
sourceSize: {
w: 146,
h: 153
}
}, {
filename: "cmcShopBG0000",
frame: {
x: 1932,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "cmcShopInst0000",
frame: {
x: 1592,
y: 1697,
w: 134,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 134,
h: 68
},
sourceSize: {
w: 134,
h: 68
}
}, {
filename: "cmcShopInst0001",
frame: {
x: 2986,
y: 1702,
w: 134,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 134,
h: 68
},
sourceSize: {
w: 134,
h: 68
}
}, {
filename: "cmcShopInst0002",
frame: {
x: 2372,
y: 1716,
w: 134,
h: 68
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 134,
h: 68
},
sourceSize: {
w: 134,
h: 68
}
}, {
filename: "cmcShopItem10000",
frame: {
x: 65,
y: 2093,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem10001",
frame: {
x: 3167,
y: 1912,
w: 70,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem10002",
frame: {
x: 1861,
y: 2095,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem10003",
frame: {
x: 768,
y: 1853,
w: 84,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem20000",
frame: {
x: 3884,
y: 2095,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem20001",
frame: {
x: 3240,
y: 1912,
w: 70,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem20002",
frame: {
x: 3662,
y: 2096,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem20003",
frame: {
x: 1092,
y: 1855,
w: 84,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem30000",
frame: {
x: 1228,
y: 2097,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem30001",
frame: {
x: 942,
y: 1917,
w: 70,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem30002",
frame: {
x: 193,
y: 2098,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem30003",
frame: {
x: 2923,
y: 1863,
w: 84,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem40000",
frame: {
x: 1105,
y: 2098,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem40001",
frame: {
x: 3751,
y: 1917,
w: 70,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem40002",
frame: {
x: 2925,
y: 2098,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem40003",
frame: {
x: 473,
y: 1865,
w: 84,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem50000",
frame: {
x: 2988,
y: 2098,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem50001",
frame: {
x: 3999,
y: 1922,
w: 70,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem50002",
frame: {
x: 2171,
y: 2102,
w: 60,
h: 60
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcShopItem50003",
frame: {
x: 855,
y: 1865,
w: 84,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -3,
w: 84,
h: 74
},
sourceSize: {
w: 84,
h: 74
}
}, {
filename: "cmcTimerDigs0000",
frame: {
x: 4075,
y: 1045,
w: 18,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0001",
frame: {
x: 2438,
y: 1019,
w: 13,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0002",
frame: {
x: 2884,
y: 1535,
w: 17,
h: 19
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0003",
frame: {
x: 2967,
y: 1745,
w: 16,
h: 19
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0004",
frame: {
x: 2372,
y: 1695,
w: 16,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0005",
frame: {
x: 3378,
y: 1830,
w: 16,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0006",
frame: {
x: 1179,
y: 1855,
w: 16,
h: 18
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0007",
frame: {
x: 4075,
y: 791,
w: 18,
h: 19
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0008",
frame: {
x: 155,
y: 1554,
w: 16,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0009",
frame: {
x: 2887,
y: 1433,
w: 17,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDigs0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 18,
h: 20
},
sourceSize: {
w: 18,
h: 20
}
}, {
filename: "cmcTimerDots0000",
frame: {
x: 4083,
y: 53,
w: 6,
h: 12
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 6,
h: 12
},
sourceSize: {
w: 6,
h: 12
}
}, {
filename: "cmcWinGameBG0000",
frame: {
x: 2575,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "compDLG0000",
frame: {
x: 3218,
y: 3,
w: 422,
h: 404
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 422,
h: 404
},
sourceSize: {
w: 422,
h: 404
}
}, {
filename: "ctxtMenuScore0000",
frame: {
x: 1297,
y: 2034,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0001",
frame: {
x: 613,
y: 2265,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0002",
frame: {
x: 1872,
y: 2307,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0003",
frame: {
x: 2840,
y: 2444,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0004",
frame: {
x: 2568,
y: 2445,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0005",
frame: {
x: 906,
y: 2452,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0006",
frame: {
x: 2658,
y: 2500,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0007",
frame: {
x: 3328,
y: 2503,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0008",
frame: {
x: 410,
y: 2507,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0009",
frame: {
x: 3077,
y: 2515,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtMenuScore0010",
frame: {
x: 3663,
y: 2515,
w: 23,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -3,
w: 23,
h: 28
},
sourceSize: {
w: 23,
h: 28
}
}, {
filename: "ctxtPismo0000",
frame: {
x: 4065,
y: 1403,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0001",
frame: {
x: 1848,
y: 1408,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0002",
frame: {
x: 4065,
y: 1448,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0003",
frame: {
x: 1848,
y: 1453,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0004",
frame: {
x: 1848,
y: 1498,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0005",
frame: {
x: 3576,
y: 1676,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0006",
frame: {
x: 560,
y: 1865,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0007",
frame: {
x: 4069,
y: 1995,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0008",
frame: {
x: 527,
y: 2113,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0009",
frame: {
x: 1633,
y: 2119,
w: 24,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "ctxtPismo0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 24,
h: 42
},
sourceSize: {
w: 24,
h: 42
}
}, {
filename: "dedMayak0000",
frame: {
x: 3966,
y: 352,
w: 105,
h: 118
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -45.3,
y: -62.6,
w: 105,
h: 118
},
sourceSize: {
w: 105,
h: 118
}
}, {
filename: "digits0000",
frame: {
x: 3278,
y: 2024,
w: 39,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0001",
frame: {
x: 3201,
y: 614,
w: 8,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 31,
y: 3,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0002",
frame: {
x: 2235,
y: 2285,
w: 39,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0003",
frame: {
x: 2684,
y: 2352,
w: 35,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0004",
frame: {
x: 56,
y: 2397,
w: 39,
h: 51
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 3,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0005",
frame: {
x: 4049,
y: 2294,
w: 39,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0006",
frame: {
x: 110,
y: 2305,
w: 39,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0007",
frame: {
x: 1996,
y: 2398,
w: 35,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0008",
frame: {
x: 1898,
y: 2306,
w: 39,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0009",
frame: {
x: 2396,
y: 2306,
w: 39,
h: 58
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "digits0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 39,
h: 58
},
sourceSize: {
w: 39,
h: 58
}
}, {
filename: "duga0000",
frame: {
x: 2474,
y: 1042,
w: 211,
h: 172
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 211,
h: 172
},
sourceSize: {
w: 211,
h: 172
}
}, {
filename: "duga0001",
frame: {
x: 1292,
y: 1190,
w: 207,
h: 168
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 211,
h: 172
},
sourceSize: {
w: 211,
h: 172
}
}, {
filename: "exit_yadro0000",
frame: {
x: 2088,
y: 1e3,
w: 16,
h: 16
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -8,
y: -8,
w: 16,
h: 16
},
sourceSize: {
w: 16,
h: 16
}
}, {
filename: "guiBubble0000",
frame: {
x: 3400,
y: 1035,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0001",
frame: {
x: 971,
y: 1532,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0002",
frame: {
x: 486,
y: 1544,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0003",
frame: {
x: 4028,
y: 1805,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0004",
frame: {
x: 206,
y: 1829,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0005",
frame: {
x: 3319,
y: 1830,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0006",
frame: {
x: 1033,
y: 1833,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0007",
frame: {
x: 591,
y: 1834,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0008",
frame: {
x: 650,
y: 1834,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiBubble0009",
frame: {
x: 709,
y: 1834,
w: 56,
h: 114
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 56,
h: 114
},
sourceSize: {
w: 56,
h: 114
}
}, {
filename: "guiCross0000",
frame: {
x: 89,
y: 2465,
w: 40,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -20,
y: -20,
w: 40,
h: 40
},
sourceSize: {
w: 40,
h: 40
}
}, {
filename: "heroZ0000",
frame: {
x: 3065,
y: 1386,
w: 36,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -18,
y: -18,
w: 36,
h: 36
},
sourceSize: {
w: 36,
h: 36
}
}, {
filename: "holeLine0000",
frame: {
x: 2469,
y: 1371,
w: 208,
h: 4
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -104,
y: -2,
w: 208,
h: 4
},
sourceSize: {
w: 208,
h: 4
}
}, {
filename: "info0000",
frame: {
x: 349,
y: 1340,
w: 116,
h: 67
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 116,
h: 67
},
sourceSize: {
w: 116,
h: 67
}
}, {
filename: "infoItemButton0000",
frame: {
x: 3126,
y: 2512,
w: 30,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -15,
w: 30,
h: 30
},
sourceSize: {
w: 30,
h: 30
}
}, {
filename: "infoItemButton0001",
frame: {
x: 3159,
y: 2512,
w: 30,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -15,
w: 30,
h: 30
},
sourceSize: {
w: 30,
h: 30
}
}, {
filename: "infoItemButton0002",
frame: {
x: 1050,
y: 2513,
w: 30,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -15,
w: 30,
h: 30
},
sourceSize: {
w: 30,
h: 30
}
}, {
filename: "infoItemButton0003",
frame: {
x: 3988,
y: 2513,
w: 30,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -15,
w: 30,
h: 30
},
sourceSize: {
w: 30,
h: 30
}
}, {
filename: "infoItemButton0004",
frame: {
x: 4021,
y: 2513,
w: 30,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -15,
w: 30,
h: 30
},
sourceSize: {
w: 30,
h: 30
}
}, {
filename: "infoItemButton0005",
frame: {
x: 4054,
y: 2513,
w: 30,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -15,
w: 30,
h: 30
},
sourceSize: {
w: 30,
h: 30
}
}, {
filename: "levelStars0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: -.2,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "levelStars0001",
frame: {
x: 3104,
y: 1233,
w: 20,
h: 19
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 20.2,
y: 9.8,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "levelStars0002",
frame: {
x: 2840,
y: 2481,
w: 36,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 4.2,
y: 9.8,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "levelStars0003",
frame: {
x: 3201,
y: 2340,
w: 58,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17.8,
y: 9.8,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "levelStars0004",
frame: {
x: 2925,
y: 2161,
w: 78,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -37.8,
y: 9.8,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "levelStars0005",
frame: {
x: 1501,
y: 1981,
w: 85,
h: 52
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -44.8,
y: -4.2,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "levelStars0006",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: -.2,
w: 85,
h: 52
},
sourceSize: {
w: 85,
h: 52
}
}, {
filename: "lights0000",
frame: {
x: 1330,
y: 1656,
w: 160,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -80,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0001",
frame: {
x: 155,
y: 1678,
w: 143,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -71,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0002",
frame: {
x: 3966,
y: 573,
w: 127,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -63,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0003",
frame: {
x: 3521,
y: 629,
w: 113,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -56,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0004",
frame: {
x: 1099,
y: 1765,
w: 99,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -49,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0005",
frame: {
x: 769,
y: 1763,
w: 89,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0006",
frame: {
x: 278,
y: 1773,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0007",
frame: {
x: 2967,
y: 1773,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0008",
frame: {
x: 861,
y: 1775,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0009",
frame: {
x: 2066,
y: 1779,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0010",
frame: {
x: 2156,
y: 1779,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0011",
frame: {
x: 3398,
y: 1779,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0012",
frame: {
x: 2246,
y: 1785,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0013",
frame: {
x: 2336,
y: 1787,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0014",
frame: {
x: 2336,
y: 1787,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0015",
frame: {
x: 2336,
y: 1787,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0016",
frame: {
x: 2336,
y: 1787,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0017",
frame: {
x: 3848,
y: 1805,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0018",
frame: {
x: 3938,
y: 1805,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0019",
frame: {
x: 1660,
y: 1811,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0020",
frame: {
x: 1750,
y: 1811,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0021",
frame: {
x: 2645,
y: 1816,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0022",
frame: {
x: 2735,
y: 1816,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0023",
frame: {
x: 1201,
y: 1817,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0024",
frame: {
x: 1291,
y: 1817,
w: 87,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -41,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0025",
frame: {
x: 256,
y: 907,
w: 93,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -46,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0026",
frame: {
x: 2264,
y: 1695,
w: 105,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -52,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0027",
frame: {
x: 349,
y: 1250,
w: 121,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -60,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0028",
frame: {
x: 301,
y: 1683,
w: 135,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -67,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lights0029",
frame: {
x: 3764,
y: 1674,
w: 153,
h: 87
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -76,
y: -36.9,
w: 160,
h: 87
},
sourceSize: {
w: 160,
h: 87
}
}, {
filename: "lockCode0000",
frame: {
x: 1252,
y: 2216,
w: 26,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -12.2,
y: -12.2,
w: 26,
h: 26
},
sourceSize: {
w: 26,
h: 26
}
}, {
filename: "lock_click0000",
frame: {
x: 3174,
y: 1583,
w: 214,
h: 77
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 215,
h: 77
},
sourceSize: {
w: 215,
h: 77
}
}, {
filename: "lock_click0001",
frame: {
x: 1785,
y: 1689,
w: 134,
h: 74
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 81,
y: 2,
w: 215,
h: 77
},
sourceSize: {
w: 215,
h: 77
}
}, {
filename: "lock_click0002",
frame: {
x: 2556,
y: 1617,
w: 210,
h: 73
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 215,
h: 77
},
sourceSize: {
w: 215,
h: 77
}
}, {
filename: "lock_click0003",
frame: {
x: 2834,
y: 1745,
w: 130,
h: 70
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 81,
y: 2,
w: 215,
h: 77
},
sourceSize: {
w: 215,
h: 77
}
}, {
filename: "miniBarriers0000",
frame: {
x: 4038,
y: 329,
w: 20,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -10,
w: 20,
h: 20
},
sourceSize: {
w: 20,
h: 20
}
}, {
filename: "miniHero0000",
frame: {
x: 2107,
y: 1e3,
w: 20,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -5,
w: 20,
h: 10
},
sourceSize: {
w: 20,
h: 10
}
}, {
filename: "miniHero0001",
frame: {
x: 2130,
y: 1e3,
w: 20,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -5,
w: 20,
h: 10
},
sourceSize: {
w: 20,
h: 10
}
}, {
filename: "miniHero0002",
frame: {
x: 2153,
y: 1e3,
w: 20,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -5,
w: 20,
h: 10
},
sourceSize: {
w: 20,
h: 10
}
}, {
filename: "miniHero0003",
frame: {
x: 3400,
y: 1235,
w: 20,
h: 10
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -5,
w: 20,
h: 10
},
sourceSize: {
w: 20,
h: 10
}
}, {
filename: "miniHeroRed0000",
frame: {
x: 3423,
y: 1235,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniHeroRed0001",
frame: {
x: 3446,
y: 1235,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniHeroRed0002",
frame: {
x: 2261,
y: 1267,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniHeroRed0003",
frame: {
x: 2284,
y: 1267,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniHeroZmey0000",
frame: {
x: 1475,
y: 1361,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniHeroZmey0001",
frame: {
x: 4065,
y: 1493,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniHeroZmey0002",
frame: {
x: 3966,
y: 1508,
w: 20,
h: 9
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -10,
y: -4.9,
w: 20,
h: 9
},
sourceSize: {
w: 20,
h: 9
}
}, {
filename: "miniTaget0000",
frame: {
x: 4075,
y: 765,
w: 18,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -9,
y: -11.7,
w: 22,
h: 26
},
sourceSize: {
w: 22,
h: 26
}
}, {
filename: "miniTaget0001",
frame: {
x: 3497,
y: 933,
w: 20,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -7,
y: -14.7,
w: 22,
h: 26
},
sourceSize: {
w: 22,
h: 26
}
}, {
filename: "pismoContent0000",
frame: {
x: 1729,
y: 1766,
w: 195,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 207,
y: 171.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0001",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: .3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0002",
frame: {
x: 2994,
y: 793,
w: 229,
h: 258
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 196,
y: 146.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0003",
frame: {
x: 3475,
y: 972,
w: 214,
h: 274
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 201,
y: 148.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0004",
frame: {
x: 691,
y: 1220,
w: 213,
h: 150
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 205,
y: 160.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0005",
frame: {
x: 2088,
y: 1019,
w: 221,
h: 179
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 205,
y: 149.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0006",
frame: {
x: 473,
y: 1e3,
w: 215,
h: 223
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 203,
y: 152.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0007",
frame: {
x: 256,
y: 1e3,
w: 214,
h: 247
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 205,
y: 154.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0008",
frame: {
x: 691,
y: 1e3,
w: 218,
h: 217
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 213,
y: 159.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0009",
frame: {
x: 1085,
y: 1368,
w: 213,
h: 132
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 204,
y: 161.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0010",
frame: {
x: 2474,
y: 1217,
w: 213,
h: 151
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 204,
y: 154.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "pismoContent0011",
frame: {
x: 1475,
y: 1380,
w: 213,
h: 126
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 203,
y: 161.3,
w: 235,
h: 276
},
sourceSize: {
w: 235,
h: 276
}
}, {
filename: "ruka0000",
frame: {
x: 3459,
y: 1035,
w: 12,
h: 23
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 12,
h: 23
},
sourceSize: {
w: 12,
h: 23
}
}, {
filename: "seller0000",
frame: {
x: 864,
y: 1671,
w: 96,
h: 101
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0001",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0002",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0003",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0004",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0005",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0006",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0007",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0008",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0009",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0010",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0011",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0012",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0013",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0014",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0015",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0016",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0017",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0018",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0019",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0020",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0021",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0022",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0023",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0024",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0025",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0026",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0027",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0028",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0029",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0030",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0031",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0032",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0033",
frame: {
x: 3966,
y: 1403,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0034",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0035",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0036",
frame: {
x: 3277,
y: 1257,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0037",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0038",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0039",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0040",
frame: {
x: 3477,
y: 1676,
w: 96,
h: 100
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0041",
frame: {
x: 3477,
y: 1676,
w: 96,
h: 100
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0042",
frame: {
x: 3477,
y: 1676,
w: 96,
h: 100
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0043",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0044",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0045",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0046",
frame: {
x: 708,
y: 1538,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "seller0047",
frame: {
x: 1493,
y: 1649,
w: 96,
h: 102
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.5,
w: 96,
h: 103
},
sourceSize: {
w: 96,
h: 103
}
}, {
filename: "sparks0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: 0,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0001",
frame: {
x: 2639,
y: 2459,
w: 43,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: 0,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0002",
frame: {
x: 2639,
y: 2459,
w: 43,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: 0,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0003",
frame: {
x: 1231,
y: 2301,
w: 51,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.8,
y: -1,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0004",
frame: {
x: 1231,
y: 2301,
w: 51,
h: 45
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -6.8,
y: -1,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0005",
frame: {
x: 2694,
y: 2049,
w: 30,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 11.2,
y: 4,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0006",
frame: {
x: 2694,
y: 2049,
w: 30,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 11.2,
y: 4,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "sparks0007",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.8,
y: 0,
w: 51,
h: 45
},
sourceSize: {
w: 51,
h: 45
}
}, {
filename: "tipsBalloon0000",
frame: {
x: 2312,
y: 1042,
w: 159,
h: 235
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 159,
h: 235
},
sourceSize: {
w: 159,
h: 235
}
}, {
filename: "topBarBg0000",
frame: {
x: 2261,
y: 1386,
w: 644,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 644,
h: 44
},
sourceSize: {
w: 644,
h: 44
}
}, {
filename: "tvStar0000",
frame: {
x: 439,
y: 1741,
w: 28,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.5,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0001",
frame: {
x: 129,
y: 1981,
w: 28,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.5,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0002",
frame: {
x: 504,
y: 2514,
w: 30,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1.7,
y: -1.5,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0003",
frame: {
x: 2095,
y: 2368,
w: 32,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.7,
y: -2.6,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0004",
frame: {
x: 71,
y: 2508,
w: 32,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.7,
y: -2.6,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0005",
frame: {
x: 537,
y: 2514,
w: 30,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1.7,
y: -1.5,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0006",
frame: {
x: 2727,
y: 1988,
w: 28,
h: 27
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.5,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tvStar0007",
frame: {
x: 758,
y: 2082,
w: 28,
h: 26
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.5,
w: 32,
h: 31
},
sourceSize: {
w: 32,
h: 31
}
}, {
filename: "tv_stripes0000",
frame: {
x: 352,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0001",
frame: {
x: 658,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0002",
frame: {
x: 964,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0003",
frame: {
x: 1270,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0004",
frame: {
x: 1576,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0005",
frame: {
x: 1882,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0006",
frame: {
x: 2188,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0007",
frame: {
x: 2494,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0008",
frame: {
x: 2800,
y: 526,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0009",
frame: {
x: 3521,
y: 735,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0010",
frame: {
x: 352,
y: 763,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0011",
frame: {
x: 658,
y: 763,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0012",
frame: {
x: 964,
y: 763,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0013",
frame: {
x: 1270,
y: 763,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0014",
frame: {
x: 1576,
y: 763,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "tv_stripes0015",
frame: {
x: 1882,
y: 763,
w: 303,
h: 234
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 303,
h: 234
},
sourceSize: {
w: 303,
h: 234
}
}, {
filename: "txtMoney0000",
frame: {
x: 1502,
y: 1190,
w: 160,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.2,
w: 160,
h: 34
},
sourceSize: {
w: 160,
h: 34
}
}, {
filename: "txtPause0000",
frame: {
x: 3692,
y: 972,
w: 121,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 121,
h: 41
},
sourceSize: {
w: 121,
h: 41
}
}, {
filename: "txtScore0000",
frame: {
x: 3010,
y: 1872,
w: 160,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.2,
w: 160,
h: 34
},
sourceSize: {
w: 160,
h: 34
}
}, {
filename: "wireBlue0000",
frame: {
x: 3,
y: 2440,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 40,
h: 44
},
sourceSize: {
w: 40,
h: 44
}
}, {
filename: "wireBlue0001",
frame: {
x: 2797,
y: 2444,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 40,
h: 44
},
sourceSize: {
w: 40,
h: 44
}
}, {
filename: "wireGreen0000",
frame: {
x: 3201,
y: 2444,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 40,
h: 44
},
sourceSize: {
w: 40,
h: 44
}
}, {
filename: "wireGreen0001",
frame: {
x: 1337,
y: 2445,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 40,
h: 44
},
sourceSize: {
w: 40,
h: 44
}
}, {
filename: "wireOrange0000",
frame: {
x: 1380,
y: 2445,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 40,
h: 44
},
sourceSize: {
w: 40,
h: 44
}
}, {
filename: "wireOrange0001",
frame: {
x: 2525,
y: 2445,
w: 40,
h: 44
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 40,
h: 44
},
sourceSize: {
w: 40,
h: 44
}
}, {
filename: "wiresInPanel0000",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 107374182,
y: 107374182,
w: 0,
h: 0
},
sourceSize: {
w: 0,
h: 0
}
}, {
filename: "zxcInformationPanel0000",
frame: {
x: 1173,
y: 1503,
w: 99,
h: 17
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2,
y: -2,
w: 99,
h: 17
},
sourceSize: {
w: 99,
h: 17
}
}],
meta: {
app: "Adobe Flash Professional",
version: "13.1.0.226",
image: "Objects.png",
format: "RGBA8888",
size: {
w: 4096,
h: 4096
},
scale: "1"
}
},
e
}()
, ObjectsLayouts = function() {
function e() {}
return e.data = [{
name: "CameraOverlay",
children: [{
mc: "VideoCameraView",
name: "cameraUnder",
x: 0,
y: 20,
scaleX: .100006103515625
}, {
mc: "VideoCameraView",
name: "viewLeft",
x: -290,
y: 23,
scaleX: 5.5
}, {
mc: "VideoCameraView",
name: "viewRight",
x: 290,
y: 23,
scaleX: 5.5
}, {
mc: "EnemySigns",
name: "sign",
x: 1,
y: -29
}, {
mc: "VideoCameraLight",
name: "lightLeft",
x: -7,
y: 5,
scaleX: -1
}, {
mc: "VideoCameraLight",
name: "lightRight",
x: 7,
y: 5
}]
}, {
name: "cmcClear",
children: [{
mc: "cmcGrayAlphaRect",
name: "bg",
x: -1,
y: -1,
scaleX: 10,
scaleY: 10
}, {
mc: "cmcDialog",
name: "dialog",
x: 320,
y: 287
}, {
mc: "but_backToGame",
name: "back",
x: 222,
y: 345
}, {
mc: "but_clearProgress",
name: "clearProgress",
x: 208,
y: 294
}, {
mc: "cmcDoYouReally",
name: "",
x: 202,
y: 179
}]
}, {
name: "cmcLevels",
children: [{
mc: "cmcCarta",
name: "",
x: 0,
y: 0
}, {
mc: "ButtonShop",
name: "gotoShop",
x: 25,
y: 21
}, {
mc: "Lev11",
name: "lev11",
x: 457,
y: 23
}, {
mc: "Lev8",
name: "lev8",
x: 243,
y: 43
}, {
mc: "Lev9",
name: "lev9",
x: 143,
y: 105
}, {
mc: "Lev7",
name: "lev7",
x: 337,
y: 105
}, {
mc: "Lev2",
name: "lev2",
x: 42,
y: 169
}, {
mc: "cmcLevelNumber",
name: "l2",
x: 123,
y: 220
}, {
mc: "Lev10",
name: "lev10",
x: 243,
y: 166
}, {
mc: "Lev3",
name: "lev3",
x: 142,
y: 230
}, {
mc: "Lev6",
name: "lev6",
x: 436,
y: 170
}, {
mc: "Lev5",
name: "lev5",
x: 338,
y: 232
}, {
mc: "Lev4",
name: "lev4",
x: 242,
y: 295
}, {
mc: "Lev1",
name: "lev1",
x: 25,
y: 338
}, {
mc: "ButtonSponsorLevelMap",
name: "sponsor",
x: 457,
y: 308
}, {
mc: "cmcLevelNumber",
name: "l1",
x: 96,
y: 363
}, {
mc: "cmcLevelNumber",
name: "l3",
x: 224,
y: 281
}, {
mc: "cmcLevelNumber",
name: "l4",
x: 324,
y: 345
}, {
mc: "cmcLevelNumber",
name: "l5",
x: 420,
y: 252
}, {
mc: "cmcLevelNumber",
name: "l6",
x: 518,
y: 220
}, {
mc: "cmcLevelNumber",
name: "l7",
x: 418,
y: 145
}, {
mc: "cmcLevelNumber",
name: "l8",
x: 305,
y: 94
}, {
mc: "cmcLevelNumber",
name: "l9",
x: 224,
y: 145
}, {
mc: "cmcLevelNumber",
name: "l10",
x: 312,
y: 213
}, {
mc: "cmcLevelNumber",
name: "l11",
x: 539,
y: 74
}, {
mc: "txtMoney",
name: "",
x: 123,
y: 10
}, {
mc: "cbtnSubmit",
name: "submit",
x: 505,
y: 12
}, {
mc: "txtScore",
name: "Score",
x: 320,
y: 10
}, {
mc: "ctxtMenuScore",
name: "s1",
x: 388,
y: 16
}, {
mc: "ctxtMenuScore",
name: "s2",
x: 404,
y: 16
}, {
mc: "ctxtMenuScore",
name: "s3",
x: 420,
y: 16
}, {
mc: "ctxtMenuScore",
name: "s4",
x: 436,
y: 16
}, {
mc: "ctxtMenuScore",
name: "s5",
x: 452,
y: 16
}, {
mc: "ctxtMenuScore",
name: "m1",
x: 195,
y: 16
}, {
mc: "ctxtMenuScore",
name: "m2",
x: 211,
y: 16
}, {
mc: "ctxtMenuScore",
name: "m3",
x: 227,
y: 16
}, {
mc: "ctxtMenuScore",
name: "m4",
x: 243,
y: 16
}, {
mc: "ctxtMenuScore",
name: "m5",
x: 259,
y: 16
}, {
mc: "BonusLevelTip",
name: "bonusLevelTip",
x: 449,
y: 113
}, {
mc: "cbtnMainMenuLevels",
name: "back",
x: 28,
y: 474
}, {
mc: "ButtonClearProgress",
name: "clearProgress",
x: 431,
y: 475,
scaleX: .9217987060546875,
scaleY: .922119140625
}, {
mc: "ButtonWalkthrough",
name: "walkthrough",
x: 210,
y: 473
}]
}, {
name: "cmcShop",
children: [{
mc: "cmcShopBG",
name: "bg",
x: 0,
y: 0
}, {
mc: "but_back",
name: "back",
x: 36,
y: 430
}, {
mc: "seller",
name: "sellerHead",
x: 41,
y: 34
}, {
mc: "tipsBalloon",
name: "sellerBubble",
x: 21,
y: 132
}, {
mc: "cmcSellerText",
name: "sellerText",
x: 21,
y: 132
}, {
mc: "ButtonZXC",
name: "zbutton",
x: 425,
y: 368
}, {
mc: "ButtonZXC",
name: "xbutton",
x: 500,
y: 368
}, {
mc: "ButtonZXC",
name: "cbutton",
x: 575,
y: 368
}, {
mc: "cmcDragGadgets",
name: "zxc",
x: 499,
y: 356
}, {
mc: "txtMoney",
name: "",
x: 425,
y: 430
}, {
mc: "ctxtMenuScore",
name: "m1",
x: 496,
y: 436
}, {
mc: "ctxtMenuScore",
name: "m2",
x: 512,
y: 436
}, {
mc: "ctxtMenuScore",
name: "m3",
x: 528,
y: 436
}, {
mc: "ctxtMenuScore",
name: "m4",
x: 544,
y: 436
}, {
mc: "ctxtMenuScore",
name: "m5",
x: 560,
y: 436
}, {
mc: "cmcShopItem1",
name: "shopItem1",
x: 230,
y: 148
}, {
mc: "cmcShopItem2",
name: "shopItem2",
x: 305,
y: 148
}, {
mc: "cmcShopItem3",
name: "shopItem3",
x: 380,
y: 148
}, {
mc: "cmcShopItem4",
name: "shopItem4",
x: 455,
y: 148
}, {
mc: "cmcShopItem5",
name: "shopItem5",
x: 530,
y: 148
}, {
mc: "ctxtMenuScore",
name: "s11",
x: 234,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s12",
x: 250,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s13",
x: 266,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s21",
x: 309,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s22",
x: 325,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s23",
x: 341,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s31",
x: 384,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s32",
x: 400,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s33",
x: 416,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s41",
x: 459,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s42",
x: 475,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s43",
x: 491,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s51",
x: 534,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s52",
x: 550,
y: 210
}, {
mc: "ctxtMenuScore",
name: "s53",
x: 566,
y: 210
}, {
mc: "cmcShopInst",
name: "instText",
x: 345,
y: 29
}, {
mc: "arr_go",
name: "instArrow",
x: 392,
y: 102
}]
}, {
name: "CodeWindow",
children: [{
mc: "cmcCodeBG",
name: "",
x: 179,
y: 60
}, {
mc: "CodeWinBut",
name: "k1",
x: 261,
y: 215,
scaleX: .9999542236328125,
scaleY: .9999542236328125
}, {
mc: "CodeWinBut",
name: "k2",
x: 310,
y: 215
}, {
mc: "CodeWinBut",
name: "k3",
x: 358,
y: 215
}, {
mc: "CodeWinBut",
name: "k4",
x: 261,
y: 257
}, {
mc: "CodeWinBut",
name: "k5",
x: 310,
y: 257
}, {
mc: "CodeWinBut",
name: "k6",
x: 358,
y: 257
}, {
mc: "CodeWinBut",
name: "k7",
x: 261,
y: 299
}, {
mc: "CodeWinBut",
name: "k8",
x: 310,
y: 299
}, {
mc: "CodeWinBut",
name: "k9",
x: 358,
y: 299
}, {
mc: "CodeWinBut",
name: "k0",
x: 310,
y: 341
}, {
mc: "digits",
name: "ti",
x: 245,
y: 117,
scaleX: .94921875,
scaleY: .94921875
}, {
mc: "digits",
name: "so",
x: 288,
y: 117,
scaleX: .94921875,
scaleY: .94921875
}, {
mc: "digits",
name: "de",
x: 331,
y: 117,
scaleX: .94921875,
scaleY: .94921875
}, {
mc: "digits",
name: "ed",
x: 374,
y: 117,
scaleX: .94921875,
scaleY: .94921875
}, {
mc: "cmcClose",
name: "close",
x: 460,
y: 81
}]
}, {
name: "ComputerScreen",
children: [{
mc: "compDLG",
name: "bg",
x: 104,
y: 54
}, {
mc: "CompMenu",
name: "menuList",
x: 161,
y: 147
}, {
mc: "CompInfo",
name: "menuScreen",
x: 318,
y: 117
}, {
mc: "cmcCompDigs",
name: "doorcode",
x: 351,
y: 191
}, {
mc: "cmcClose",
name: "close",
x: 580,
y: 99
}, {
mc: "cmcArrow",
name: "up",
x: 580,
y: 362,
degrees: 90
}, {
mc: "cmcArrow",
name: "down",
x: 580,
y: 448,
degrees: -90
}, {
mc: "cmcCompDigs",
name: "doorcode2",
x: 351,
y: 191
}]
}, {
name: "FailScreen",
children: [{
mc: "cmcLossBG",
name: "bg",
x: 0,
y: 0
}, {
mc: "but_replay",
name: "replay",
x: 30,
y: 450
}, {
mc: "ButtonLevelsMap",
name: "levelmenu",
x: 460,
y: 450
}]
}, {
name: "IndicatorPanic",
children: [{
mc: "lights",
name: "PanicaLight",
x: -1,
y: -1
}, {
mc: "cmcTimerDots",
name: "PanicaDots",
x: -14,
y: 46
}, {
mc: "cmcTimerDigs",
name: "so",
x: -36,
y: 42
}, {
mc: "cmcTimerDigs",
name: "de",
x: -5,
y: 42
}, {
mc: "cmcTimerDigs",
name: "ed",
x: 12,
y: 42
}]
}, {
name: "InformationPanel",
children: [{
mc: "InformationPanelBG",
name: "",
x: 0,
y: 0
}, {
mc: "SoundButtonPlay",
name: "notsound",
x: 565,
y: 7
}, {
mc: "PauseButton",
name: "pause",
x: 535,
y: 7
}, {
mc: "MusicButtonPlay",
name: "notmusic",
x: 605,
y: 7
}, {
mc: "RestartButton",
name: "restart",
x: 503,
y: 7
}, {
mc: "IndicatorAlert",
name: "alerts",
x: 286,
y: 20
}, {
mc: "infoItemButton",
name: "zbutton",
x: 395,
y: 20
}, {
mc: "infoItemButton",
name: "xbutton",
x: 435,
y: 20
}, {
mc: "infoItemButton",
name: "cbutton",
x: 475,
y: 20
}, {
mc: "zxcInformationPanel",
name: "zxc",
x: 378,
y: 26
}, {
mc: "ctxtMenuScore",
name: "m1",
x: 151,
y: 8
}, {
mc: "ctxtMenuScore",
name: "m2",
x: 167,
y: 8
}, {
mc: "ctxtMenuScore",
name: "m3",
x: 183,
y: 8
}, {
mc: "ctxtMenuScore",
name: "m4",
x: 199,
y: 8
}, {
mc: "ctxtMenuScore",
name: "t1",
x: 44,
y: 8
}, {
mc: "ctxtMenuScore",
name: "t2",
x: 60,
y: 8
}, {
mc: "ctxtMenuScore",
name: "t3",
x: 76,
y: 8
}]
}, {
name: "kolMoney",
children: [{
mc: "cmcTimerDigs",
name: "d2",
x: -9,
y: -9
}, {
mc: "cmcTimerDigs",
name: "d3",
x: 10,
y: -9
}, {
mc: "cmcTimerDigs",
name: "d1",
x: -28,
y: -9
}]
}, {
name: "MessageFullScreen",
children: [{
mc: "MessageFullScreenBG",
name: "bg",
x: 0,
y: 0
}, {
mc: "MessageFullScreenText",
name: "text",
x: 0,
y: 0
}, {
mc: "ctxtPismo",
name: "dc1",
x: 266,
y: 350
}, {
mc: "ctxtPismo",
name: "dc2",
x: 286,
y: 350
}, {
mc: "ctxtPismo",
name: "dc3",
x: 306,
y: 350
}, {
mc: "ctxtPismo",
name: "dc4",
x: 326,
y: 350
}]
}, {
name: "miniGame",
children: [{
mc: "cmcMiniGameDLG",
name: "screen",
x: 0,
y: 0
}, {
mc: "cmcArrow",
name: "up",
x: 320,
y: 38,
degrees: 90
}, {
mc: "cmcArrow",
name: "down",
x: 320,
y: 484,
degrees: -90
}, {
mc: "cmcArrow",
name: "left",
x: 55,
y: 260
}, {
mc: "cmcArrow",
name: "right",
x: 585,
y: 260,
degrees: 180
}, {
mc: "miniHero",
name: "key",
x: 205,
y: 142
}, {
mc: "miniHeroRed",
name: "testKey",
x: 205,
y: 142
}, {
mc: "cmcClose",
name: "close",
x: 585,
y: 116
}]
}, {
name: "miniGame1",
children: [{
mc: "miniBarriers",
name: "",
x: 380,
y: 292
}, {
mc: "miniTaget",
name: "target",
x: 330,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 455,
y: 142
}, {
mc: "miniBarriers",
name: "",
x: 430,
y: 317
}, {
mc: "miniBarriers",
name: "",
x: 405,
y: 167
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 355,
y: 267
}]
}, {
name: "miniGame2",
children: [{
mc: "miniBarriers",
name: "",
x: 430,
y: 192
}, {
mc: "miniTaget",
name: "target",
x: 355,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 355,
y: 167
}, {
mc: "miniBarriers",
name: "",
x: 380,
y: 267
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 142
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 330,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 405,
y: 317
}]
}, {
name: "miniGame3",
children: [{
mc: "miniBarriers",
name: "",
x: 455,
y: 167
}, {
mc: "miniTaget",
name: "target",
x: 430,
y: 317
}, {
mc: "miniBarriers",
name: "",
x: 355,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 380,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 142
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 280,
y: 267
}, {
mc: "miniBarriers",
name: "",
x: 330,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 317
}, {
mc: "miniBarriers",
name: "",
x: 405,
y: 317
}]
}, {
name: "miniGame4",
children: [{
mc: "miniBarriers",
name: "",
x: 255,
y: 192
}, {
mc: "miniTaget",
name: "target",
x: 329,
y: 167
}, {
mc: "miniBarriers",
name: "",
x: 430,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 242
}, {
mc: "miniBarriers",
name: "",
x: 280,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 230,
y: 267
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 255,
y: 242
}, {
mc: "miniBarriers",
name: "",
x: 305,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 305,
y: 242
}, {
mc: "miniBarriers",
name: "",
x: 305,
y: 267
}, {
mc: "miniBarriers",
name: "",
x: 305,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 330,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 355,
y: 192
}, {
mc: "miniBarriers",
name: "",
x: 380,
y: 217
}, {
mc: "miniBarriers",
name: "",
x: 380,
y: 242
}, {
mc: "miniBarriers",
name: "",
x: 380,
y: 267
}, {
mc: "miniBarriers",
name: "",
x: 380,
y: 292
}, {
mc: "miniBarriers",
name: "",
x: 405,
y: 192
}]
}, {
name: "PadLockBase",
children: [{
mc: "duga",
name: "duga",
x: -103,
y: -222
}, {
mc: "PadLockBG",
name: "frame",
x: -123,
y: -128
}, {
mc: "lock_click",
name: "larva",
x: -105,
y: -112
}, {
mc: "Hole",
name: "hole",
x: -50,
y: 7
}, {
mc: "Hole2",
name: "hole1",
x: -44,
y: 28
}, {
mc: "Hole2",
name: "hole2",
x: -46,
y: -14
}, {
mc: "holeLine",
name: "line",
x: -1,
y: 7
}, {
mc: "Picklock",
name: "pick",
x: 0,
y: 187
}]
}, {
name: "PadlockPanel",
children: [{
mc: "PadlockPanelTip",
name: "tip",
x: 100,
y: 370
}, {
mc: "PadLockBase",
name: "lockBase",
x: 323,
y: 302
}, {
mc: "cmcClose",
name: "close",
x: 480,
y: 100
}, {
mc: "cmcArrow",
name: "up",
x: 320,
y: 465,
degrees: 90
}, {
mc: "cmcArrow",
name: "left",
x: 160,
y: 465
}, {
mc: "cmcArrow",
name: "right",
x: 480,
y: 465,
degrees: 180
}]
}, {
name: "PauseScreen",
children: [{
mc: "cmcGrayAlphaRect",
name: "bg",
x: -1,
y: -1,
scaleX: 10,
scaleY: 10
}, {
mc: "cmcDialog",
name: "dialog",
x: 320,
y: 287
}, {
mc: "ButtonBackToGame",
name: "back",
x: 222,
y: 206
}, {
mc: "ButtonLevelsMap",
name: "levels",
x: 243,
y: 324
}, {
mc: "txtPause",
name: "",
x: 260,
y: 106
}, {
mc: "ButtonWalkthrough",
name: "walkthrough",
x: 225,
y: 267
}]
}, {
name: "Pismo",
children: [{
mc: "cmcDoorCodeDLG",
name: "",
x: 184,
y: 150
}, {
mc: "cmcDoorCodeDig",
name: "doorcode",
x: 254,
y: 258
}, {
mc: "pismoContent",
name: "content",
x: 0,
y: 0
}]
}, {
name: "TransformationPanel",
children: [{
mc: "TransformationBG",
name: "",
x: 176,
y: 73
}, {
mc: "sparks",
name: "sparksGreen",
x: 255,
y: 390
}, {
mc: "sparks",
name: "sparksOrange",
x: 415,
y: 390
}, {
mc: "sparks",
name: "sparksBlue",
x: 336,
y: 390
}, {
mc: "TransformatorPanelTip",
name: "tip",
x: 90,
y: 340
}, {
mc: "wiresInPanel",
name: "wires",
x: 215,
y: 130
}, {
mc: "wireGreen",
name: "green",
x: 235,
y: 390
}, {
mc: "wireOrange",
name: "orange",
x: 395,
y: 390
}, {
mc: "wireBlue",
name: "blue",
x: 315,
y: 390
}, {
mc: "Nippers",
name: "nippers",
x: 200,
y: 445
}, {
mc: "cmcArrow",
name: "b",
x: 334,
y: 425,
degrees: 90,
alpha: .01
}, {
mc: "cmcArrow",
name: "g",
x: 254,
y: 425,
degrees: 90,
alpha: .01
}, {
mc: "cmcArrow",
name: "o",
x: 415,
y: 425,
degrees: 90,
alpha: .01
}, {
mc: "cmcClose",
name: "close",
x: 544,
y: 108
}]
}, {
name: "WinGame",
children: [{
mc: "cmcWinGameBG",
name: "bg",
x: 0,
y: 0
}, {
mc: "cmcMenuDigit",
name: "ti",
x: 60,
y: 90
}, {
mc: "cmcMenuDigit",
name: "so",
x: 100,
y: 89
}, {
mc: "cmcMenuDigit",
name: "de",
x: 133,
y: 90
}, {
mc: "cmcMenuDigit",
name: "ed",
x: 166,
y: 89
}, {
mc: "txtScore",
name: "Score",
x: 108,
y: 58
}, {
mc: "cbtnMainMenuLevels",
name: "mainmenu",
x: 24,
y: 439
}]
}, {
name: "WinLevelScreen",
children: [{
mc: "cmcLevelWinBG",
name: "bg",
x: 0,
y: 0
}, {
mc: "but_replay",
name: "replay",
x: 30,
y: 450
}, {
mc: "but_continue",
name: "continuelev",
x: 480,
y: 450
}, {
mc: "cmcScoreChannel",
name: "score",
x: 153,
y: 125
}, {
mc: "cmcScoreDig",
name: "time",
x: 250,
y: 134
}, {
mc: "cmcScoreDig",
name: "Money",
x: 250,
y: 180
}, {
mc: "cmcScoreDig",
name: "trevoga",
x: 269,
y: 226
}, {
mc: "cmcScoreDig",
name: "total",
x: 262,
y: 272
}, {
mc: "tvStar",
name: "gStar1",
x: 187,
y: 314
}, {
mc: "tvStar",
name: "gStar2",
x: 223,
y: 314
}, {
mc: "tvStar",
name: "gStar3",
x: 259,
y: 314
}, {
mc: "tvStar",
name: "gStar4",
x: 295,
y: 314
}, {
mc: "tvStar",
name: "gStar5",
x: 331,
y: 314
}, {
mc: "cmcPresenter",
name: "newsChannel",
x: 246,
y: 214
}, {
mc: "cmcPresenterHead",
name: "newsHead",
x: 275,
y: 145
}, {
mc: "tv_stripes",
name: "stripes",
x: 126,
y: 118
}]
}],
e
}()
, OzBitmapData = function() {
function e() {}
return e.OzAlphaMask = function(e, t, i) {
null == i && (i = e);
var r = e.context.globalCompositeOperation;
e.draw(i),
e.context.globalCompositeOperation = "source-atop",
e.draw(t),
e.context.globalCompositeOperation = r,
e.update(),
e.dirty = !0
}
,
e
}()
, OzUtil = function() {
function u() {}
return u.PE = function(e, t, i, r) {
if (e)
if (e instanceof Array)
for (var o = 0, s = e; o < s.length; o++) {
if ((c = s[o])[i] == r)
return c
}
else if (e instanceof Object) {
var a = e[t];
if (a instanceof Array)
for (var n = 0, h = a; n < h.length; n++) {
var c;
if ((c = h[n])[i] == r)
return c
}
else if (a instanceof Object && a[i] == r)
return e
}
return null
}
,
u.ARR = function(e, t) {
if (void 0 === t && (t = null),
e instanceof Array)
return e;
if (e instanceof Object) {
var i = e[t];
if (i instanceof Array)
return i;
if (i instanceof Object)
return [i]
}
return null
}
,
u.numDigits0is0 = function(e) {
for (var t = 0; 0 < e; )
e = Math.floor(e / 10 + .05),
t += 1;
return t
}
,
u.GetURL = function(e) {
window.open(e, "_blank")
}
,
u.OnSegment = function(e, t, i) {
return e <= t && t <= i || i <= t && t <= e
}
,
u.SqDist = function(e, t) {
return Math.sqrt(e * e + t * t)
}
,
u.NumDigits = function(e) {
for (var t = 1; 10 <= e; )
e /= 10,
t++;
return t
}
,
u.HitTest = function(e, t, i, r, o) {
void 0 === o && (o = null);
var s = e.x
, a = e.y
, n = i.x
, h = i.y;
if (null == t && (e.getRect(this.tempRect),
t = new Phaser.Rectangle(this.tempRect[0],this.tempRect[1],this.tempRect[2],this.tempRect[3]),
s = a = 0),
null == r) {
if (i.getRect(this.tempRect),
o)
for (var c = i; c != o; )
(c = i.parent).parentRect(this.tempRect);
r = new Phaser.Rectangle(this.tempRect[0],this.tempRect[1],this.tempRect[2],this.tempRect[3]),
n = h = 0
}
return s += t.x,
a += t.y,
n += r.x,
h += r.y,
!(s + t.width <= n || n + r.width <= s || a + t.height <= h || h + r.height <= a)
}
,
u.ClearDigits = function(e) {
for (var t = 0; t < e.length; t++)
e[t].gotoAndStop(11)
}
,
u.MakeDigits = function(e, t, i, r) {
void 0 === i && (i = !1),
void 0 === r && (r = !1),
e = Math.floor(e);
var o = Math.round(e)
, s = u.NumDigits(e)
, a = t.length
, n = 0
, h = 0;
if (r && i) {
var c = a - s;
for (h = 0; h < c; h++)
t[a - h - 1].gotoAndStop(11)
}
for (n = h; n < a; n++) {
var l = t[r ? a - n - 1 : a - n - 1 - h]
, m = o % 10;
o < 1 && h < n && i ? l.gotoAndStop(11) : (l.visible = !0,
l.gotoAndStop(1 + m)),
o -= m,
o /= 10
}
}
,
u.RectHit = function(e, t) {
var i = !(e[0] + e[2] < t[0] || t[0] + t[2] < e[0])
, r = !(e[1] + e[3] < t[1] || t[1] + t[3] < e[1]);
return i && r
}
,
u.digits = "0123456789",
u.tempRect = [0, 0, 0, 0],
u
}()
, PreloaderObjects = function() {
function e() {}
return e.data = {
frames: [{
filename: "LeftCurtainGraphics0000",
frame: {
x: 2341,
y: 486,
w: 388,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 388,
h: 520
},
sourceSize: {
w: 388,
h: 520
}
}, {
filename: "MusicButton0000",
frame: {
x: 3978,
y: 449,
w: 25,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13,
y: -15,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "MusicButton0001",
frame: {
x: 1259,
y: 526,
w: 25,
h: 30
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -13,
y: -15,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "MusicButton0002",
frame: {
x: 4047,
y: 611,
w: 30,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -16,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "MusicButton0003",
frame: {
x: 1113,
y: 612,
w: 30,
h: 31
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -15,
y: -16,
w: 30,
h: 31
},
sourceSize: {
w: 30,
h: 31
}
}, {
filename: "RightCurtainGraphics0000",
frame: {
x: 1932,
y: 486,
w: 406,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -406,
y: 0,
w: 406,
h: 520
},
sourceSize: {
w: 406,
h: 520
}
}, {
filename: "SoundButton0000",
frame: {
x: 1226,
y: 609,
w: 34,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -14,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "SoundButton0001",
frame: {
x: 4010,
y: 611,
w: 34,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -14,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "SoundButton0002",
frame: {
x: 4010,
y: 576,
w: 34,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -16,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "SoundButton0003",
frame: {
x: 4047,
y: 576,
w: 34,
h: 32
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -17,
y: -16,
w: 35,
h: 32
},
sourceSize: {
w: 35,
h: 32
}
}, {
filename: "cbtnContinue20000",
frame: {
x: 3861,
y: 226,
w: 164,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -.7,
y: -.8,
w: 169,
h: 43
},
sourceSize: {
w: 169,
h: 43
}
}, {
filename: "cbtnContinue20001",
frame: {
x: 3861,
y: 180,
w: 169,
h: 43
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -2.7,
y: -.8,
w: 169,
h: 43
},
sourceSize: {
w: 169,
h: 43
}
}, {
filename: "cbtnCredits20000",
frame: {
x: 3861,
y: 449,
w: 114,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -57,
y: -16,
w: 120,
h: 35
},
sourceSize: {
w: 120,
h: 35
}
}, {
filename: "cbtnCredits20001",
frame: {
x: 3950,
y: 136,
w: 120,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -60,
y: -17,
w: 120,
h: 35
},
sourceSize: {
w: 120,
h: 35
}
}, {
filename: "cbtnMainMenu0000",
frame: {
x: 3861,
y: 345,
w: 163,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: -.8,
w: 171,
h: 34
},
sourceSize: {
w: 171,
h: 34
}
}, {
filename: "cbtnMainMenu0001",
frame: {
x: 3861,
y: 271,
w: 171,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -4.1,
y: -.8,
w: 171,
h: 34
},
sourceSize: {
w: 171,
h: 34
}
}, {
filename: "cbtnMusic0000",
frame: {
x: 4037,
y: 402,
w: 38,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.5,
y: -19.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnMusic0001",
frame: {
x: 4025,
y: 3,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.5,
y: -23.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnMusic0002",
frame: {
x: 4010,
y: 535,
w: 38,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.5,
y: -19.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnMusic0003",
frame: {
x: 4033,
y: 174,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.5,
y: -23.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnNewGame0000",
frame: {
x: 3861,
y: 381,
w: 157,
h: 33
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -78,
y: -16,
w: 165,
h: 34
},
sourceSize: {
w: 165,
h: 34
}
}, {
filename: "cbtnNewGame0001",
frame: {
x: 3861,
y: 308,
w: 165,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -82,
y: -17,
w: 165,
h: 34
},
sourceSize: {
w: 165,
h: 34
}
}, {
filename: "cbtnPlay0000",
frame: {
x: 1158,
y: 526,
w: 98,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -48,
y: -20,
w: 103,
h: 42
},
sourceSize: {
w: 103,
h: 42
}
}, {
filename: "cbtnPlay0001",
frame: {
x: 3950,
y: 91,
w: 103,
h: 42
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -51,
y: -21,
w: 103,
h: 42
},
sourceSize: {
w: 103,
h: 42
}
}, {
filename: "cbtnSkip0000",
frame: {
x: 4010,
y: 493,
w: 73,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1.1,
y: -1.3,
w: 77,
h: 41
},
sourceSize: {
w: 77,
h: 41
}
}, {
filename: "cbtnSkip0001",
frame: {
x: 4010,
y: 449,
w: 77,
h: 41
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -3.1,
y: -2.3,
w: 77,
h: 41
},
sourceSize: {
w: 77,
h: 41
}
}, {
filename: "cbtnSound0000",
frame: {
x: 4051,
y: 535,
w: 38,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.5,
y: -19.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnSound0001",
frame: {
x: 4035,
y: 224,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.5,
y: -23.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnSound0002",
frame: {
x: 737,
y: 569,
w: 38,
h: 38
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -19.5,
y: -19.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cbtnSound0003",
frame: {
x: 4035,
y: 274,
w: 47,
h: 47
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -23.5,
y: -23.5,
w: 47,
h: 47
},
sourceSize: {
w: 47,
h: 47
}
}, {
filename: "cmcBarDot0000",
frame: {
x: 3861,
y: 91,
w: 86,
h: 86
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -43,
y: -43,
w: 86,
h: 86
},
sourceSize: {
w: 86,
h: 86
}
}, {
filename: "cmcBlackRect0000",
frame: {
x: 4027,
y: 345,
w: 66,
h: 54
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -1,
y: -1,
w: 66,
h: 54
},
sourceSize: {
w: 66,
h: 54
}
}, {
filename: "cmcBlackRectBottom0000",
frame: {
x: 251,
y: 526,
w: 640,
h: 40
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 40
},
sourceSize: {
w: 640,
h: 40
}
}, {
filename: "cmcBlackStoryCloud0000",
frame: {
x: 3367,
y: 486,
w: 640,
h: 186
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 186
},
sourceSize: {
w: 640,
h: 186
}
}, {
filename: "cmcCreditsDLG0000",
frame: {
x: 3083,
y: 486,
w: 281,
h: 434
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 281,
h: 434
},
sourceSize: {
w: 281,
h: 434
}
}, {
filename: "cmcKizi0000",
frame: {
x: 3861,
y: 3,
w: 161,
h: 85
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -78.9,
y: -41.9,
w: 161,
h: 85
},
sourceSize: {
w: 161,
h: 85
}
}, {
filename: "cmcLoaderBar0000",
frame: {
x: 251,
y: 665,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0001",
frame: {
x: 859,
y: 675,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0002",
frame: {
x: 3367,
y: 675,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0003",
frame: {
x: 3611,
y: 675,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0004",
frame: {
x: 495,
y: 681,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0005",
frame: {
x: 251,
y: 688,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0006",
frame: {
x: 739,
y: 698,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0007",
frame: {
x: 983,
y: 698,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0008",
frame: {
x: 3367,
y: 698,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0009",
frame: {
x: 3611,
y: 698,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBar0010",
frame: {
x: 495,
y: 704,
w: 241,
h: 20
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 9.6,
y: 12.8,
w: 241,
h: 20
},
sourceSize: {
w: 241,
h: 20
}
}, {
filename: "cmcLoaderBarBack0000",
frame: {
x: 859,
y: 644,
w: 243,
h: 28
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 8,
y: 9.3,
w: 243,
h: 28
},
sourceSize: {
w: 243,
h: 28
}
}, {
filename: "cmcLoaderBarFront0000",
frame: {
x: 601,
y: 644,
w: 255,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 2.7,
y: 5.5,
w: 255,
h: 34
},
sourceSize: {
w: 255,
h: 34
}
}, {
filename: "cmcMenuBG0000",
frame: {
x: 3,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "cmcPreloaderBG0000",
frame: {
x: 646,
y: 3,
w: 640,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 520
},
sourceSize: {
w: 640,
h: 520
}
}, {
filename: "cmcSidePad0000",
frame: {
x: 2732,
y: 486,
w: 348,
h: 520
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -348,
y: 0,
w: 348,
h: 520
},
sourceSize: {
w: 348,
h: 520
}
}, {
filename: "cmcStoryPics0000",
frame: {
x: 1289,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "cmcStoryPics0001",
frame: {
x: 1932,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "cmcStoryPics0002",
frame: {
x: 2575,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "cmcStoryPics0003",
frame: {
x: 3218,
y: 3,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "cmcStoryPics0004",
frame: {
x: 1289,
y: 486,
w: 640,
h: 480
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 640,
h: 480
},
sourceSize: {
w: 640,
h: 480
}
}, {
filename: "cmcStoryText0000",
frame: {
x: 251,
y: 569,
w: 483,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -241.2,
y: -14.6,
w: 483,
h: 29
},
sourceSize: {
w: 483,
h: 29
}
}, {
filename: "cmcStoryText0001",
frame: {
x: 251,
y: 601,
w: 433,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -216.2,
y: -14.6,
w: 483,
h: 29
},
sourceSize: {
w: 483,
h: 29
}
}, {
filename: "cmcStoryText0002",
frame: {
x: 687,
y: 612,
w: 423,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -211.2,
y: -14.6,
w: 483,
h: 29
},
sourceSize: {
w: 483,
h: 29
}
}, {
filename: "cmcStoryText0003",
frame: {
x: 3861,
y: 417,
w: 173,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -86.2,
y: -14.6,
w: 483,
h: 29
},
sourceSize: {
w: 483,
h: 29
}
}, {
filename: "cmcStoryText0004",
frame: {
x: 251,
y: 633,
w: 347,
h: 29
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -173.2,
y: -14.6,
w: 483,
h: 29
},
sourceSize: {
w: 483,
h: 29
}
}, {
filename: "cmcTitle20000",
frame: {
x: 3,
y: 526,
w: 245,
h: 187
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -123,
y: -93,
w: 245,
h: 187
},
sourceSize: {
w: 245,
h: 187
}
}, {
filename: "ctxtLoadingDigits0000",
frame: {
x: 778,
y: 569,
w: 34,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0001",
frame: {
x: 4025,
y: 53,
w: 25,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0002",
frame: {
x: 848,
y: 569,
w: 32,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0003",
frame: {
x: 1228,
y: 569,
w: 31,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0004",
frame: {
x: 1158,
y: 569,
w: 32,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0005",
frame: {
x: 1193,
y: 608,
w: 30,
h: 35
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0006",
frame: {
x: 1193,
y: 569,
w: 32,
h: 36
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0007",
frame: {
x: 4056,
y: 95,
w: 34,
h: 37
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0008",
frame: {
x: 815,
y: 569,
w: 30,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0009",
frame: {
x: 4056,
y: 53,
w: 33,
h: 39
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "ctxtLoadingDigits0010",
frame: {
x: 3,
y: 3,
w: 0,
h: 0
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: 0,
y: 0,
w: 34,
h: 39
},
sourceSize: {
w: 34,
h: 39
}
}, {
filename: "sponsorGGG0000",
frame: {
x: 894,
y: 526,
w: 261,
h: 83
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -130.7,
y: -43.1,
w: 261,
h: 83
},
sourceSize: {
w: 261,
h: 83
}
}, {
filename: "txtPercent0000",
frame: {
x: 1158,
y: 608,
w: 32,
h: 34
},
rotated: !1,
trimmed: !0,
spriteSourceSize: {
x: -16,
y: -17,
w: 32,
h: 34
},
sourceSize: {
w: 32,
h: 34
}
}],
meta: {
app: "Adobe Flash Professional",
version: "13.1.0.226",
image: "PreloaderObjects.png",
format: "RGBA8888",
size: {
w: 4096,
h: 4096
},
scale: "1"
}
},
e
}()
, PreloaderObjectsLayouts = function() {
function e() {}
return e.data = [{
name: "cmcAnimation",
children: [{
mc: "cmcBlackRectBottom",
name: "bottomRect",
x: 0,
y: 480
}, {
mc: "cmcStoryText",
name: "storyText",
x: 318,
y: 499
}, {
mc: "cmcBlackStoryCloud",
name: "blackCloud",
x: 0,
y: 400
}, {
mc: "cmcStoryPics",
name: "storyPic",
x: 0,
y: 0
}, {
mc: "cmcBlackRect",
name: "blackRect",
x: 0,
y: 0,
scaleX: 10,
scaleY: 10
}, {
mc: "cbtnSkip",
name: "skipStory",
x: 564,
y: 7
}]
}, {
name: "cmcMenu",
children: [{
mc: "cmcMenuBG",
name: "",
x: 0,
y: 0
}, {
mc: "cbtnCredits2",
name: "btnCredits",
x: 321,
y: 322
}, {
mc: "cbtnNewGame",
name: "btnNewGame",
x: 320,
y: 277
}, {
mc: "cmcTitle2",
name: "title",
x: 320,
y: 120
}, {
mc: "cbtnMainMenu",
name: "back",
x: 245,
y: 458
}, {
mc: "MusicButton",
name: "music",
x: 612,
y: 30
}, {
mc: "SoundButton",
name: "sound",
x: 569,
y: 29
}, {
mc: "cmcKizi",
name: "sponsor",
x: 312,
y: 393
}, {
mc: "cmcCreditsDLG",
name: "credits",
x: 180,
y: 17
}]
}, {
name: "cmcPreloader",
children: [{
mc: "cmcPreloaderBG",
name: "bg",
x: 0,
y: 0
}, {
mc: "cbtnPlay",
name: "btnPlay",
x: 320,
y: 440
}, {
mc: "cmcKizi",
name: "sponsor",
x: 310,
y: 63
}, {
mc: "cmcLoaderBarBack",
name: "barBack",
x: 190,
y: 393
}, {
mc: "cmcLoaderBar",
name: "bar",
x: 191,
y: 394
}, {
mc: "cmcLoaderBarFront",
name: "barFront",
x: 191,
y: 395
}, {
mc: "ctxtLoadingDigits",
name: "ten",
x: 265,
y: 455
}, {
mc: "ctxtLoadingDigits",
name: "one",
x: 300,
y: 455
}, {
mc: "txtPercent",
name: "per",
x: 354,
y: 472
}]
}],
e
}()
, SoundManager = function() {
function a() {}
return a.AddSound = function(e, t) {
a.arrSounds.push(e),
Game.getGame().load.audio(e, ["assets/sound/" + e + ".ogg", "assets/sound/" + e + ".mp3"]),
this.dicSounds[e] = {},
t.music ? this.dicSounds[e].music = !0 : this.dicSounds[e].music = !1,
10 < t.loops ? this.dicSounds[e].loops = !0 : this.dicSounds[e].loops = !1,
t.volume ? this.dicSounds[e].volume = t.volume : this.dicSounds[e].volume = 1,
a.NumSounds++
}
,
a.Init = function() {
a.AllDecoded = !1,
a.NumSounds = 0,
a.muteMusic = !1,
a.muteSound = !1,
a.curMusic = null,
a.arrSounds = new Array
}
,
a.AddAllSounds = function() {
if (!a.AllDecoded) {
a.AllDecoded = !0;
for (var e = Game.getGame(), t = 0; t < a.arrSounds.length; t++) {
var i = a.arrSounds[t];
a.dicSounds[i].sound = e.add.audio(i)
}
Game.DEBUG
}
}
,
a.Preload = function() {
a.AddSound("SGameMusic", {
music: !0,
loops: 9999
}),
a.AddSound("SMainMenuMusic", {
music: !0,
loops: 9999
}),
a.AddSound("SRobberDanger", {
music: !0,
loops: 9999
}),
a.AddSound("SSiren", {
loops: 9999
}),
a.AddSound("SBobWalk", {
loops: 9999
}),
a.AddSound("SBobClimb", {
loops: 9999
}),
a.AddSound("SBobSearch", {
loops: 9999
}),
a.AddSound("SAccessDenied", {}),
a.AddSound("SAccessGranted", {}),
a.AddSound("SAmbalAlarm", {}),
a.AddSound("SAmbalOut", {}),
a.AddSound("SAmbalWarn", {}),
a.AddSound("SAnnouncer", {}),
a.AddSound("SAppertureMove", {}),
a.AddSound("SBeepKey", {}),
a.AddSound("SBobBusted", {}),
a.AddSound("SBobDrink", {}),
a.AddSound("SBobLaugh", {}),
a.AddSound("SBobPhoto", {}),
a.AddSound("SBobSpray", {}),
a.AddSound("SBobWow", {}),
a.AddSound("SButtonClick", {}),
a.AddSound("SButtonSelect", {}),
a.AddSound("SButtonWizzz", {}),
a.AddSound("SCableCut", {}),
a.AddSound("SCameraWarn", {}),
a.AddSound("SCodeButtonClick", {}),
a.AddSound("SDogAlarm", {}),
a.AddSound("SDogBite", {}),
a.AddSound("SDogShock", {}),
a.AddSound("SDogWarn", {}),
a.AddSound("SDoorOpen", {}),
a.AddSound("SElevatorArrive", {}),
a.AddSound("SElevatorDoorClose", {}),
a.AddSound("SElevatorDoorOpen", {}),
a.AddSound("SEnemyShock", {}),
a.AddSound("SGetMoney", {}),
a.AddSound("SKeyFail", {}),
a.AddSound("SKeyOneshot", {}),
a.AddSound("SLogoWizzz", {}),
a.AddSound("SMessage", {}),
a.AddSound("SMiniLockOpen", {}),
a.AddSound("SOldmanAlarm", {}),
a.AddSound("SOldmanOut", {}),
a.AddSound("SOldmanWarn", {}),
a.AddSound("SOpenCabinet", {}),
a.AddSound("SPlateDown", {}),
a.AddSound("SPlateUp", {}),
a.AddSound("SPolicemanAlarm", {}),
a.AddSound("SPolicemanOut", {}),
a.AddSound("SPolicemanWarn", {}),
a.AddSound("SPunch", {}),
a.AddSound("SRobotAlarm", {}),
a.AddSound("SRobotOut", {}),
a.AddSound("SRobotShock", {}),
a.AddSound("SRobotWarn", {}),
a.AddSound("SSalerThankYou", {}),
a.AddSound("SSalerVoice", {}),
a.AddSound("SScoreSpin", {}),
a.AddSound("SSecurityAlarm", {}),
a.AddSound("SSecurityOut", {}),
a.AddSound("SSecurityWarn", {}),
a.AddSound("SShockerShot", {}),
a.AddSound("SShoot", {}),
a.AddSound("SShootAmbal", {}),
a.AddSound("SShootBurst", {}),
a.AddSound("SSwissKey", {}),
a.AddSound("STargetGood", {}),
a.AddSound("SUnlock", {}),
a.AddSound("SWallMove", {}),
a.AddSound("SWinLevel", {}),
a.AddSound("SZombieAlarm", {}),
a.AddSound("SZombieOut", {}),
a.AddSound("SZombieWarn", {})
}
,
a.getInstance = function() {
return null == a.instance && (a.instance = new a),
a.instance
}
,
a.prototype.stopMusic = function(e) {
void 0 === e && (e = null),
null == e && (e = a.playingMusic);
var t = a.dicSounds[e];
t && t.sound && t.sound.stop(),
a.playingMusic = null
}
,
a.prototype.playSound = function(e, t, i, r) {
void 0 === t && (t = 0),
void 0 === i && (i = null),
void 0 === r && (r = null);
var o = a.dicSounds[e];
o && (o.music ? (a.playingMusic && a.playingMusic != e && this.stopMusic(),
a.curMusic == e && a.playingMusic || !e || (a.playingMusic = a.muteMusic ? null : (a._playSound(e, o.volume, o.loops),
e),
a.curMusic = e)) : a.muteSound || (this.isPlaying(e) && this.stopSound(e),
a._playSound(e, o.volume, o.loops, i, r)))
}
,
a.prototype.stopAllAudio = function(e) {
for (var t in void 0 === e && (e = null),
a.dicSounds)
(null == e || e.indexOf(t) < 0) && this.stopSound(t)
}
,
a.prototype.stopSound = function(e) {
var t = a.dicSounds[e];
t && t.sound && (t.sound.stop(),
a.playingMusic == e && (a.playingMusic = null))
}
,
a.prototype.isPlaying = function(e) {
var t = a.dicSounds[e];
return !(!t || !t.sound) && t.sound.isPlaying
}
,
a.ToggleMuteMusic = function() {
if (a.muteMusic = !a.muteMusic)
a.playingMusic && (e = a.dicSounds[a.playingMusic]).sound && e.sound.pause();
else if (a.curMusic)
if (a.playingMusic) {
var e;
(e = a.dicSounds[a.playingMusic]).sound && e.sound.resume()
} else {
var t = a.dicSounds[a.curMusic];
a._playSound(a.curMusic, t.volume, t.loops),
a.playingMusic = a.curMusic
}
}
,
a._playSound = function(e, t, i, r, o) {
void 0 === r && (r = null),
void 0 === o && (o = null);
var s = a.dicSounds[e].sound;
i ? (s.loopFull(t),
s.onLoop.getNumListeners() < 1 && s.onLoop.add(a._loopSound, a, 0, e, t)) : (s.play("", 0, t),
r && s.onStop.add(r, o))
}
,
a._loopSound = function(e, t, i) {
e.loopFull(i)
}
,
a.ToggleMuteSound = function() {
if (a.muteSound = !a.muteSound)
for (var e in a.dicSounds) {
var t = a.dicSounds[e];
if (!t.music) {
var i = t.sound;
i && i.isPlaying && i.stop()
}
}
}
,
a.NewSounds = function() {
a.sirenaOn = a.timersirenOn = a.playdictor = a.playMenu = a.playGame = !1,
a.playlezet = a.playmove = a.playwork = !0
}
,
a.PlayMove = function() {
a.playmove && !a.muteSound && (a.getInstance().playSound("steps", 0, a.StopMove, a),
a.playmove = !1)
}
,
a.StopMove = function() {
a.playmove = !0
}
,
a.PlayLezet = function() {
a.playlezet && !a.muteSound && (a.getInstance().playSound("climb", 0, a.StopLezet, a),
a.playlezet = !1)
}
,
a.StopLezet = function() {
a.playlezet = !0
}
,
a.PlayWork = function(e) {
if (a.playwork && !a.muteSound) {
switch (e) {
case 1:
a.getInstance().playSound("wire", 0, a.StopWork, a);
case 2:
a.getInstance().playSound("search", 0, a.StopWork, a);
case 3:
a.getInstance().playSound("unlock", 0, a.StopWork, a);
case 4:
a.getInstance().playSound("search", 0, a.StopWork, a)
}
a.playwork = !1
}
}
,
a.StopWork = function() {
a.playwork = !0
}
,
a.PlayStory = function() {
a.muteMusic || a.getInstance().playSound("pre_music")
}
,
a.StopStory = function() {
a.getInstance().stopMusic("pre_music")
}
,
a.PlayMenuMusic = function() {
a.muteMusic || a.getInstance().playSound("SMainMenuMusic")
}
,
a.StopMenuMusic = function() {
a.getInstance().stopMusic("SMainMenuMusic")
}
,
a.PlayGameMusic = function() {
a.muteMusic || a.getInstance().playSound("calm_music")
}
,
a.StopGameMusic = function() {
a.getInstance().stopMusic("calm_music")
}
,
a.PlayDictor = function() {
a.getInstance().playSound("dictor"),
a.playdictor = !0
}
,
a.StopDictor = function() {
a.playdictor && (a.getInstance().stopSound("dictor"),
a.playdictor = !1)
}
,
a.PlaySiren = function() {
a.muteSound || (a.getInstance().playSound("siren_alarm"),
a.sirenaOn = !0)
}
,
a.StopSiren = function() {
a.getInstance().stopSound("siren_alarm")
}
,
a.PlayTimerSiren = function() {
a.muteMusic || (a.getInstance().playSound("alarm_music"),
a.timersirenOn = !0)
}
,
a.StopTimerSiren = function() {
a.getInstance().stopMusic("alarm_music")
}
,
a.SirenaOn = function() {
a.sirenaOn && a.getInstance().playSound("siren_alarm")
}
,
a.SirenaTimerOn = function() {
a.timersirenOn && a.getInstance().playSound("alarm_music")
}
,
a.instance = null,
a.dicSounds = {},
a
}()
, StarsAndScores = function() {
function e() {
this.timeArray = [150, 170, 120, 145, 195, 190, 165, 165, 170, 150, 200],
this.moneyArray = new Array(200,320,390,460,555,665,800,955,1145,1375,1600),
this.score = 0,
this.starsCoefArray = [1, 1.5, 2]
}
return e.prototype.getTime = function(e, t) {
return 0 < this.timeArray[t - 1] - e ? this.timeArray[t - 1] - e : 0
}
,
e.prototype.getTimeForStars = function(e, t) {
return 0 <= this.timeArray[t - 1] - e ? 0 : this.timeArray[t - 1] - e
}
,
e.prototype.getMoney = function(e) {
return this.moneyArray[e - 1]
}
,
e.prototype.getStars = function(e, t) {
var i = this.moneyArray[t - 1]
, r = Math.round(100 * e / i);
return 100 <= r ? 7 : r <= 99 && 70 < r ? 6 : r <= 70 && 50 < r ? 5 : r <= 50 && 30 < r ? 4 : r <= 30 && 10 < r ? 3 : 2
}
,
e.starsQuantity = 60,
e
}()
, TaskManager = function() {
function e(e) {
void 0 === e && (e = !1),
this._tasks = [],
this._pauseCount = 0,
this.isStarted = !1,
this.isPaused = !1,
this.cycle = e
}
return Object.defineProperty(e.prototype, "currentTask", {
get: function() {
return 0 < this._tasks.length ? this._tasks[0].func : null
},
enumerable: !0,
configurable: !0
}),
e.prototype.addTask = function(e, t, i, r) {
void 0 === i && (i = null),
void 0 === r && (r = !1),
this._tasks.push({
func: t,
params: i,
ignoreCycle: r,
context: e
}),
this.start()
}
,
e.prototype.addInstantTask = function(e, t, i, r) {
void 0 === i && (i = null),
void 0 === r && (r = !1),
this._tasks.push({
func: t,
params: i,
ignoreCycle: r,
isInstant: !0,
context: e
}),
this.start()
}
,
e.prototype.addUrgentTask = function(e, t, i, r) {
void 0 === i && (i = null),
void 0 === r && (r = !1),
this._tasks.unshift({
func: t,
params: i,
ignoreCycle: r,
context: e
}),
this.start()
}
,
e.prototype.addUrgentInstantTask = function(e, t, i, r) {
void 0 === i && (i = null),
void 0 === r && (r = !1),
this._tasks.unshift({
func: t,
params: i,
ignoreCycle: r,
isInstant: !0,
context: e
}),
this.start()
}
,
e.prototype.addPause = function(e, t) {
void 0 === t && (t = !1),
this.addTask(this, this.timerFrame, [e], t)
}
,
e.prototype.timerFrame = function(e) {
this._pauseCount++,
this._pauseCount >= e && (this._pauseCount = 0,
this.nextTask())
}
,
e.prototype.removeAllTasks = function() {
this._tasks = new Array
}
,
e.prototype.nextTask = function(e) {
void 0 === e && (e = !1),
this.cycle && !e ? this._tasks.push(this._tasks.shift()) : this._tasks.shift()
}
,
e.prototype.start = function() {
this.isStarted || (this.isStarted = !0,
this.isPaused = !1)
}
,
e.prototype.stop = function() {
this.isStarted = !1
}
,
e.prototype.update = function() {
var e = this._tasks[0];
e ? (this.result = e.func.call(e.context, e.params),
e == this._tasks[0] && (e.isInstant || this.result) && this.nextTask(e.ignoreCycle)) : stop()
}
,
Object.defineProperty(e.prototype, "pause", {
get: function() {
return this.isPaused
},
set: function(e) {
e && !this.isPaused ? this.isPaused = !0 : this._tasks[0] && this.isPaused && (this.isPaused = !1)
},
enumerable: !0,
configurable: !0
}),
e.prototype.tasksNum = function() {
return this._tasks.length
}
,
e.ALL_TASKS_DONE = "allTasksDone",
e
}()
, Timer = function() {
function s(e, t) {
void 0 === t && (t = 0),
this.delay = e,
this.repeatCount = t,
this.next = this.prev = null,
this.containerId = -1,
this.currentCount = 0
}
return s.Init = function() {
s.TimerHeads = new Array(this.MAX_TIMES),
s.CurFrame = 0
}
,
s.Process = function(e) {
for (var t = 0; t < e; t++,
s.CurFrame++)
for (var i = s.CurFrame % s.MAX_TIMES; null != s.TimerHeads[i]; ) {
var r = s.TimerHeads[i];
if (0 == r.repeatCount || r.currentCount < r.repeatCount) {
if (r.listeners) {
for (var o = 0; o < r.listeners.length && (r.listeners[o].call(r.listenersContexts[o], null),
s.TimerHeads[i] == r); o++)
;
for (o = r.listeners.length - 1; 0 <= o; o--)
r.listeners[o] || (r.listeners.splice(o, 1),
r.listenersContexts.splice(o, 1))
}
r.currentCount++
}
r == s.TimerHeads[i] && (0 < r.repeatCount && r.currentCount >= r.repeatCount ? r.remove() : r.add(s.CurFrame + r.delay))
}
}
,
Object.defineProperty(s.prototype, "delay", {
get: function() {
return this._delay
},
set: function(e) {
this._delay = e,
this.running && (this.stop(),
this.start())
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(s.prototype, "running", {
get: function() {
return 0 <= this.containerId
},
enumerable: !0,
configurable: !0
}),
s.prototype.addEventListener = function(e, t) {
if (this.listeners)
for (var i = 0; i < this.listenersContexts.length; i++)
if (this.listeners[i] == e)
return;
this.listeners || (this.listeners = new Array,
this.listenersContexts = new Array),
this.listeners.push(e),
this.listenersContexts.push(t)
}
,
s.prototype.removeListener = function(e) {
for (var t = 0; t < this.listeners.length; t++)
this.listeners[t] == e && (this.listeners[t] = null,
this.listenersContexts[t] = null)
}
,
s.prototype.start = function() {
0 <= this.containerId || this.add(this.delay + s.CurFrame)
}
,
s.prototype.add = function(e) {
0 <= this.containerId && this.remove(),
this.containerId = Math.round(e % s.MAX_TIMES),
null == s.TimerHeads[this.containerId] ? ((s.TimerHeads[this.containerId] = this).prev = this).next = this : (this.prev = s.TimerHeads[this.containerId].prev,
this.next = s.TimerHeads[this.containerId],
s.TimerHeads[this.containerId].prev.next = this,
s.TimerHeads[this.containerId].prev = this)
}
,
s.prototype.remove = function() {
0 <= this.containerId && (this.next == this ? s.TimerHeads[this.containerId] == this && (s.TimerHeads[this.containerId] = null) : (this.prev.next = this.next,
this.next.prev = this.prev,
s.TimerHeads[this.containerId] == this && (s.TimerHeads[this.containerId] = this.next))),
this.next = this.prev = null,
this.containerId = -1
}
,
s.prototype.stop = function() {
this.remove()
}
,
s.prototype.reset = function() {
this.currentCount = 0,
this.stop()
}
,
s.MAX_TIMES = 80001,
s
}()
, TweenMax = function() {
function u() {
this.dummy = 0
}
return u.Init = function(e) {
u.game = e
}
,
u.delayedCall = function(e, t, i) {
var r = new u;
return e *= 1e3,
r.tween = this.game.add.tween(r).to({
dummy: 1
}, e, Phaser.Easing.Linear.None, !0),
r.tween.onComplete.add(t, i),
r
}
,
u.to = function(e, t, i) {
var r = new u
, o = 0;
i.delay && (o = i.delay,
delete i.delay);
var s = !1;
i.yoyo && (s = i.yoyo,
delete i.yoyo);
var a = 0;
i.repeat && (a = i.repeat,
delete i.repeat);
var n = 0;
i.repeatDelay && (n = i.repeatDelay,
delete i.repeatDelay);
var h = null;
i.onComplete && (h = i.onComplete,
delete i.onComplete);
var c = e;
i.onCompleteContext && (c = i.onCompleteContext,
delete i.onCompleteContext);
var l = Phaser.Easing.Linear.None;
if (i.ease) {
var m = i.ease;
"Linear.easeNone" == m ? l = Phaser.Easing.Linear.None : "Quad.easeOut" == m ? l = Phaser.Easing.Quadratic.Out : "Quad.easeIn" == m ? l = Phaser.Easing.Quadratic.In : "Back.easeOut" == m ? l = Phaser.Easing.Back.Out : "Back.easeIn" == m ? l = Phaser.Easing.Back.In : "Elastic.easeOut" == m ? l = Phaser.Easing.Elastic.Out : "Elastic.easeIn" == m && (l = Phaser.Easing.Elastic.In),
delete i.ease
}
return r.tween = this.game.add.tween(e).to(i, 1e3 * t, l, !0, 1e3 * o, a, s),
h && r.tween.onComplete.add(h, c),
0 != n && (r.tween.repeatDelay(1e3 * n),
s && r.tween.yoyoDelay(1e3 * n)),
r
}
,
u.pauseAll = function() {
u.game.tweens.pauseAll()
}
,
u.resumeAll = function() {
u.game.tweens.resumeAll()
}
,
u.prototype.pause = function() {
this.tween.pause()
}
,
u.prototype.paused = function() {
return this.tween.isPaused
}
,
u.prototype.resume = function() {
this.tween.resume()
}
,
u.prototype.kill = function() {
this.tween.stop()
}
,
u
}()
, Vector2 = function() {
function o(e, t) {
void 0 === e && (e = 0),
void 0 === t && (t = 0),
this.x = e,
this.y = t
}
return o.prototype.clone = function() {
return new o(this.x,this.y)
}
,
o.normal = function(e, t) {
var i, r = Math.sqrt(e * e + t * t);
return 1e-4 < r ? new o(e * (i = 1 / r),t * i) : new o(e,t)
}
,
o.checkCollide = function(e, t, i) {
return Math.abs(e.x - t.x) <= i && Math.abs(e.y - t.y) <= i
}
,
o
}()
, WireBlock = function(t) {
function e() {
var e = t.call(this) || this;
return e.Direction = "up",
e.wireClip = new MovieClip("Wires"),
e.wireClip.smoothed = !1,
e.wireClip.scaleX = e.wireClip.scaleY = 1.05,
e.stepCount = 0,
e.wireType = 9,
e.addChild(e.wireClip),
e
}
return __extends(e, t),
e.prototype.clipGo = function(e) {
this.wireClip.gotoAndStop(e),
this.wireType = e,
this.stepCount++
}
,
e
}(MovieClip)
, Zombie = function() {
function e(e, t) {
void 0 === t && (t = 0),
this.zombieStatus = "silent",
this.stunStars = new MovieClip("StunStars"),
this.stunProgress = new MovieClip("StunProgress"),
this.enemySign = new MovieClip("EnemySigns"),
this.bobDetected = !1,
this.enemyAction = "walk",
this.enemyLastDirrection = "left",
this.DistancePassed = 0,
this.DistancePassedAlarm = 0,
this.cutDownTimer = new Timer(4e3,0),
this.stopWalkTimer = new Timer(1e3,0),
this.prepareWarningTimer = new Timer(1500,0),
this.prepareWarningWalkTimer = new Timer(1500,0),
this.stopWarningWalkTimer = new Timer(1500,0),
this.shockTimer = new Timer(1e3,0),
this.stunProgressTimer = new Timer(150,0),
this.stunProgressTimerEnd = new Timer(500,0),
this.countDownAlertTimer = new Timer(2e3,0),
this.countDelay = new Timer(1e3,0),
this.pastDelay = 0,
this.roarTimer = new Timer(1e3,0),
this.roarBegin = !0,
this.enemyClip = e,
this.bbody = new Phaser.Rectangle(-10,-7,20,17),
e.registerAnimation("stand", 1),
e.registerAnimation("standR", 2),
e.registerAnimation("standL", 3),
e.registerAnimation("walkR", 4, 15),
e.registerAnimation("walkL", 16, 27),
e.registerAnimation("alarmR", 28, 39),
e.registerAnimation("alarmL", 41, 51),
this.biteStart = 52,
e.registerAnimation("biteR", 52, 60, -1, !1),
e.registerAnimation("biteL", 61, 69, -1, !1),
this.biteEnd = 69,
e.registerAnimation("alarm_walkR", 70, 81),
e.registerAnimation("alarm_walkL", 82, 93),
this.alarmStart = 94,
e.registerAnimation("alarm_stand", 94, 137),
this.alarmEnd = 137,
e.registerAnimation("stunR", 138),
e.registerAnimation("stunL", 139),
e.registerAnimation("stunR2", 140),
e.registerAnimation("stunL2", 141),
this.enemyType = "[object Zombieman]",
this.zombieStatus = "silent",
this.DistancePassed = t,
"left" == this.enemyClip.params.Direction ? (this.rightPosition = this.enemyClip.x + this.DistancePassed,
this.leftPosition = this.enemyClip.x - this.enemyClip.params.Distance + this.DistancePassed,
this.enemyLastDirrection = "right") : (this.leftPosition = this.enemyClip.x - this.DistancePassed,
this.rightPosition = this.enemyClip.x + this.enemyClip.params.Distance - this.DistancePassed,
this.enemyLastDirrection = "left"),
this.stopWalkTimer.delay = this.enemyClip.params.StopMoveWaitTime,
this.enemyClip.addEventListener(this.checkFrame, this),
this.cutDownTimer.addEventListener(this.stunnedEnd, this),
this.stopWalkTimer.addEventListener(this.stopWalkEnd, this),
this.prepareWarningTimer.addEventListener(this.warningStart, this),
this.prepareWarningWalkTimer.addEventListener(this.warningWalkStart, this),
this.stopWarningWalkTimer.addEventListener(this.stopWarningWalkEnd, this),
this.shockTimer.addEventListener(this.shockEnemyEnd, this),
this.stunProgressTimer.addEventListener(this.stunProgressGo, this),
this.countDelay.addEventListener(this.delayCount, this),
this.roarTimer.addEventListener(this.roarTimerEnd, this),
this.countDownAlertTimer.addEventListener(this.countSecondsAlert, this),
this.enemyClip.addChild(this.stunStars),
this.enemyClip.addChild(this.stunProgress),
this.stunStars.visible = !1,
this.stunProgress.visible = !1,
this.enemyShock = new MovieClip("EnemyShock"),
this.soundEnemyAlarm = "SZombieAlarm",
this.soundEnemyOut = "SZombieOut",
this.soundEnemyWarn = "SZombieWarn",
this.soundEnemyBite = "SZombieOut",
this.prepareWarningTimer.delay = 500,
this.stunStars.y -= 20,
this.cash = 50
}
return e.prototype.delayCount = function(e) {
this.pastDelay += 1e3
}
,
e.prototype.countSecondsAlert = function(e) {
this.countDownAlertTimer.stop(),
this.zombieStatus = "silent"
}
,
e.prototype.roarTimerEnd = function(e) {
this.roarTimer.stop(),
this.roarBegin = !0
}
,
e.prototype.stunProgressGo = function(e) {
this.stunProgress.gotoAndStop(Math.min(100, this.stunProgress.currentFrame + 10)),
100 == this.stunProgress.currentFrame && (this.stunProgressTimer.stop(),
this.stunProgress.visible = !1,
this.stunStars.visible = !1,
this.enemyClip.addEventListener(this.checkFrame, this),
this.wakeUpFromStunned())
}
,
e.prototype.stunProgressEnd = function(e) {
this.stunProgressTimerEnd.stop(),
this.stunProgress.visible = !1,
this.enemyClip.addEventListener(this.checkFrame, this),
this.wakeUpFromStunned()
}
,
e.prototype.shockEnemyEnd = function(e) {
this.shockTimer.stop(),
GameplayState.Instance.gameScreen.contains(this.enemyShock) && GameplayState.Instance.gameScreen.removeChild(this.enemyShock),
this.enemyClip.visible = !0,
this.stunnedBegin()
}
,
e.prototype.warningWalkStart = function(e) {
this.prepareWarningWalkTimer.stop(),
this.enemyAction = "warning_walk"
}
,
e.prototype.warningStart = function(e) {
this.prepareWarningTimer.stop(),
this.bobCoor = GameplayState.Instance.getBobCoor(),
SoundManager.getInstance().playSound(this.soundEnemyAlarm),
this.enemyAction = "zombieAttack",
this.DistancePassedAlarm = 0,
this.bobCoor = GameplayState.Instance.getBobCoor(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
this.zombieStatus = "alert",
this.enemySign.gotoAndStop(3)
}
,
e.prototype.stopWarningWalkEnd = function(e) {
this.stopWarningWalkTimer.stop(),
"alert" != this.zombieStatus && (this.enemyAction = "walk")
}
,
e.prototype.stopWalkEnd = function(e) {
this.stopWalkTimer.stop(),
this.enemyAction = "walk"
}
,
e.prototype.stunnedEnd = function(e) {
this.cutDownTimer.stop(),
this.stunProgressTimer.stop(),
this.countDelay.stop(),
this.pastDelay = 0,
this.stunStars.visible = !1
}
,
e.prototype.wakeUpFromStunned = function(e) {
void 0 === e && (e = "stun"),
"stun" == e ? (this.enemyAction = "seeAbout",
this.enemyClip.gotoLabel("alarm_stand"),
this.enemySign.gotoAndStop(2)) : ("warning" != this.zombieStatus && "silent" != this.zombieStatus || (this.enemyAction = "walk"),
"alert" == this.zombieStatus && (this.enemySign.gotoAndStop(3),
this.enemyAction = "waitForWarningWalk"))
}
,
e.prototype.stunnedBegin = function() {
this.enemySign.gotoAndStop(1),
this.prepareWarningTimer.stop(),
this.stopWalkTimer.stop(),
this.cutDownTimer.stop(),
this.enemyClip.removeEventListener(this.checkFrame),
SoundManager.getInstance().playSound(this.soundEnemyOut),
this.cutDownTimer.start(),
.5 < 1 * Math.random() ? "left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("stunR") : this.enemyClip.gotoLabel("stunL") : "left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("stunR2") : this.enemyClip.gotoLabel("stunL2"),
this.stunStars.visible = !0,
this.stunStars.playLoop(),
this.stunProgress.visible = !0,
this.stunProgress.gotoAndStop(1),
this.stunProgressTimer.delay = this.cutDownTimer.delay / 20,
this.stunProgressTimer.start(),
this.countDelay.start(),
this.enemyAction = "stun"
}
,
e.prototype.checkFrame = function(e) {
if (this.isBobDetected() ? (this.countDownAlertTimer.stop(),
"silent" != this.zombieStatus || this.prepareWarningTimer.running || (this.enemySign.gotoAndStop(2),
this.prepareWarningTimer.start(),
this.zombieStatus = "warning",
SoundManager.getInstance().playSound(this.soundEnemyWarn)),
"warning" == this.zombieStatus && (this.enemySign.gotoAndStop(2),
this.prepareWarningTimer.running || (this.prepareWarningTimer.start(),
SoundManager.getInstance().playSound(this.soundEnemyWarn))),
"alert" == this.zombieStatus && this.enemySign.gotoAndStop(3)) : ("alert" == GameplayState.Instance.gameStatus && (this.zombieStatus = "alert",
this.enemySign.gotoAndStop(2),
this.enemyAction = "waitForWarningWalk"),
"silent" == this.zombieStatus && "stun" != this.enemyAction && "warning_walk" != this.enemyAction && 1 != this.enemySign.currentFrame && this.resetEnemyAfterAlert(),
"warning" == this.zombieStatus && this.resetEnemyAfterAlert(),
"alert" == this.zombieStatus && (this.countDownAlertTimer.start(),
"alarm_walk" != this.enemyAction && "stun" != this.enemyAction && (this.bobCoor = GameplayState.Instance.getBobCoor(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
this.setSearchBobMode()))),
this.isBobDetected() && ("warning" == this.zombieStatus && "zombieAttack" != this.enemyAction && ("left" == this.enemyLastDirrection ? this.enemyClip.gotoLabel("standR") : this.enemyClip.gotoLabel("standL")),
"alert" == this.zombieStatus && (this.bobCoor.x < this.enemyClip.x ? this.enemyLastDirrection = "right" : this.enemyLastDirrection = "left",
this.enemySign.gotoAndStop(3),
this.enemyAction = "zombieAttack",
this.roarBegin && (SoundManager.getInstance().playSound(this.soundEnemyAlarm),
this.roarTimer.start(),
this.roarBegin = !1))),
"seeAbout" == this.enemyAction) {
var t = this.enemyClip.currentFrame - this.alarmStart + 1;
this.enemyLastDirrection = 1 <= t && t < 23 ? "left" : "right",
43 < t && (this.zombieStatus = "silent",
this.wakeUpFromStunned("endSeeAbout"))
}
"walk" != this.enemyAction || this.bobDetected || ("left" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("walkR"),
this.enemyClip.x += 1,
this.DistancePassed += 1,
this.enemySign.x = this.enemyClip.x),
"right" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("walkL"),
this.enemyClip.x -= 1,
this.DistancePassed -= 1,
this.enemySign.x = this.enemyClip.x),
("right" == this.enemyLastDirrection && this.enemyClip.x <= this.leftPosition || "left" == this.enemyLastDirrection && this.enemyClip.x >= this.rightPosition) && (this.DistancePassed = 0,
"left" == this.enemyLastDirrection ? this.enemyLastDirrection = "right" : this.enemyLastDirrection = "left",
this.enemyAction = "stand",
this.enemyClip.gotoLabel(this.enemyAction),
this.stopWalkTimer.start())),
"waitForWarningWalk" != this.enemyAction || this.bobDetected || (this.enemyClip.gotoLabel("alarm_stand"),
this.enemySign.gotoAndStop(2)),
"zombieAttack" == this.enemyAction && ("left" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("alarm_walkR"),
this.enemyClip.x += 3,
this.DistancePassedAlarm += 3,
this.DistancePassed += 3,
this.enemySign.x = this.enemyClip.x),
"right" == this.enemyLastDirrection && (this.enemyClip.gotoLabel("alarm_walkL"),
this.enemyClip.x -= 3,
this.DistancePassedAlarm -= 3,
this.DistancePassed -= 3,
this.enemySign.x = this.enemyClip.x),
(Math.abs(this.DistancePassedAlarm) >= this.bobDetectedPoint || Math.abs(this.DistancePassed) >= this.enemyClip.params.Distance) && (this.enemyAction = "waitForWarningWalk",
this.stopWarningWalkTimer.start())),
!GameplayState.Instance.isBobHide() && OzUtil.HitTest(GameplayState.Instance.theBob.bClip, GameplayState.Instance.theBob.bbody, this.enemyClip, this.bbody) && 0 == GameplayState.Instance.theBob.odorless && (GameplayState.Instance.theBob.strikeTimer.stop(),
this.catchBob(),
GameplayState.Instance.theBob.bobActive = !1)
}
,
e.prototype.catchBob = function() {
GameplayState.Instance.bobBitten = !0,
this.enemyClip.removeEventListener(this.checkFrame),
SoundManager.getInstance().playSound(this.soundEnemyBite),
GameplayState.Instance.theBob.bClip.x > this.enemyClip.x ? this.enemyClip.gotoLabel("biteR") : this.enemyClip.gotoLabel("biteL"),
this.enemyClip.addEventListener(this.biteUpdate, this)
}
,
e.prototype.biteUpdate = function(e) {
if (this.enemyClip.currentFrame < this.biteStart || this.enemyClip.currentFrame > this.biteEnd)
this.enemyClip.removeEventListener(this.biteUpdate);
else {
var t = this.biteStart + (this.biteEnd - this.biteStart + 1) / 2;
this.enemyClip.currentFrame != t - 1 && this.enemyClip.currentFrame != this.biteEnd || (GameplayState.Instance.totalAlerts = 4,
this.enemyClip.removeEventListener(this.biteUpdate))
}
}
,
e.prototype.isBobDetected = function(e) {
if (void 0 === e && (e = !1),
this.bobCoor = GameplayState.Instance.getBobCoor(),
this.bobDetected = !1,
"stun" == this.enemyAction || "shock" == this.enemyAction)
return !1;
if (GameplayState.Instance.isBobHide())
return !1;
if (this.bobCoor.x < this.rightPosition + 40 && this.bobCoor.x > this.leftPosition - 40 && Math.abs(this.enemyClip.y - this.bobCoor.y) < 30) {
if ("left" == this.enemyLastDirrection && this.bobCoor.x > this.enemyClip.x)
return this.bobDetected = !0,
"seeAbout" == this.enemyAction && this.wakeUpFromStunned("endSeeAbout"),
this.prepareWarningWalkTimer.stop(),
this.stopWarningWalkTimer.stop(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
!0;
if ("right" == this.enemyLastDirrection && this.bobCoor.x < this.enemyClip.x)
return this.bobDetected = !0,
"seeAbout" == this.enemyAction && this.wakeUpFromStunned("endSeeAbout"),
this.prepareWarningWalkTimer.stop(),
this.stopWarningWalkTimer.stop(),
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
!0;
if (0 == e && (Math.abs(this.bobCoor.x - this.enemyClip.x) < 10 || "alert" == this.zombieStatus))
return "seeAbout" == this.enemyAction && this.wakeUpFromStunned("endSeeAbout"),
this.bobDetected = !0,
this.bobDetectedPoint = Math.abs(this.bobCoor.x - this.enemyClip.x) - 20,
!0
}
return !1
}
,
e.prototype.shockEnemy = function() {
this.enemyClip.visible = !1,
this.enemyAction = "shock",
this.stopWalkTimer.stop(),
this.enemyClip.removeEventListener(this.checkFrame),
GameplayState.Instance.gameScreen.addChild(this.enemyShock),
this.enemyShock.x = this.enemyClip.x,
this.enemyShock.y = this.enemyClip.y,
this.shockTimer.start()
}
,
e.prototype.setSearchBobMode = function() {
this.bobCoor = GameplayState.Instance.getBobCoor()
}
,
e.prototype.resetEnemyAfterAlert = function() {
1 != this.enemySign.currentFrame && "seeAbout" != this.enemyAction && 0 == this.stunProgress.visible && (this.enemySign.gotoAndStop(1),
this.prepareWarningTimer.stop(),
this.enemyAction = "walk",
this.zombieStatus)
}
,
e.prototype.stopAnyActions = function() {
this.enemyClip.removeEventListener(this.checkFrame),
"stun" == this.enemyAction ? (this.stunProgressTimer.stop(),
this.countDelay.stop()) : this.enemyClip.gotoLabel("stand")
}
,
e.prototype.startActions = function() {
this.enemyClip.addEventListener(this.checkFrame, this),
"stun" == this.enemyAction && (this.cutDownTimer.delay - this.pastDelay <= 0 ? (this.pastDelay = 0,
this.stunProgressTimer.delay = this.cutDownTimer.delay / 20) : this.stunProgressTimer.delay = (this.cutDownTimer.delay - this.pastDelay) / 20,
this.stunProgressTimer.start(),
this.countDelay.start())
}
,
e.prototype.dispose = function() {
this.cutDownTimer.stop(),
this.stopWalkTimer.stop(),
this.prepareWarningTimer.stop(),
this.prepareWarningWalkTimer.stop(),
this.stopWarningWalkTimer.stop(),
this.shockTimer.stop(),
this.stunProgressTimer.stop(),
this.enemyClip.removeEventListener(this.checkFrame),
this.enemyClip = null
}
,
e
}()
, GameplayState = function(b) {
function v() {
var e = null !== b && b.apply(this, arguments) || this;
return e.PadLockTypes = ["GrayFront", "GrayLeft", "GrayRight", "GoldFront", "GoldLeft", "GoldRight"],
e.MessageFullscreenFrames = ["codeLevel", "aboutCameras", "aboutLaser", "aboutRobot", "aboutTarget", "aboutDogs", "aboutCompCode", "aboutCompCode2", "aboutAmbal", "aboutZombies", "aboutSecurity", "aboutBob", "aboutTimeBomb"],
e.canHitDir = 0,
e.lastFramePointerDown = !1,
e.thisFramePointerDown = !1,
e.processClick = !1,
e
}
return __extends(v, b),
v.prototype.changeClimbingDir = function() {
"climb" != this.theBob.BobAction && "stay2" != this.theBob.BobAction || (Input.getInstance().isDoing("up") || Input.getInstance().isDoing("down") ? (Input.getInstance().setDoing(0, "up", !1),
Input.getInstance().setDoing(0, "down", !1)) : -1 == this.lastClimbDir ? (Input.getInstance().setDoing(0, "up", !1),
Input.getInstance().setDoing(0, "down", !0),
this.lastClimbDir = 1) : (Input.getInstance().setDoing(0, "up", !0),
Input.getInstance().setDoing(0, "down", !1),
this.lastClimbDir = -1))
}
,
v.prototype.bubbleTouch = function() {
if (this.heroBubble.visible && this.heroCanWalkOrWork()) {
this.stopWalking(!1),
this.mobileWork = !0;
var e = this.heroBubble.currentFrame;
e < 10 ? (Input.getInstance().setDoing(0, "up", !0),
9 == e && (this.lastClimbDir = -1)) : 10 == e && (Input.getInstance().setDoing(0, "down", !0),
10 == e && (this.lastClimbDir = 1))
}
}
,
v.prototype.stopWorking = function(e) {
void 0 === e && (e = !0),
Game.Touch() && (this.mobileWork = !1,
e && (8 == this.heroBubble.currentFrame && Input.getInstance().isDoing("up") && this.ozKeyReleased("up"),
Input.getInstance().setDoing(0, "up", !1),
Input.getInstance().setDoing(0, "down", !1)))
}
,
v.prototype.stopWalking = function(e) {
void 0 === e && (e = !0),
e && this.stopWorking(),
this.mobileWalk = 0,
Game.Touch() && (Input.getInstance().setDoing(0, "left", !1),
Input.getInstance().setDoing(0, "right", !1),
v.HeroCross.visible = !1)
}
,
v.prototype.startWalking = function(e, t) {
var i = e - this.theBob.bClip.x;
3 < Math.abs(i) && (this.stopWorking(),
v.WalkTargetX = e,
v.WalkTargetY = this.theBob.bClip.y,
v.HeroCross.visible = !0,
Game.AdjustCross(),
this.mobileWalk = i < 0 ? -1 : 1,
this.mobileWalk < 0 ? Input.getInstance().setDoing(0, "right", !1) : Input.getInstance().setDoing(0, "left", !1))
}
,
v.prototype.heroCanWalkOrWork = function() {
return this.keyListeners && this.updateListener
}
,
v.HideMobileGUI = function() {
v.HeroCross && (v.HeroCross.visible = !1)
}
,
v.ShowMobileGUI = function() {
v.HeroCross && (v.HeroCross.visible = 0 != v.Instance.mobileWalk)
}
,
v.prototype.adjustHeroBubble = function() {
Game.Touch() && this.heroBubble.setxy(this.theBob.bClip.x - 28, this.theBob.bClip.y - 84)
}
,
v.prototype.initVars = function() {
this.lastFramePointerDown = !1,
this.thisFramePointerDown = !1,
this.processClick = !1,
this.lastCanHit = 0,
this.mobileWalk = 0,
this.lastClimbDir = 0,
this.mobileWork = !1,
this.gameScreen = new MovieClip,
this.effectsScreen = new MovieClip,
this.messageScreen = new MovieClip,
this.computerPanels = new Array,
this.minigameBlocks = new Array,
this.textCode = "",
this.theBob = new BobHero,
this.gameStatus = "silent",
this.alertTime = 700,
this.totalAlerts = 0,
this.currentAlerts = 0,
this.alertBegin = !1,
this.holeX = 0,
this.signHoleX = 1,
this.doorBreakFail = !1,
this.stairs = new Array,
this.floors = new Array,
this.walls = new Array,
this.doors = new Array,
this.sidedoors = new Array,
this.elevators = new Array,
this.padlocks = new Array,
this.codelocks = new Array,
this.transBoxes = new Array,
this.lasers = new Array,
this.lattices = new Array,
this.turrets = new Array,
this.shadows = new Array,
this.cameras = new Array,
this.enemies = new Array,
this.zombies = new Array,
this.zombiesBack = new Array,
this.moneyHides = new Array,
this.tipsHides = new Array,
this.messages = new Array,
this.wires = new Array,
this.wireLengthArray = [0, 0, 0],
this.signalsEnd = new Array,
this.holeMoveTimer = new Timer(600,0),
this.codeEnteredTimer = new Timer(500,0),
this.padlockOpenTimer = new Timer(400,0),
this.stopwatchTimer = new Timer(1e3,0),
this.countDownAlertTimer = new Timer(100,0),
this.closeElectricPanelTimer = new Timer(500,0),
this.closeTerminalTimer = new Timer(500,0),
this.bobTimerLeft = new Timer(80),
this.bobTimerRight = new Timer(80),
this.bobTimerUp = new Timer(80),
this.bobTimerTerminal = new Timer(5),
this.bustedTimer = new Timer(2e3),
this.winLevelTimer = new Timer(2e3,0),
this.levelHideTimer = new Timer(300,0),
this.levelShowTimer = new Timer(500,0),
this.levelShowMapTimer = new Timer(500,0),
this.GameplayStatemenuShowTimer = new Timer(500,0),
this.scoreCountTimer = new Timer(80,0),
this.scoreCountDelayTimer = new Timer(500,0),
this.salerTimer = new Timer(700,0),
this.mapTimer = new Timer(300,0),
this.padLeftKey = !1,
this.padRightKey = !1,
this.leftKey = !1,
this.rightKey = !1,
this.downKey = !1,
this.upKey = !1,
this.spaceKey = !1,
this.reverseKey = "",
this.leftPrev = this.rightPrev = this.upPrev = this.downPrev = this.spacePrev = !1,
this.escapePrev = this.backspacePrev = this.rPrev = this.pPrev = !1,
this.zPrev = this.xPrev = this.cPrev = !1,
this.digitPrev = new Array(10);
for (var e = 0; e < 10; e++)
this.digitPrev[e] = !1;
this.bonusType = "",
this.zxcType = 0,
this.scores = new StarsAndScores,
Fabrique.PauseHandler.getInstance().onPauseCallback.add(this.pauseGame, this, 1, "blur")
}
,
v.prototype.shutdown = function() {
Fabrique.PauseHandler.getInstance().onPauseCallback.remove(this.pauseGame, this)
}
,
v.prototype.refreshWorld = function() {
this.stairs.length = 0,
this.floors.length = 0,
this.walls.length = 0,
this.doors.length = 0,
this.sidedoors.length = 0,
this.elevators.length = 0,
this.cameras.length = 0,
this.padlocks.length = 0,
this.codelocks.length = 0,
this.messages.length = 0,
this.enemies.length = 0,
this.zombies.length = 0,
this.zombiesBack.length = 0,
this.moneyHides.length = 0,
this.tipsHides.length = 0,
this.transBoxes.length = 0,
this.lasers.length = 0,
this.lattices.length = 0,
this.turrets.length = 0,
this.shadows.length = 0,
this.wires.length = 0,
this.computerPanels.length = 0,
this.blades = null,
this.terminalPanel = null
}
,
v.prototype.buildInterface = function() {
var t = this;
(v.Instance = this).currentLevelNumber = v.currentLevel,
this.messageFullScreen = new MovieClip("MessageFullScreen"),
this.iPanel = new MovieClip("InformationPanel"),
this.iPanel.getChild("notsound").makeSoundButton(!1),
this.iPanel.getChild("notmusic").makeMusicButton(!1),
this.iPanel.getChild("restart").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("restart", function() {
t.restartGame(null)
})
}, !0, this, !0, !1),
this.iPanel.getChild("pause").makeButton(function() {
t.pauseGame("button")
}, !0, this, !0, !1),
this.iPanel.getChild("zbutton").gotoAndStop(Game.bobZButton + 1),
this.iPanel.getChild("xbutton").gotoAndStop(Game.bobXButton + 1),
this.iPanel.getChild("cbutton").gotoAndStop(Game.bobCButton + 1),
this.iPanel.getChild("zbutton").makeButton(function() {
t.ozSelectBonus("z")
}, !1, this, !1, !0, !0),
this.iPanel.getChild("xbutton").makeButton(function() {
t.ozSelectBonus("x")
}, !1, this, !1, !0, !0),
this.iPanel.getChild("cbutton").makeButton(function() {
t.ozSelectBonus("c")
}, !1, this, !1, !0, !0),
this.iPanel.getChild("zxc").visible = !Game.Touch(),
this.messageFullScreen = new MovieClip("MessageFullScreen"),
this.messageFullScreen.getChild("dc1").fatherBrother("dc2"),
this.messageFullScreen.getChild("dc1").fatherBrother("dc3"),
this.messageFullScreen.getChild("dc1").fatherBrother("dc4"),
this.codePanel = new MovieClip("CodeWindow");
for (var e = function(e) {
i.codePanel.getChild("k" + e).makeButton(function() {
t.pressCodeButton(e)
}, !1, i, !1, !1, !0, !1),
i.codePanel.getChild("k" + e).addButtonUpFunc(function() {
t.releaseCodeButton(e)
}, i),
i.codePanel.getChild("k" + e).changeButtonFrameOffset(2 * e)
}, i = this, r = 0; r < 10; r++)
e(r);
Game.Touch() ? this.codePanel.getChild("close").makeButton(function() {
t.ozKeyPressed("escape"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1) : this.codePanel.getChild("close").visible = !1,
this.padlockPanel = new MovieClip("PadlockPanel"),
Game.Touch() ? (this.padlockPanel.getChild("close").makeButton(function() {
t.ozKeyPressed("escape"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.padlockPanel.getChild("left").makeButton(function() {
t.ozKeyPressed("left")
}, !1, this, !1, !0, !0, !1),
this.padlockPanel.getChild("left").addButtonUpFunc(function() {
t.ozKeyReleased("left")
}, this),
this.padlockPanel.getChild("up").makeButton(function() {
t.ozKeyPressed("up")
}, !1, this, !1, !0, !0, !1),
this.padlockPanel.getChild("up").addButtonUpFunc(function() {
t.ozKeyReleased("up")
}, this),
this.padlockPanel.getChild("right").makeButton(function() {
t.ozKeyPressed("right")
}, !1, this, !1, !0, !0, !1),
this.padlockPanel.getChild("right").addButtonUpFunc(function() {
t.ozKeyReleased("right")
}, this)) : (this.padlockPanel.getChild("left").visible = !1,
this.padlockPanel.getChild("up").visible = !1,
this.padlockPanel.getChild("right").visible = !1,
this.padlockPanel.getChild("close").visible = !1),
this.wiresPanel = new MovieClip("TransformationPanel"),
Game.Touch() ? (this.wiresPanel.getChild("tip").gotoAndStop(2),
this.wiresPanel.getChild("close").makeButton(function() {
t.ozKeyPressed("escape"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.wiresPanel.getChild("g").makeButton(function() {
t.wiresPanel.getChild("nippers").x = 200,
t.currentCutWire = 1,
t.ozKeyPressed("space"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.wiresPanel.getChild("b").makeButton(function() {
t.wiresPanel.getChild("nippers").x = 280,
t.currentCutWire = 2,
t.ozKeyPressed("space"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.wiresPanel.getChild("o").makeButton(function() {
t.wiresPanel.getChild("nippers").x = 360,
t.currentCutWire = 3,
t.ozKeyPressed("space"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1)) : (this.wiresPanel.getChild("g").visible = !1,
this.wiresPanel.getChild("b").visible = !1,
this.wiresPanel.getChild("o").visible = !1,
this.wiresPanel.getChild("close").visible = !1),
this.wiresPanel2 = new MovieClip("TransformationPanel"),
Game.Touch() ? (this.wiresPanel2.getChild("tip").gotoAndStop(2),
this.wiresPanel2.getChild("close").makeButton(function() {
t.ozKeyPressed("escape"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.wiresPanel2.getChild("g").makeButton(function() {
t.wiresPanel2.getChild("nippers").x = 200,
t.currentCutWire = 1,
t.ozKeyPressed("space"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.wiresPanel2.getChild("b").makeButton(function() {
t.wiresPanel2.getChild("nippers").x = 280,
t.currentCutWire = 2,
t.ozKeyPressed("space"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.wiresPanel2.getChild("o").makeButton(function() {
t.wiresPanel2.getChild("nippers").x = 360,
t.currentCutWire = 3,
t.ozKeyPressed("space"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1)) : (this.wiresPanel2.getChild("g").visible = !1,
this.wiresPanel2.getChild("b").visible = !1,
this.wiresPanel2.getChild("o").visible = !1,
this.wiresPanel2.getChild("close").visible = !1),
this.terminalScreen = new MovieClip("miniGame"),
this.terminalScreenFrame = -1,
Game.Touch() ? (this.terminalScreen.getChild("close").makeButton(function() {
t.ozKeyPressed("escape"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.terminalScreen.getChild("up").makeButton(function() {
t.ozKeyPressed("up")
}, !1, this, !1, !0, !0, !1),
this.terminalScreen.getChild("down").makeButton(function() {
t.ozKeyPressed("down")
}, !1, this, !1, !0, !0, !1),
this.terminalScreen.getChild("left").makeButton(function() {
t.ozKeyPressed("left")
}, !1, this, !1, !0, !0, !1),
this.terminalScreen.getChild("right").makeButton(function() {
t.ozKeyPressed("right")
}, !1, this, !1, !0, !0, !1)) : (this.terminalScreen.getChild("close").visible = !1,
this.terminalScreen.getChild("up").visible = !1,
this.terminalScreen.getChild("down").visible = !1,
this.terminalScreen.getChild("left").visible = !1,
this.terminalScreen.getChild("right").visible = !1),
this.computerScreen = new MovieClip("ComputerScreen"),
Game.Touch() ? (this.computerScreen.getChild("close").makeButton(function() {
t.ozKeyPressed("escape"),
t.thisFramePointerDown = !0
}, !1, this, !1, !0, !0, !1),
this.computerScreen.getChild("up").makeButton(function() {
t.ozKeyPressed("up")
}, !1, this, !1, !0, !0, !1),
this.computerScreen.getChild("down").makeButton(function() {
t.ozKeyPressed("down")
}, !1, this, !1, !0, !0, !1)) : (this.computerScreen.getChild("up").visible = !1,
this.computerScreen.getChild("down").visible = !1,
this.computerScreen.getChild("close").visible = !1),
this.panicTime = new MovieClip("IndicatorPanic"),
this.panicTime.getChild("PanicaLight").playLoop(),
this.pauseScreen = new MovieClip("PauseScreen"),
this.pauseScreen.getChild("back").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("gameLose_replay", function() {
t.gotoGame(null)
})
}, !0, this, !0, !1),
h5branding.Branding.outGoingLinksAllowed() ? this.pauseScreen.getChild("walkthrough").makeButton(Game.walkthrough, !0, this, !0, !1, !0) : this.pauseScreen.getChild("walkthrough").visible = !1,
this.pauseScreen.getChild("levels").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("levels", function() {
t.gotoLevelMap(null)
})
}, !0, this, !0, !1),
this.pauseScreen.getChild("bg").inputEnabled = !0,
this.levelFailScreen = new MovieClip("FailScreen"),
this.levelFailScreen.getChild("replay").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("gameLose_replay", function() {
t.restartGame(null)
})
}, !0, this, !0, !1),
this.levelFailScreen.getChild("levelmenu").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("levels", function() {
t.gotoLevelMapScreen(null)
})
}, !0, this, !0, !1),
this.levelFailScreen.getChild("bg").inputEnabled = !0,
this.levelWinScreen = new MovieClip("WinLevelScreen"),
this.levelWinScreen.getChild("replay").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("gameWin_replay", function() {
t.restartGame(null)
})
}, !0, this, !0, !1),
this.levelWinScreen.getChild("continuelev").makeButton(function() {
Fabrique.AdHandler.getInstance().showAd("continue", function() {
t.gotoNextLevel(null)
})
}, !0, this, !0, !1),
this.levelWinScreen.getChild("time").cloneMeToChildren(3, 28),
this.levelWinScreen.getChild("score").fatherBrother("time"),
this.levelWinScreen.getChild("Money").cloneMeToChildren(3, 28),
this.levelWinScreen.getChild("score").fatherBrother("Money"),
this.levelWinScreen.getChild("trevoga").cloneMeToChildren(2, 28),
this.levelWinScreen.getChild("score").fatherBrother("trevoga"),
this.levelWinScreen.getChild("total").cloneMeToChildren(4, 28),
this.levelWinScreen.getChild("score").fatherBrother("total"),
this.levelWinScreen.getChild("newsChannel").fatherBrother("newsHead"),
this.levelWinScreen.getChild("bg").inputEnabled = !0,
this.gameTip = new MovieClip("GameTips"),
this.gameTip.visible = !1,
this.addChild(this.iPanel),
this.addChild(this.gameScreen),
Game.Touch() && (this.heroBubble = new MovieClip("guiBubble",0,0,"bubble"),
this.heroBubble.makeButton(this.bubbleTouch, !1, this, !1, !1, !0, !1),
this.addChild(this.heroBubble),
this.heroBubble.visible = !1,
v.HeroCross || (v.HeroCross = new MovieClip("guiCross",0,0,"cross"),
Game.getGame().stage.addChildAt(v.HeroCross, Game.getGame().stage.children.length - 1))),
this.addChild(this.messageScreen),
this.addChild(this.pauseScreen),
this.pauseScreen.visible = !1,
this.addChild(this.levelFailScreen),
this.levelFailScreen.visible = !1,
this.addChild(this.levelWinScreen),
this.levelWinScreen.visible = !1,
this.messageScreen.addChild(this.panicTime),
this.messageScreen.addChild(this.messageFullScreen),
this.messageFullScreen.visible = !1,
this.messageScreen.addChild(this.codePanel),
this.messageScreen.addChild(this.padlockPanel),
this.messageScreen.addChild(this.wiresPanel),
this.messageScreen.addChild(this.wiresPanel2),
this.messageScreen.addChild(this.terminalScreen),
this.messageScreen.addChild(this.computerScreen),
this.panicTime.x = 570,
this.panicTime.y = 70,
this.codePanel.visible = !1,
this.padlockPanel.visible = !1,
this.wiresPanel.visible = !1,
this.wiresPanel2.visible = !1,
this.terminalScreen.visible = !1,
this.computerScreen.visible = !1,
this.salerSpeak = !0,
this.holeMoveTimer.addEventListener(this.setHoleX, this),
this.padlockOpenTimer.addEventListener(this.padlockOpened, this),
this.codeEnteredTimer.addEventListener(this.codeEntered, this),
this.stopwatchTimer.addEventListener(this.countSeconds, this),
this.countDownAlertTimer.addEventListener(this.countSecondsAlert, this),
this.closeElectricPanelTimer.addEventListener(this.electricPanelClose, this),
this.closeTerminalTimer.addEventListener(this.terminalScreenClose, this),
this.bobTimerLeft.addEventListener(this.bobTimerLeftEnd, this),
this.bobTimerRight.addEventListener(this.bobTimerRightEnd, this),
this.bobTimerUp.addEventListener(this.bobTimerUpEnd, this),
this.bobTimerTerminal.addEventListener(this.bobTimerTerminalEnd, this),
this.bustedTimer.addEventListener(this.bustedTimerEnd, this),
this.winLevelTimer.addEventListener(this.winLevelTimerEnd, this),
this.scoreCountTimer.addEventListener(this.scoreCountPlay, this),
this.scoreCountDelayTimer.addEventListener(this.scoreCountDelayPlay, this),
this.panicTime.visible = !1
}
,
v.prototype.tvUpdateTimeScore = function(e) {
OzUtil.MakeDigits(e, this.levelWinScreen.getChild("score").getChild("time").meAndMyKids(), !0, !0),
this.tvTotalScore = e
}
,
v.prototype.tvUpdateTotalScore = function(e) {
OzUtil.MakeDigits(e, this.levelWinScreen.getChild("score").getChild("total").meAndMyKids(), !0, !0),
this.tvTotalScore = e
}
,
v.prototype.scoreCountDelayPlay = function(e) {
this.scoreCountDelayTimer.stop(),
this.scoreCountTimer.start()
}
,
v.prototype.scoreCountPlay = function(e) {
"scoreStars" != this.currentSpin ? SoundManager.getInstance().playSound("SScoreSpin", 0, null, null) : SoundManager.getInstance().playSound("SButtonWizzz", 0, null, null),
"scoreStars" == this.currentSpin && (this.levelStarsGet - 2 >= this.levelScore ? (this.levelWinScreen.getChild("gStar" + this.levelScore).playOnce(),
this.levelScore++) : this.scoreCountTimer.stop()),
"scoreAlarm" == this.currentSpin && (this.currentAlerts != 4 - this.totalAlerts ? (this.levelScore += 20,
this.currentAlerts += 1,
OzUtil.MakeDigits(this.currentAlerts, this.levelWinScreen.getChild("score").getChild("trevoga").meAndMyKids(), !0, !0),
this.tvUpdateTotalScore(this.tvTotalScore + 20)) : (this.levelScore = 1,
this.currentSpin = "scoreStars",
this.scoreCountTimer.stop(),
this.scoreCountDelayTimer.start())),
"scoreMoney" == this.currentSpin && (this.levelScore >= this.moneyCollected || this.moneyCollected <= 10 ? (this.levelScore = 0,
OzUtil.MakeDigits(this.moneyCollected, this.levelWinScreen.getChild("score").getChild("Money").meAndMyKids(), !0, !0),
this.tvUpdateTotalScore(this.tvTimeScore + this.moneyCollected),
this.currentSpin = "scoreAlarm",
this.currentAlerts = 0,
this.scoreCountTimer.stop(),
this.scoreCountDelayTimer.start()) : (this.levelScore += this.moneyCollected / 10,
OzUtil.MakeDigits(this.levelScore, this.levelWinScreen.getChild("score").getChild("Money").meAndMyKids(), !0, !0),
this.tvUpdateTotalScore(this.tvTimeScore + this.levelScore))),
"scoreTime" == this.currentSpin && (1 == this.pastTime && (this.pastTime = 0),
this.levelScore >= this.pastTime || this.pastTime <= 10 ? (this.levelScore = 0,
this.tvUpdateTimeScore(this.pastTime),
this.tvUpdateTotalScore(this.pastTime),
this.currentSpin = "scoreMoney",
this.scoreCountTimer.stop(),
this.scoreCountDelayTimer.start()) : (this.levelScore += this.pastTime / 10,
this.tvUpdateTimeScore(this.levelScore),
this.tvUpdateTotalScore(this.levelScore)))
}
,
v.prototype.ozShowAndSaveScore = function(e) {
if (SoundManager.getInstance().stopSound("SAnnouncer"),
this.levelWinScreen.removeEventListener(this.updateScoreCount),
this.levelWinScreen.getChild("newsChannel").getChild("newsHead").gotoAndStop(75),
this.levelWinScreen.getChild("stripes").visible = !1,
this.levelWinScreen.getChild("newsChannel").visible = !1,
this.levelWinScreen.getChild("score").visible = !0,
this.levelStarsGet = this.scores.getStars(this.moneyCollected - this.scores.getTimeForStars(this.pastTime, this.currentLevelNumber) - .1 * this.scores.getMoney(this.currentLevelNumber) * this.totalAlerts, this.currentLevelNumber),
this.pastTime = this.scores.getTime(this.pastTime, this.currentLevelNumber),
Game.levelsScore[this.currentLevelNumber - 1] < this.pastTime + this.moneyCollected + .1 * this.scores.getMoney(this.currentLevelNumber) * (4 - this.totalAlerts) && (Game.levelsScore[this.currentLevelNumber - 1] = this.pastTime + this.moneyCollected + .1 * this.scores.getMoney(this.currentLevelNumber) * (4 - this.totalAlerts),
Game.totalScore = Game.totalPoints()),
Game.totalMoney += this.moneyCollected,
OzUtil.MakeDigits(e ? Math.round(this.pastTime) : 0, this.levelWinScreen.getChild("score").getChild("time").meAndMyKids(!0), !0, !0),
OzUtil.MakeDigits(e ? Math.round(this.moneyCollected) : 0, this.levelWinScreen.getChild("score").getChild("Money").meAndMyKids(!0), !0, !0),
OzUtil.MakeDigits(e ? Math.round(4 - this.totalAlerts) : 0, this.levelWinScreen.getChild("score").getChild("trevoga").meAndMyKids(!0), !0, !0),
OzUtil.MakeDigits(e ? Math.round(Game.levelsScore[this.currentLevelNumber - 1]) : 0, this.levelWinScreen.getChild("score").getChild("total").meAndMyKids(!0), !0, !0),
11 != this.currentLevelNumber && (Game.levelsStatus[this.currentLevelNumber] = "open"),
Game.levelsStars[this.currentLevelNumber - 1] < this.levelStarsGet - 2 && (Game.levelsStars[this.currentLevelNumber - 1] = this.levelStarsGet - 2),
1 == this.iPanel.getChild("zbutton").currentFrame && 0 < Game.bobZButton && (Game.gameShopItems[Game.bobZButton - 1]--,
Game.bobZButton = 0),
1 == this.iPanel.getChild("xbutton").currentFrame && 0 < Game.bobXButton && (Game.gameShopItems[Game.bobXButton - 1]--,
Game.bobXButton = 0),
1 == this.iPanel.getChild("cbutton").currentFrame && 0 < Game.bobCButton && (Game.gameShopItems[Game.bobCButton - 1]--,
Game.bobCButton = 0),
Game.saveCookies(),
e)
for (var t = 1; t <= Game.levelsStars[this.currentLevelNumber - 1]; t++)
this.levelWinScreen.getChild("gStar" + t).gotoAndStop(8);
else
this.currentSpin = "scoreTime",
this.scoreCountTimer.start()
}
,
v.prototype.gotoLevelMap = function(e) {
this.switchState(states.LevelsState.Name)
}
,
v.prototype.gotoLevelMapScreen = function(e) {
this.switchState(states.LevelsState.Name, !1)
}
,
v.prototype.gotoNextLevel = function(e) {
this.levelWinScreen.getChild("newsChannel").getChild("newsHead").currentFrame < 75 ? this.ozShowAndSaveScore(!0) : (this.stopTheGame(),
this.scoreCountTimer.stop(),
this.iPanel.visible = !1,
this.levelFailScreen.visible = !1,
this.levelWinScreen.visible = !1,
2 == this.currentLevelNumber ? (states.LevelsState.To = "Shop",
this.switchState(states.LevelsState.Name, !1)) : this.gotoLevelMapScreen(null))
}
,
v.prototype.panicTime_gotoAndStop = function(e) {
this.panicTime.getChild("so").visible = this.panicTime.getChild("de").visible = this.panicTime.getChild("ed").visible = this.panicTime.getChild("PanicaDots").visible = e < 3,
this.panicTime.getChild("PanicaLight").visible = 1 < e
}
,
v.prototype.winLevelTimerEnd = function(e) {
var t = this;
this.winLevelTimer.stop(),
this.stopTheGame(),
this.restartKeyListener = !1,
10 == this.currentLevelNumber ? (this.mc = new MovieClip,
this.addChild(this.mc),
states.Story.MakeAnimation(this.mc, 4, 5, function() {
t.showWin()
}, this)) : this.showWin()
}
,
v.prototype.showWin = function() {
h5branding.gameanalytics.addProgressionEvent(h5branding.EGAProgressionStatus.Complete, v.currentLevel + ""),
this.gameScreen.visible = !1,
this.restartKeyListener = !0,
this.levelWinScreen.getChild("stripes").playLoop(),
this.levelWinScreen.getChild("newsChannel").getChild("newsHead").playOnce(),
this.levelWinScreen.getChild("score").visible = !1,
this.levelWinScreen.addEventListener(this.updateScoreCount, this),
this.levelWinScreen.visible = !0,
v.HideMobileGUI(),
SoundManager.getInstance().playSound("SAnnouncer"),
this.iPanel.visible = !1
}
,
v.prototype.updateScoreCount = function(e) {
75 == this.levelWinScreen.getChild("newsChannel").getChild("newsHead").currentFrame && this.ozShowAndSaveScore(!1)
}
,
v.prototype.electricPanelClose = function(e) {
this.closeElectricPanelTimer.stop(),
this.wiresPanel.visible = !1,
this.wiresPanel2.visible = !1,
this.transBoxes[this.theBob.currentElectricPanelId].gotoAndStop(2),
this.transBoxes[this.theBob.currentElectricPanelId].params.Locked = !1,
this.wiresPanel.getChild("nippers").gotoAndStop(1),
this.wiresPanel2.getChild("nippers").gotoAndStop(1),
this.ActivateControls()
}
,
v.prototype.terminalScreenClose = function(e) {
this.closeTerminalTimer.stop(),
this.terminalScreen.visible = !1,
this.minigameBlocks.length = 0,
this.ActivateControls()
}
,
v.prototype.countSecondsAlert = function(e) {
if (this.alertTime -= 10,
this.calcAlertTime(),
0 == this.alertTime) {
this.countDownAlertTimer.stop(),
this.panicTime.visible = !1,
this.gameStatus = "silent",
this.alertBegin = !1;
for (var t = 0; t < this.lattices.length; t++)
this.lattices[t].gotoLabel("close"),
this.lattices[t].params.Locked = !1;
for (var i = 0; i < this.turrets.length; i++)
this.turrets[i].gotoLabel("open"),
this.turrets[i].params.Locked = !1
}
}
,
v.prototype.calcAlertTime = function() {
var e = Math.floor(this.alertTime / 1e3)
, t = Math.floor((this.alertTime - 1e3 * e) / 100)
, i = Math.floor((this.alertTime - 1e3 * e - 100 * t) / 10);
this.panicTime.getChild("so").gotoAndStop(t + 1),
this.panicTime.getChild("de").gotoAndStop(i + 1),
this.panicTime.getChild("ed").gotoAndStop(this.alertTime - 100 * t - 10 * i + 1)
}
,
v.prototype.countSeconds = function(e) {
this.pastTime++,
this.calcTime(),
10 == this.currentLevelNumber && this.gameTarget.visible && this.calcBombTime(150 - this.pastTime)
}
,
v.prototype.calcBombTime = function(e) {
var t, i;
i = e % 60,
t = Math.floor(e / 60) % 60,
this.bombTimer.visible = !0,
0 <= e && (OzUtil.MakeDigits(t, [this.bombTimer.getChild("m1"), this.bombTimer.getChild("m2")], !0, !1),
OzUtil.MakeDigits(i, [this.bombTimer.getChild("s1"), this.bombTimer.getChild("s2")], !1, !1)),
0 == e && (this.waterInfect.playOnce(),
this.bustedTimer.start())
}
,
v.prototype.ozTail = function(e) {
this.bobTail = new MovieClip(e),
this.effectsScreen.addChild(this.bobTail),
this.bobTail.x = this.theBob.bClip.x,
this.bobTail.y = this.theBob.bClip.y,
this.bobTail.addAnimation("play", 1, 15, -1, !1, this.bobTail.remove, this.bobTail),
this.bobTail.gotoLabel("play")
}
,
v.prototype.bobTimerLeftEnd = function(e) {
this.bobTimerLeft.stop(),
this.ozTail("BobTailLeft")
}
,
v.prototype.bobTimerRightEnd = function(e) {
this.bobTimerRight.stop(),
this.ozTail("BobTailRight")
}
,
v.prototype.bobTimerUpEnd = function(e) {
this.bobTimerUp.stop(),
this.ozTail("BobTailUp")
}
,
v.prototype.bobTimerTerminalEnd = function(e) {
4 == this.terminalScreen.getChild("key").currentFrame && (this.bobTimerTerminal.stop(),
this.terminalScreen.getChild("key").gotoAndStop(1),
this.terminalScreen.getChild("key").x = this.terminalScreen.getChild("testKey").x,
this.terminalScreen.getChild("key").y = this.terminalScreen.getChild("testKey").y,
SoundManager.getInstance().playSound("SBeepKey"),
this.terminalKeyMove()),
OzUtil.HitTest(this.terminalScreen.getChild("key"), null, this.terminalScreen.getChild("target"), null) && (this.terminalPanel.params.Locked = !1,
this.terminalScreen.getChild("key").visible = !1,
this.terminalKeyListeners = !1,
this.terminalScreen.getChild("target").gotoAndStop(2),
this.bobTimerTerminal.stop(),
this.closeTerminalTimer.start(),
this.findDoorToOpen("terminal"))
}
,
v.prototype.bustedTimerEnd = function(e) {
h5branding.gameanalytics.addProgressionEvent(h5branding.EGAProgressionStatus.Fail, v.currentLevel + ""),
this.bustedTimer.stop(),
this.stopTheGame(),
this.gameScreen.visible = !1,
this.levelFailScreen.visible = !0,
v.HideMobileGUI(),
this.restartKeyListener = !0,
this.iPanel.visible = !1
}
,
v.prototype.terminalKeyMove = function() {
var e = !1;
if (this.terminalScreen.getChild("testKey").x + 25 < 490 && "right" == this.keyDirection ? this.terminalScreen.getChild("testKey").x += 25 : this.terminalScreen.getChild("testKey").y + 25 < 360 && "down" == this.keyDirection ? this.terminalScreen.getChild("testKey").y += 25 : 160 < this.terminalScreen.getChild("testKey").x - 25 && "left" == this.keyDirection ? this.terminalScreen.getChild("testKey").x -= 25 : 100 < this.terminalScreen.getChild("testKey").y - 25 && "up" == this.keyDirection ? this.terminalScreen.getChild("testKey").y -= 25 : (SoundManager.getInstance().playSound("SAccessDenied"),
this.changeMiniGameFrame(4),
this.terminalScreen.getChild("key").visible = !1,
this.terminalKeyListeners = !1,
this.bobTimerTerminal.stop(),
this.closeTerminalTimer.start()),
4 != this.terminalScreenFrame) {
for (var t = 0; t < this.minigameBlocks.length; t++)
OzUtil.HitTest(this.terminalScreen.getChild("testKey"), null, this.minigameBlocks[t], null) && ("left" == this.keyDirection && (this.terminalScreen.getChild("testKey").x += 25),
"right" == this.keyDirection && (this.terminalScreen.getChild("testKey").x -= 25),
"up" == this.keyDirection && (this.terminalScreen.getChild("testKey").y += 25),
"down" == this.keyDirection && (this.terminalScreen.getChild("testKey").y -= 25),
e = !0);
e || (this.terminalScreen.getChild("key").gotoAndStop(1),
this.terminalScreen.getChild("key").playOnce(),
this.bobTimerTerminal.start())
}
}
,
v.prototype.setHoleX = function(e) {
this.signHoleX *= -1,
this.holeX = 1 * Math.random() + 1
}
,
v.prototype.padlockOpened = function(e) {
if (this.padlockOpenTimer.stop(),
this.doorBreakFail)
return this.padlockPanel.getChild("lockBase").getChild("duga").gotoAndStop(1),
this.padlockPanel.getChild("lockBase").getChild("larva").gotoAndStop(1),
this.padlockPanel.getChild("lockBase").getChild("pick").gotoAndStop(1),
this.padlockPanel.visible = !1,
this.padlockPanel.getChild("lockBase").getChild("pick").y = 187,
void this.ActivateControls();
1 < this.padlockPanel.getChild("lockBase").getChild("pick").currentFrame && null == this.twPadlockDuga ? (this.twPadlockDuga = TweenMax.to(this.padlockPanel.getChild("lockBase").getChild("duga"), .2, {
y: -282
}),
this.padlockPanel.getChild("lockBase").getChild("larva").gotoAndStop(this.padlockPanel.getChild("lockBase").getChild("larva").currentFrame + 1),
SoundManager.getInstance().playSound("SUnlock"),
this.padlockOpenTimer.start()) : null != this.twPadlockDuga && (this.twPadlockDuga.kill(),
this.twPadlockDuga = null,
this.padlockPanel.getChild("lockBase").getChild("duga").y = -222,
this.padlockPanel.getChild("lockBase").getChild("larva").gotoAndStop(1),
this.padlockPanel.getChild("lockBase").getChild("pick").gotoAndStop(1),
this.padlockPanel.visible = !1,
1 == this.currentLevelNumber && (this.padlockPanel.getChild("tip").visible = !1),
this.ActivateControls(),
this.findDoorToOpen())
}
,
v.prototype.codeEntered = function(e) {
this.codeEnteredTimer.stop(),
this.textCode == this.theBob.currentDoorCode ? (this.findDoorToOpen("code"),
this.codelocks[this.theBob.currentPadlockNumber].params.Locked = !1,
SoundManager.getInstance().playSound("SAccessGranted")) : SoundManager.getInstance().playSound("SAccessDenied"),
this.textCode = "",
this.codePanel.visible = !1,
this.ActivateControls()
}
,
v.prototype.setMessageDoorCode = function(e) {
OzUtil.MakeDigits(parseInt(e), this.messageFullScreen.getChild("dc1").meAndMyKids(), !1, !1)
}
,
v.prototype.createLevel = function(e, t) {
var a;
void 0 === t && (t = "buttons");
var n;
this.currentLevelNumber = e;
for (var h, i = (a = new MovieClip("Level" + (e < 10 ? "0" : "") + e)).numChildren, r = function(e) {
var t = a.getChildAt(0);
if ("[object Poster]" == (n = "[object " + t.mc + "]"))
c.poster = t,
c.gameScreen.addChild(c.poster);
else if ("[object bombTimer]" == n)
t.visible = !1,
c.bombTimer = t,
c.gameScreen.addChild(c.bombTimer);
else if ("[object WaterInfect]" == n)
c.waterInfect = t,
c.gameScreen.addChild(c.waterInfect);
else if ("[object Level9Box]" == n)
c.level9Box = t,
c.gameScreen.addChild(c.level9Box);
else if ("[object PrisonGift]" == n)
c.prisonGift = t,
c.gameScreen.addChild(c.prisonGift),
c.prisonGift.visible = !1;
else if ("[object Captive]" == n)
c.captive = t,
c.gameScreen.addChild(c.captive);
else if ("[object ZombieBack]" == n)
c.zombiesBack.push(t),
c.gameScreen.addChild(t);
else if ("[object GameTarget]" == n)
t.playLoop(),
c.gameTarget = t,
c.gameScreen.addChild(c.gameTarget);
else if ("[object GameExit]" == n)
t.playLoop(),
c.gameExit = t,
c.gameScreen.addChild(c.gameExit),
c.gameExit.visible = !1;
else if ("[object Effects]" == n)
c.effectsScreen = t,
c.gameScreen.addChild(c.effectsScreen),
t.addChild(c.theBob.lightning);
else if ("[object Bob]" == n)
t.scaleX = t.scaleY = 1,
c.theBob.bClip = t,
c.gameScreen.addChild(c.theBob.bClip),
c.theBob.reset();
else if ("[object BobBack]" == n) {
t.scaleX = t.scaleY = 1;
var i = new MovieClip("Bob",t.x,t.y);
c.theBob.addBobAnimations(i),
c.theBob.bClipBack = i,
a.removeChild(t),
c.gameScreen.addChild(i),
c.theBob.bClipBack.gotoLabel("stay")
} else if ("[object Blades]" == n)
t.addAnimation("spin", 1, 10),
t.addAnimation("stop", 11, 35, -1, !1),
t.gotoLabel("spin"),
c.blades = t,
c.gameScreen.addChild(c.blades);
else if ("[object ProgressBarSkill]" == n)
c.theBob.bProgressSkill = t,
c.gameScreen.addChild(c.theBob.bProgressSkill),
c.theBob.bProgressSkill.visible = !1,
c.theBob.bProgressSkill.gotoAndStop(1);
else if ("[object Stair]" == n)
c.stairs.push(t),
c.gameScreen.addChild(t);
else if ("[object Floor]" == n)
c.floors.push(t),
c.gameScreen.addChild(t);
else if ("[object Wall]" == n)
c.walls.push(t),
c.gameScreen.addChild(t);
else if ("[object Door]" == n)
c.doors.push(t),
c.gameScreen.addChild(t),
t.params.Open || (t.addChild(new MovieClip("Door" + t.params.DoorType,0,0,"door")),
t.getChild("door").registerAnimation("open", 1, 10, -1, !1, t.getChild("door").remove, t.getChild("door")));
else if ("[object SideDoor]" == n) {
if (c.sidedoors.push(t),
c.gameScreen.addChild(t),
t.params.Open && (t.visible = !1),
(h = ["Wood1", "Wood2", "Steel1", "Mass", "policeDoor", "Wood3", "BankDoor"].indexOf(t.params.DoorType)) < 0)
throw new Error("Invalid door name");
t.getChild("l").gotoAndStop(h + 1),
t.getChild("r").gotoAndStop(h + 1)
} else if ("[object Elevator]" == n)
t.scaleX = t.scaleY = 1,
c.elevators.push(t),
c.gameScreen.addChild(t),
t.getChild("door").addAnimation("open", 1, 10, -1, !1),
t.getChild("door").addAnimation("close", 11, 20, -1, !1),
t.getChild("bob").visible = !1;
else if ("[object VideoCamera]" == n)
c.cameras.push(new Camera(t)),
c.gameScreen.addChild(t),
c.cameras[c.cameras.length - 1].cameraClipPassed = new MovieClip("VideoCameraPassed"),
c.gameScreen.addChild(c.cameras[c.cameras.length - 1].cameraClipPassed),
c.cameras[c.cameras.length - 1].setupCameraPassed();
else if ("[object Padlock]" == n) {
c.padlocks.push(t),
c.gameScreen.addChild(t);
var r = c.PadLockTypes.indexOf(t.params.PadlockType);
if (r < 0)
throw new Error("INVALID PADLOCK TYPE " + t.params.PadlockType);
t.gotoAndStop(r + 1)
} else if ("[object Codelock]" == n)
c.codelocks.push(t),
c.gameScreen.addChild(t),
1 < c.currentLevelNumber && (t.params.Code = c.makeRandom4DigitCode());
else if ("[object ElectricPanel]" == n)
c.transBoxes.push(t),
c.gameScreen.addChild(t);
else if ("[object Terminal]" == n)
t.visible = !1,
c.terminalPanel = t,
c.gameScreen.addChild(t);
else if ("[object Computer]" == n)
t.visible = !1,
c.computerPanels.push(t),
c.gameScreen.addChild(t),
0 == c.computerScreen.getChild("doorcode").numChildren && (c.computerScreen.getChild("doorcode").cloneMeToChildren(3, 18),
c.computerScreen.getChild("doorcode2").cloneMeToChildren(3, 18),
c.computerScreen.params.doorcode = c.makeRandom4DigitCode(),
c.computerScreen.params.doorcode2 = c.makeRandom4DigitCode(),
OzUtil.MakeDigits(parseInt(c.computerScreen.params.doorcode), c.computerScreen.getChild("doorcode").meAndMyKids(), !1, !1),
OzUtil.MakeDigits(parseInt(c.computerScreen.params.doorcode2), c.computerScreen.getChild("doorcode2").meAndMyKids(), !1, !1));
else if ("[object Laser]" == n)
c.lasers.push(t),
c.gameScreen.addChild(t),
t.gotoAndStop(t.params.Type);
else if ("[object Lattice]" == n || "[object Lattice2]" == n)
t.addAnimation("open", 1, 15, -1, !1),
t.addAnimation("close", 16, 30, -1, !1),
c.lattices.push(t),
c.gameScreen.addChild(t);
else if ("[object Turret]" == n)
t.addAnimation("close", 1, 14, -1, !1),
t.addAnimation("fire", 14, 23, -1, !1, function() {
t.gotoAndStop(14)
}, c),
t.addAnimation("open", 24, 39, -1, !1, function() {
t.gotoAndStop(1)
}, c),
c.turrets.push(t),
c.gameScreen.addChild(t);
else if ("[object Shadow]" == n)
c.shadows.push(t),
c.gameScreen.addChild(t);
else if ("[object Robot]" == n || "[object Security]" == n || "[object Oldman]" == n || "[object Policeman]" == n || "[object Ambal]" == n || "[object Securityman]" == n || "[object Dog]" == n)
t.scaleX = t.scaleY = 1,
c.enemies.push(new Enemy(t,n)),
c.gameScreen.addChild(t);
else if ("[object Zombieman]" == n)
c.zombies.push(new Zombie(t)),
c.gameScreen.addChild(t);
else if ("[object Message]" == n) {
c.messages.push(t),
c.gameScreen.addChild(t);
var o = c.MessageFullscreenFrames.indexOf(t.params.LinkTo);
if (o < 0)
throw new Error("MESSAGE FRAME NOT FOUND");
if ("codeLevel" == t.params.LinkTo || "aboutBob" == t.params.LinkTo) {
c.messageFullScreen.getChild("text").gotoAndStop(o + 1);
var s = c.makeRandom4DigitCode();
c.setMessageDoorCode(s),
c.messageFullScreen.params.DoorCode = s
} else
c.messageFullScreen.getChild("dc1").visible = !1
} else
"[object MoneyBonus]" == n ? (c.moneyHides.push(t),
c.gameScreen.addChild(t),
t.visible = !1) : "[object TipInGame]" == n ? (c.tipsHides.push(t),
c.gameScreen.addChild(t),
t.visible = !1) : c.gameScreen.addChild(t)
}, c = this, o = 0; o < i; o++)
r();
for (var s = 0; s < this.enemies.length; s++)
this.gameScreen.addChild(this.enemies[s].enemySign),
this.enemies[s].enemySign.x = this.enemies[s].enemyClip.x,
this.enemies[s].enemySign.y = this.enemies[s].enemyClip.y - 40;
for (var l = 0; l < this.zombies.length; l++)
this.gameScreen.addChild(this.zombies[l].enemySign),
this.zombies[l].enemySign.x = this.zombies[l].enemyClip.x,
this.zombies[l].enemySign.y = this.zombies[l].enemyClip.y - 40;
this.gameScreen.contains(this.gameTip) && this.gameScreen.removeChild(this.gameTip),
1 == this.currentLevelNumber && 0 == Game.levelsScore[0] ? this.gameScreen.addChild(this.gameTip) : 3 == this.currentLevelNumber && 0 == Game.levelsScore[2] && "restart" != t && this.gameScreen.addChild(this.gameTip),
SoundManager.getInstance().playSound("SGameMusic"),
this.timeDigits = [this.iPanel.getChild("t1"), this.iPanel.getChild("t2"), this.iPanel.getChild("t3")],
this.moneyDigits = [this.iPanel.getChild("m1"), this.iPanel.getChild("m2"), this.iPanel.getChild("m3"), this.iPanel.getChild("m4")],
this.pastTime = 0,
this.calcTime(),
this.moneyCollected = 0,
this.calcMoney(),
this.gameStatus = "silent",
this.alertBegin = !1,
this.transformatorPanelOpen = !1,
this.transformatorPanel2Open = !1,
this.computerPanelOpen = !1,
this.gamePaused = !1,
this.startTheGame(),
this.stopwatchTimer.start(),
this.levelShowTimer.start()
}
,
v.prototype.gotoGame = function(e) {
this.updateListener = !0,
this.stopwatchTimer.start(),
this.theBob.bClip.visible = !0,
this.theBob.bClipBack.visible = !1,
this.theBob.BobAction = "stay",
this.checkBobShadows(),
"alert" == this.gameStatus && this.countDownAlertTimer.start();
for (var t = 0; t < this.enemies.length; t++)
this.enemies[t].startActions();
for (var i = 0; i < this.zombies.length; i++)
this.zombies[i].startActions();
for (var r = 0; r < this.cameras.length; r++)
this.cameras[r].startTurn();
this.theBob.startMove(),
this.pauseScreen.visible = !1,
this.gamePaused = !1,
v.HeroCross && (v.HeroCross.visible = 0 != this.mobileWalk)
}
,
v.prototype.pauseGame = function(e) {
h5branding.google.sendScreenView(e + "_game_pause"),
v.HideMobileGUI(),
this.updateListener = !1,
this.stopwatchTimer.stop(),
"alert" == this.gameStatus && this.countDownAlertTimer.running && this.countDownAlertTimer.stop();
for (var t = 0; t < this.enemies.length; t++)
this.enemies[t].stopAnyActions();
for (var i = 0; i < this.zombies.length; i++)
this.zombies[i].stopAnyActions();
for (var r = 0; r < this.cameras.length; r++)
this.cameras[r].stopTurn();
this.theBob.stopMove(),
this.pauseScreen.visible = !0,
this.gamePaused = !0
}
,
v.prototype.GoThroughElevator = function() {
this.keyListeners = !1,
this.theBob.bobActive = !1,
SoundManager.getInstance().stopSound("SBobWalk"),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.theBob.bClip.x = this.theBob.currentElevatorX,
this.theBob.BobAction = "goIn",
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.theBob.fadeOutElev.start()
}
,
v.prototype.findElevatorOut = function() {
for (var e = 0; e < this.doors.length; e++)
if (this.elevators[e].params.idGroup == this.theBob.currentElevatorGroupId && this.elevators[e].y != this.theBob.currentElevatorY)
return this.theBob.currentElevatorNumber = e,
this.elevators[e].y + 10;
return this.theBob.currentElevatorY
}
,
v.prototype.ActivateControls = function() {
this.keyListeners = !0,
this.leftKey = !1,
this.rightKey = !1,
this.spaceKey = !1,
this.theBob.BobAction = "stay"
}
,
v.prototype.isBobHide = function() {
return !!(this.theBob.bClipBack.visible && 68 == this.theBob.bClipBack.currentFrame || this.theBob.bobInShadow)
}
,
v.prototype.findDoorOut = function() {
for (var e = 0; e < this.doors.length; e++)
if (this.doors[e].params.idGroup == this.theBob.currentDoorGroupId && this.doors[e].y != this.theBob.currentDoorY)
return this.doors[e].params.Open ? new Vector2(this.doors[e].x,this.doors[e].y + 10) : new Vector2(this.doors[e].x,this.theBob.currentDoorY + 10);
return new Vector2(this.doors[e].x,this.doors[e].y)
}
,
v.prototype.makeRandom4DigitCode = function() {
var e = "0" + Math.floor(10 * Math.random()) + Math.floor(10 * Math.random()) + "0";
return Game.DEBUG,
e
}
,
v.prototype.getLevelNumber = function() {
return this.currentLevelNumber
}
,
v.prototype.calcTime = function() {
OzUtil.MakeDigits(Math.min(999, this.pastTime), this.timeDigits, !0, !1)
}
,
v.prototype.calcMoney = function() {
OzUtil.MakeDigits(Math.min(9999, this.moneyCollected), this.moneyDigits, !0, !1)
}
,
v.prototype.updateWorld = function(e) {
var t = this;
if (1 != this.currentLevelNumber && 3 != this.currentLevelNumber || this.BobOnTip(),
5 == this.currentLevelNumber && OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.poster, null) && this.poster.gotoAndStop(2),
"busted" != this.theBob.BobAction && (0 == this.theBob.runShadow ? 0 == this.messageFullScreen.visible && "work" != this.theBob.BobAction && this.theBob.bobActive && this.checkBobShadows() : this.checkBobShadowsRuns()),
4 == this.totalAlerts && "busted" != this.theBob.BobAction) {
this.theBob.bClip.visible = !0,
this.theBob.bClipBack.visible = !1,
this.theBob.reset(),
this.theBob.bobActive = !1,
this.theBob.BobAction = "busted",
this.stopTheGame();
var i = new MovieClip("Busted");
i.setxy(325, 233),
i.scaleX = i.scaleY = 0,
this.gameScreen.addChild(i),
TweenMax.to(i, .7, {
scaleX: 1,
scaleY: 1,
easing: "Elastic.easeIn"
}),
TweenMax.delayedCall(2, function() {
t.gameScreen.removeChild(i)
}, this),
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
SoundManager.getInstance().playSound("SBobBusted"),
this.bustedTimer.start()
}
if (this.BobOnLasers() && (this.gameStatus = "alert",
this.alertBegin || (this.totalAlerts++,
this.iPanel.getChild("alerts").gotoAndStop(this.totalAlerts + 1),
this.alertBegin = !0,
4 == this.totalAlerts && this.stopTheGame(!1)),
this.countDownAlertTimer.stop(),
this.panicTime_gotoAndStop(3),
SoundManager.getInstance().playSound("SSiren")),
this.padLeftKey)
(r = this.padlockPanel.getChild("lockBase")).getChild("hole").visible && -80 < r.getChild("hole").x && (r.getChild("hole").x -= 5),
1 == r.getChild("pick").currentFrame && -80 < r.getChild("hole1").x && (r.getChild("hole1").x -= 5),
3 == r.getChild("pick").currentFrame && -80 < r.getChild("hole2").x && (r.getChild("hole2").x -= 5);
else if (this.padRightKey) {
var r;
(r = this.padlockPanel.getChild("lockBase")).getChild("hole").visible && r.getChild("hole").x < 80 && (r.getChild("hole").x += 5),
1 == r.getChild("pick").currentFrame && r.getChild("hole1").x < 80 && (r.getChild("hole1").x += 5),
3 == r.getChild("pick").currentFrame && r.getChild("hole2").x < 80 && (r.getChild("hole2").x += 5)
}
if (this.checkGameSituation(),
"alert" == this.gameStatus) {
if (0 == this.panicTime.visible) {
SoundManager.getInstance().playSound("SRobberDanger");
for (var o = 0; o < this.lattices.length; o++)
this.lattices[o].gotoLabel("open"),
this.lattices[o].params.Locked = !0;
for (var s = 0; s < this.turrets.length; s++)
this.turrets[s].base_play(),
this.turrets[s].params.Locked = !0
}
this.checkBobOnFireLine(),
this.panicTime.visible = !0
} else
SoundManager.getInstance().playSound("SGameMusic");
this.theBob.wallLeft = !1,
this.theBob.wallRight = !1;
for (var a = 0; a < this.walls.length; a++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.leftHand, this.walls[a], null)) {
this.theBob.wallLeft = !0;
break
}
for (var n = 0; n < this.walls.length; n++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.rightHand, this.walls[n], null)) {
this.theBob.wallRight = !0;
break
}
for (var h = 0; h < this.sidedoors.length; h++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.leftHand, this.sidedoors[h], v.SideDoorRect) && this.sidedoors[h].visible) {
this.theBob.wallLeft = !0;
break
}
for (var c = 0; c < this.sidedoors.length; c++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.rightHand, this.sidedoors[c], v.SideDoorRect) && this.sidedoors[c].visible) {
this.theBob.wallRight = !0;
break
}
for (var l = 0; l < this.lattices.length; l++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.leftHand, this.lattices[l], v.LatticeRect) && this.lattices[l].params.Locked) {
this.theBob.wallLeft = !0;
break
}
for (var m = 0; m < this.lattices.length; m++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.rightHand, this.lattices[m], v.LatticeRect) && this.lattices[m].params.Locked) {
this.theBob.wallRight = !0;
break
}
if ((0 < this.mobileWalk && this.theBob.wallRight || this.mobileWalk < 0 && this.theBob.wallLeft) && this.stopWalking(),
null != this.blades && OzUtil.HitTest(this.theBob.bClip, null, this.blades, null) && this.blades.currentFrame <= 10 && (this.theBob.wallRight = !0),
0 != this.mobileWalk && (this.mobileWalk < 0 && this.theBob.bClip.x <= v.WalkTargetX || 0 < this.mobileWalk && this.theBob.bClip.x >= v.WalkTargetX) && (this.theBob.bClip.x = v.WalkTargetX,
this.stopWalking()),
this.BobOnElevator(),
this.theBob.bobActive && (this.BobOnStairs() && !this.BobOnFloor() || "climb" == this.theBob.BobAction || "stay2" == this.theBob.BobAction || (this.leftKey && (this.theBob.wallLeft || (this.theBob.speedUp ? (this.bobTimerLeft.running || this.bobTimerLeft.start(),
this.theBob.bClip.x -= 5) : this.theBob.bClip.x -= 2.5),
this.theBob.strikeTimer.running || (this.theBob.BobAction = "goleft")),
this.rightKey && (this.theBob.wallRight || (this.theBob.speedUp ? (this.bobTimerRight.running || this.bobTimerRight.start(),
this.theBob.bClip.x += 5) : this.theBob.bClip.x += 2.5),
this.theBob.strikeTimer.running || (this.theBob.BobAction = "goright"))),
this.upKey && !this.theBob.strikeTimer.running && (this.BobOnStairs() && (!this.BobOnFloor() || 0 == this.theBob.twoStairs && this.theBob.currentStairY < this.theBob.bClip.y || this.theBob.twoStairs && this.theBob.currentStairY2 < this.theBob.bClip.y && 0 == this.leftKey) ? (this.theBob.BobAction = "climb",
this.theBob.bClip.x = this.theBob.currentStairX,
SoundManager.getInstance().stopSound("SBobWalk"),
SoundManager.getInstance().isPlaying("SBobClimb") || SoundManager.getInstance().playSound("SBobClimb")) : (SoundManager.getInstance().stopSound("SBobClimb"),
"climb" == this.theBob.BobAction && (this.theBob.speedUp ? (this.theBob.bClip.y -= 4,
this.bobTimerUp.running || this.bobTimerUp.start()) : this.theBob.bClip.y -= 2),
this.leftKey ? this.theBob.BobAction = "goleft" : this.rightKey ? this.theBob.BobAction = "goright" : this.theBob.BobAction = "stay"),
"climb" == this.theBob.BobAction && (this.theBob.speedUp ? (this.theBob.bClip.y -= 4,
this.bobTimerUp.running || this.bobTimerUp.start()) : this.theBob.bClip.y -= 2)),
this.downKey && !this.theBob.strikeTimer.running && (this.BobOnStairs() && (!this.BobOnFloor() || 0 == this.theBob.twoStairs && this.theBob.currentStairY > this.theBob.bClip.y) || this.theBob.twoStairs && 0 == this.leftKey ? (this.theBob.BobAction = "climb",
this.theBob.bClip.x = this.theBob.currentStairX,
SoundManager.getInstance().stopSound("SBobWalk"),
SoundManager.getInstance().isPlaying("SBobClimb") || SoundManager.getInstance().playSound("SBobClimb")) : (SoundManager.getInstance().stopSound("SBobClimb"),
"climb" == this.theBob.BobAction && (this.theBob.speedUp ? (this.theBob.bClip.y += 4,
this.bobTimerUp.running || this.bobTimerUp.start()) : this.theBob.bClip.y += 2),
this.leftKey ? this.theBob.BobAction = "goleft" : this.rightKey ? this.theBob.BobAction = "goright" : this.theBob.BobAction = "stay"),
"climb" == this.theBob.BobAction && (this.theBob.speedUp ? (this.theBob.bClip.y += 4,
this.bobTimerUp.running || this.bobTimerUp.start()) : this.theBob.bClip.y += 2))),
"" != this.bonusType ? "gametarget" == this.bonusType && (this.theBob.BobAction = "work") : this.messageFullScreen.visible && (this.theBob.BobAction = "work"),
"emptyPushLeft" != this.theBob.BobAction && "emptyPushRight" != this.theBob.BobAction && "fightright" != this.theBob.BobAction && "fightleft" != this.theBob.BobAction && this.totalAlerts < 4 && this.theBob.bobActive && this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.theBob.bProgressSkill.visible)
if (this.theBob.bProgressSkill.currentFrame <= 99)
this.theBob.bClip_bWork_play();
else {
if ("lockpicks" == this.bonusType && (SoundManager.getInstance().playSound("SUnlock"),
this.findDoorToOpen(),
1 == this.zxcType && this.iPanel.getChild("zbutton").gotoAndStop(1),
2 == this.zxcType && this.iPanel.getChild("xbutton").gotoAndStop(1),
3 == this.zxcType && this.iPanel.getChild("cbutton").gotoAndStop(1),
this.theBob.bobActive = !0,
this.ActivateControls()),
this.endProgress(),
"gametarget" == this.bonusType) {
if (this.gameTarget.visible = !1,
this.gameExit.visible = !0,
4 == this.getLevelNumber() && this.captive.gotoAndStop(2),
5 == this.getLevelNumber() && (this.prisonGift.visible = !0),
9 == this.getLevelNumber() && this.level9Box.gotoAndStop(2),
11 == this.getLevelNumber() || 7 == this.getLevelNumber())
for (var u, d, p = 0; p < this.zombiesBack.length; p++)
this.gameScreen.contains(this.zombiesBack[p]) && this.gameScreen.removeChild(this.zombiesBack[p]),
(d = new MovieClip("Zombieman")).x = this.zombiesBack[p].x + 25,
d.y = this.zombiesBack[p].y + 23,
d.params.Distance = this.zombiesBack[p].params.Distance,
d.params.Direction = this.zombiesBack[p].params.Direction,
d.params.StopMoveWaitTime = this.zombiesBack[p].params.StopMoveWaitTime,
u = new Zombie(d,this.zombiesBack[p].params.DistancePassed),
this.zombies.push(u),
this.gameScreen.addChild(u.enemyClip),
this.gameScreen.addChild(u.enemySign),
u.enemySign.x = u.enemyClip.x,
u.enemySign.y = u.enemyClip.y - 40;
var f = new MovieClip("TargetGood");
f.setxy(325, 233),
f.scaleX = f.scaleY = 0,
this.gameScreen.addChild(f),
TweenMax.to(f, .7, {
scaleX: 1,
scaleY: 1,
easing: "Elastic.easeIn"
}),
TweenMax.delayedCall(2, function() {
t.gameScreen.removeChild(f)
}, this),
SoundManager.getInstance().playSound("STargetGood")
}
this.bonusType = ""
}
if ("" != this.bonusType && "lockpicks" != this.bonusType) {
if ("shock" == this.bonusType)
this.theBob.bClip.currentAnimation && 0 == this.theBob.bClip.currentAnimation.indexOf("fire") ? this.theBob.BobAction = this.theBob.bClip.currentAnimation : this.leftKey ? this.theBob.BobAction = "fireLeft" : this.rightKey ? this.theBob.BobAction = "fireRight" : "left" == this.theBob.BobLastDirrection ? this.theBob.BobAction = "fireLeft" : this.theBob.BobAction = "fireRight",
"fireRight" != this.theBob.bClip.currentAnimation && "fireLeft" != this.theBob.bClip.currentAnimation && this.theBob.bClip.gotoLabel(this.theBob.BobAction),
4 < 1 + this.theBob.bClip.currentFrame - ("fireLeft" == this.theBob.BobAction ? 269 : 284) ? (this.theBob.lightning.visible || (this.theBob.lightning.visible = !0,
this.theBob.lightning.playOnce(),
"fireLeft" == this.theBob.BobAction ? (this.theBob.lightning.scaleX = -1,
this.theBob.lightning.setxy(-22 + this.theBob.bClip.x, -4 + this.theBob.bClip.y)) : (this.theBob.lightning.scaleX = 1,
this.theBob.lightning.setxy(22 + this.theBob.bClip.x, -4 + this.theBob.bClip.y))),
this.EnemyOnline(),
this.ZombieOnline()) : this.theBob.lightning.visible = !1;
var y = this.theBob.bClip.currentFrame;
192 != y && 230 != y && 268 != y && 283 != y && 298 != y || ("energetic" == this.bonusType && (this.theBob.speedUp = !0,
this.theBob.speedUpTimer.start(),
this.theBob.bobActive = !0,
this.ActivateControls()),
"camerablind" == this.bonusType && (this.cameras[this.theBob.currentCameraId].cameraPassed(),
this.theBob.bobActive = !0,
this.ActivateControls()),
"spray" == this.bonusType && (this.theBob.runShadow = !0,
this.theBob.bobActive = !0,
this.ActivateControls()),
"shock" == this.bonusType && (this.theBob.bobActive = !0,
this.ActivateControls()),
this.bonusType = "",
1 == this.zxcType && this.iPanel.getChild("zbutton").gotoAndStop(1),
2 == this.zxcType && this.iPanel.getChild("xbutton").gotoAndStop(1),
3 == this.zxcType && this.iPanel.getChild("cbutton").gotoAndStop(1))
}
if (this.gameExit.visible && OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.gameExit, null)) {
var S = new MovieClip("LevelWin");
S.setxy(325, 233),
S.scaleX = S.scaleY = 0,
this.gameScreen.addChild(S),
TweenMax.to(S, .7, {
scaleX: 1,
scaleY: 1,
easing: "Elastic.easeIn"
}),
TweenMax.delayedCall(2, function() {
t.gameScreen.removeChild(S)
}, this),
this.stopTheGame(),
this.winLevelTimer.start(),
this.gameExit.visible = !1,
SoundManager.getInstance().playSound("SWinLevel")
}
!this.theBob.lightning.visible || this.theBob.bClip.currentAnimation && 0 == this.theBob.bClip.currentAnimation.indexOf("fire") || (this.theBob.lightning.visible = !1)
}
,
v.prototype.EnemyOnline = function() {
var e, t = 552, i = !1, r = this.theBob.leftLightning;
"fireRight" == this.theBob.BobAction && (r = this.theBob.rightLightning);
for (var o = 0; o < this.enemies.length; o++)
OzUtil.HitTest(this.theBob.bClip, r, this.enemies[o].enemyClip, null) && ("fireLeft" == this.theBob.BobAction && this.theBob.bClip.x > this.enemies[o].enemyClip.x || "fireRight" == this.theBob.BobAction && this.theBob.bClip.x < this.enemies[o].enemyClip.x) && (i = !0,
Math.abs(this.enemies[o].enemyClip.x - this.theBob.bClip.x) < t && (t = Math.abs(this.enemies[o].enemyClip.x - this.theBob.bClip.x),
e = o));
for (var s = 0; s < this.sidedoors.length; s++)
if (OzUtil.HitTest(this.theBob.bClip, r, this.sidedoors[s], v.SideDoorRect) && ("fireLeft" == this.theBob.BobAction && this.theBob.bClip.x > this.sidedoors[s].x || "fireRight" == this.theBob.BobAction && this.theBob.bClip.x < this.sidedoors[s].x) && 0 == this.sidedoors[s].params.Open && Math.abs(this.sidedoors[s].x - this.theBob.bClip.x) < t) {
i = !1,
t = Math.abs(this.sidedoors[s].x - this.theBob.bClip.x);
break
}
for (var a = 0; a < this.walls.length; a++)
if (OzUtil.HitTest(this.theBob.bClip, r, this.walls[a], null) && ("fireLeft" == this.theBob.BobAction && this.theBob.bClip.x > this.walls[a].x || "fireRight" == this.theBob.BobAction && this.theBob.bClip.x < this.walls[a].x) && Math.abs(this.walls[a].x - this.theBob.bClip.x) < t) {
i = !1,
t = Math.abs(this.walls[a].x - this.theBob.bClip.x);
break
}
i && (this.enemies[e].enemyClip.visible && ("[object Robot]" == this.enemies[e].enemyType ? SoundManager.getInstance().playSound("SRobotShock") : "[object Dog]" == this.enemies[e].enemyType ? SoundManager.getInstance().playSound("SDogShock") : SoundManager.getInstance().playSound("SEnemyShock")),
this.enemies[e].shockEnemy()),
this.theBob.lightningMask.scale.x = Math.max(0, Math.min(1, Math.abs(t - 22) / 530))
}
,
v.prototype.ZombieOnline = function() {
var e, t = 552, i = !1, r = this.theBob.leftLightning;
"fireRight" == this.theBob.BobAction && (r = this.theBob.rightLightning);
for (var o = 0; o < this.zombies.length; o++)
OzUtil.HitTest(this.theBob.bClip, r, this.zombies[o].enemyClip, null) && ("fireLeft" == this.theBob.BobAction && this.theBob.bClip.x > this.zombies[o].enemyClip.x || "fireRight" == this.theBob.BobAction && this.theBob.bClip.x < this.zombies[o].enemyClip.x) && (i = !0,
Math.abs(this.zombies[o].enemyClip.x - this.theBob.bClip.x) < t && (t = Math.abs(this.zombies[o].enemyClip.x - this.theBob.bClip.x),
e = o));
for (var s = 0; s < this.sidedoors.length; s++)
if (OzUtil.HitTest(this.theBob.bClip, r, this.sidedoors[s], v.SideDoorRect) && ("fireLeft" == this.theBob.BobAction && this.theBob.bClip.x > this.sidedoors[s].x || "fireRight" == this.theBob.BobAction && this.theBob.bClip.x < this.sidedoors[s].x) && 0 == this.sidedoors[s].params.Open && Math.abs(this.sidedoors[s].x - this.theBob.bClip.x) < t) {
i = !1,
t = Math.abs(this.sidedoors[s].x - this.theBob.bClip.x);
break
}
for (var a = 0; a < this.walls.length; a++)
if (OzUtil.HitTest(this.theBob.bClip, r, this.walls[a], null) && ("fireLeft" == this.theBob.BobAction && this.theBob.bClip.x > this.walls[a].x || "fireRight" == this.theBob.BobAction && this.theBob.bClip.x < this.walls[a].x) && Math.abs(this.walls[a].x - this.theBob.bClip.x) < t) {
i = !1,
t = Math.abs(this.walls[a].x - this.theBob.bClip.x);
break
}
i && (this.zombies[e].enemyClip.visible && SoundManager.getInstance().playSound("SEnemyShock"),
this.zombies[e].shockEnemy()),
this.theBob.lightningMask.scale.x = Math.max(0, Math.min(1, Math.abs(t - 22) / 530))
}
,
v.prototype.findDoorToOpen = function(e) {
void 0 === e && (e = "pad");
for (var t = 0; t < this.doors.length; t++)
this.doors[t].params.DoorName == this.theBob.currentPadlockName && (this.doors[t].params.Open = !0,
null != this.doors[t].getChild("door") && this.doors[t].getChild("door").play("open"),
SoundManager.getInstance().playSound("SDoorOpen"));
for (var i = 0; i < this.sidedoors.length; i++)
this.sidedoors[i].params.DoorName == this.theBob.currentPadlockName && (this.sidedoors[i].params.Open = !0,
this.sidedoors[i].visible = !1,
SoundManager.getInstance().playSound("SDoorOpen"));
for (var r = 0; r < this.elevators.length; r++)
this.elevators[r].params.DoorName == this.theBob.currentPadlockName && (this.elevators[r].params.Open = !0);
if ("pad" == e) {
var o = this.padlocks[this.theBob.currentPadlockNumber];
this.gameScreen.contains(o) && this.gameScreen.removeChild(o),
this.padlocks[this.theBob.currentPadlockNumber] = this.padlocks[0],
this.padlocks[0] = o,
this.padlocks.shift()
}
}
,
v.prototype.textCodeEnter = function() {
4 == this.textCode.length && (this.resetCodeButtons(),
this.codeKeyListeners = !1,
this.codeEnteredTimer.start())
}
,
v.prototype.textCodeEntering = function() {
0 == this.textCode.length && (this.codePanel.getChild("ed").gotoAndStop(11),
this.codePanel.getChild("de").gotoAndStop(11),
this.codePanel.getChild("so").gotoAndStop(11),
this.codePanel.getChild("ti").gotoAndStop(11)),
1 == this.textCode.length ? (this.codePanel.getChild("ed").gotoAndStop(parseInt(this.textCode) + 1),
this.codePanel.getChild("de").gotoAndStop(11),
this.codePanel.getChild("so").gotoAndStop(11),
this.codePanel.getChild("ti").gotoAndStop(11)) : (2 == this.textCode.length && (this.codePanel.getChild("ed").gotoAndStop(parseInt(this.textCode.charAt(1)) + 1),
this.codePanel.getChild("de").gotoAndStop(parseInt(this.textCode.charAt(0)) + 1),
this.codePanel.getChild("so").gotoAndStop(11),
this.codePanel.getChild("ti").gotoAndStop(11)),
3 == this.textCode.length && (this.codePanel.getChild("ed").gotoAndStop(parseInt(this.textCode.charAt(2)) + 1),
this.codePanel.getChild("de").gotoAndStop(parseInt(this.textCode.charAt(1)) + 1),
this.codePanel.getChild("so").gotoAndStop(parseInt(this.textCode.charAt(0)) + 1),
this.codePanel.getChild("ti").gotoAndStop(11)),
4 == this.textCode.length && (this.codePanel.getChild("ed").gotoAndStop(parseInt(this.textCode.charAt(3)) + 1),
this.codePanel.getChild("de").gotoAndStop(parseInt(this.textCode.charAt(2)) + 1),
this.codePanel.getChild("so").gotoAndStop(parseInt(this.textCode.charAt(1)) + 1),
this.codePanel.getChild("ti").gotoAndStop(parseInt(this.textCode.charAt(0)) + 1)))
}
,
v.prototype.holeMove = function(e) {
0 < this.signHoleX ? (this.padlockPanel.getChild("lockBase").getChild("hole").x + this.holeX < 80 && (this.padlockPanel.getChild("lockBase").getChild("hole").x += this.holeX),
this.padlockPanel.getChild("lockBase").getChild("hole1").x + this.holeX < 80 && 1 == this.padlockPanel.getChild("lockBase").getChild("pick").currentFrame && (this.padlockPanel.getChild("lockBase").getChild("hole1").x += this.holeX),
this.padlockPanel.getChild("lockBase").getChild("hole2").x + this.holeX < 80 && (this.padlockPanel.getChild("lockBase").getChild("hole2").x += this.holeX)) : (-80 < this.padlockPanel.getChild("lockBase").getChild("hole").x - this.holeX && (this.padlockPanel.getChild("lockBase").getChild("hole").x -= this.holeX),
-80 < this.padlockPanel.getChild("lockBase").getChild("hole1").x - this.holeX && 1 == this.padlockPanel.getChild("lockBase").getChild("pick").currentFrame && (this.padlockPanel.getChild("lockBase").getChild("hole1").x -= this.holeX),
-80 < this.padlockPanel.getChild("lockBase").getChild("hole2").x - this.holeX && (this.padlockPanel.getChild("lockBase").getChild("hole2").x -= this.holeX))
}
,
v.prototype.setupProgress = function(e) {
void 0 === e && (e = 25),
this.theBob.bProgressSkill.visible = !0,
this.theBob.bProgressSkill.x = this.theBob.bClip.x - 23,
this.theBob.bProgressSkill.y = this.theBob.bClip.y - 35,
55 == e && (this.theBob.bProgressSkill.y -= 1e3),
this.theBob.bProgressSkill.gotoAndStop(1),
this.theBob.progressFrame = 1,
this.theBob.progressTimer.delay = e,
this.theBob.progressTimer.start()
}
,
v.prototype.endProgress = function() {
this.theBob.BobAction = "stay",
this.theBob.bProgressSkill.visible = !1,
SoundManager.getInstance().stopSound("SBobSearch"),
this.theBob.progressTimer.stop()
}
,
v.prototype.OzBobOnMessage = function() {
for (var e = 0; e < this.messages.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.messages[e], null))
return !0;
return !1
}
,
v.prototype.BobOnMessage = function() {
for (var e = 0; e < this.messages.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.messages[e], null)) {
var t = 1 + this.MessageFullscreenFrames.indexOf(this.messages[e].params.LinkTo);
if (Game.Touch() && (1 == t ? t = 15 : 2 == t ? t = 16 : 4 == t ? t = 17 : 7 == t && (t = 18)),
this.messageFullScreen.getChild("text").gotoAndStop(t),
"codeLevel" == this.messages[e].params.LinkTo || "aboutBob" == this.messages[e].params.LinkTo) {
this.messageFullScreen.getChild("dc1").visible = !0,
this.setMessageDoorCode(this.messageFullScreen.params.DoorCode),
"codeLevel" == this.messages[e].params.LinkTo ? this.messageFullScreen.getChild("dc1").setxy(266, 350) : this.messageFullScreen.getChild("dc1").setxy(266, 220);
for (var i = 0; i < this.codelocks.length; i++)
this.codelocks[i].params.DoorName == this.messages[e].params.DoorName && (this.codelocks[i].params.Code = this.messageFullScreen.params.DoorCode)
} else
this.messageFullScreen.getChild("dc1").visible = !1;
return !0
}
return !1
}
,
v.prototype.OzBobOnPadlock = function() {
for (var e = 0; e < this.padlocks.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.padlocks[e], null))
return !0;
return !1
}
,
v.prototype.BobOnPadlock = function() {
for (var e = 0; e < this.padlocks.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.padlocks[e], null))
return this.theBob.currentPadlockName = this.padlocks[e].params.DoorName,
this.theBob.currentPadlockX = this.padlocks[e].x,
this.theBob.currentPadlockNumber = e,
!0;
return !1
}
,
v.prototype.BobUnderCamera = function() {
for (var e = 0; e < this.cameras.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.cameras[e].cameraClip.getChild("cameraUnder"), null, this.cameras[e].cameraClip) && 0 == this.cameras[e].passed)
return this.theBob.currentCameraId = e,
!0;
return !1
}
,
v.prototype.ozSelectBonus = function(e) {
if (this.keyListeners) {
var t = e + "button";
1 < this.iPanel.getChild(t).currentFrame && (this.theBob.bClip.visible = !0,
this.theBob.bClipBack.visible = !1,
this.theBob.bClipBack.gotoLabel("stay"),
this.zxcType = 1,
"x" == e ? this.zxcType = 2 : "c" == e && (this.zxcType = 3),
this.selectBonus(this.iPanel.getChild(t).currentFrame) && (this.iPanel.getChild(t).input.enabled = !1))
}
}
,
v.prototype.selectBonus = function(e) {
return this.BobOnPadlock() && 0 == this.theBob.bProgressSkill.visible && 2 == e ? (this.bonusType = "lockpicks",
"GrayFront" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldFront" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.theBob.BobAction = "work"),
"GrayLeft" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldLeft" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.theBob.BobAction = "workRight"),
"GrayRight" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldRight" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.theBob.BobAction = "workLeft"),
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.setupProgress(55),
this.leftKey = !1,
this.rightKey = !1,
this.stopBobBonusPlay(),
!0) : this.BobUnderCamera() && "camerablind" != this.bonusType && 4 == e ? (this.bonusType = "camerablind",
SoundManager.getInstance().stopSound("SBobWalk"),
SoundManager.getInstance().playSound("SBobPhoto"),
this.theBob.BobAction = "photo",
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.stopBobBonusPlay(),
!0) : "energetic" != this.bonusType && 3 == e ? (this.bonusType = "energetic",
SoundManager.getInstance().stopSound("SBobWalk"),
SoundManager.getInstance().playSound("SBobDrink"),
this.theBob.BobAction = "drink",
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.stopBobBonusPlay(),
!0) : "spray" != this.bonusType && 6 == e ? (this.bonusType = "spray",
SoundManager.getInstance().stopSound("SBobWalk"),
SoundManager.getInstance().playSound("SBobDrink"),
this.theBob.BobAction = "spray",
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.stopBobBonusPlay(),
!0) : "shock" != this.bonusType && 5 == e && (this.bonusType = "shock",
SoundManager.getInstance().stopSound("SBobWalk"),
SoundManager.getInstance().playSound("SShockerShot"),
this.leftKey ? this.theBob.BobAction = "fireLeft" : this.rightKey ? this.theBob.BobAction = "fireRight" : "left" == this.theBob.BobLastDirrection ? this.theBob.BobAction = "fireLeft" : this.theBob.BobAction = "fireRight",
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.stopBobBonusPlay(),
!0)
}
,
v.prototype.stopBobBonusPlay = function() {
this.keyListeners = !1,
this.theBob.bobActive = !1,
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1
}
,
v.prototype.OzBobOnStairs = function() {
for (var e = 0, t = 0; t < this.stairs.length; t++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.stairs[t], null)) {
if (0 != e)
return 2;
e = this.theBob.bClip.y > this.stairs[t].y ? -1 : 1
}
return e
}
,
v.prototype.BobOnStairs = function() {
for (var e = 1, t = 0; t < this.stairs.length; t++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.stairs[t], null)) {
if (1 != e) {
this.theBob.currentStairY2 = this.stairs[t].y,
this.theBob.currentStairX2 = this.stairs[t].x,
e = 3,
this.theBob.twoStairs = !0;
break
}
this.theBob.currentStairY = this.stairs[t].y,
this.theBob.currentStairX = this.stairs[t].x,
e = 2,
this.theBob.twoStairs = !1
}
return 1 < e
}
,
v.prototype.BobNearEnemy = function() {
for (var e = 0; e < this.enemies.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, null, this.enemies[e].enemyClip, null))
return this.theBob.currentEnemyId = e,
!0;
return !1
}
,
v.prototype.BobNearZombie = function() {
for (var e = 0; e < this.zombies.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, null, this.zombies[e].enemyClip, null))
return this.theBob.currentZombieId = e,
!0;
return !1
}
,
v.prototype.BobOnFloor = function() {
for (var e = 0; e < this.floors.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.foot, this.floors[e], null))
return !0;
return !1
}
,
v.prototype.bobCameraDetected = function() {
for (var e = 0; e < this.cameras.length; e++)
if (!this.isBobHide() && 0 == this.theBob.bobInShadow && "busted" != this.theBob.BobAction && 0 == this.cameras[e].passed && 0 == this.cameras[e].cameraBlind) {
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.cameras[e].cameraClip.getChild("viewLeft"), null, this.cameras[e].cameraClip) && "left" == this.cameras[e].Direction && this.theBob.bClip.x > this.cameras[e].cameraClip.x - this.cameras[e].ViewZoneLeft)
return this.numCameraDetected = e,
!0;
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.cameras[e].cameraClip.getChild("viewRight"), null, this.cameras[e].cameraClip) && "right" == this.cameras[e].Direction && this.theBob.bClip.x < this.cameras[e].cameraClip.x + this.cameras[e].ViewZoneRight)
return this.numCameraDetected = e,
!0
}
return !1
}
,
v.prototype.bobEnemyDetected = function() {
this.isBobDetect = !1;
for (var e = 0; e < this.enemies.length; e++)
this.isBobHide() || 0 != this.theBob.bobInShadow || "busted" == this.theBob.BobAction || this.enemies[e].cutDownTimer.running || ("[object Oldman]" == this.enemies[e].enemyType || "[object Robot]" == this.enemies[e].enemyType || !OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.enemies[e].enemyClip, this.enemies[e].bbody) || "zombieAttack" != this.enemies[e].enemyAction && "alert" != this.gameStatus || (this.theBob.strikeTimer.stop(),
this.theBob.bobActive && this.enemies[e].catchBob(),
this.theBob.bobActive = !1),
this.enemies[e].isBobDetected() && (this.enemyDetect1 = !0,
this.numEnemyDetected = e,
this.isBobDetect = !0));
return this.isBobDetect
}
,
v.prototype.OzCanHitBaddie = function() {
for (var e = 0, t = 0; t < this.enemies.length; t++)
if ("[object Ambal]" != this.enemies[t].enemyType && OzUtil.HitTest(this.theBob.bClip, v.BobHitRect, this.enemies[t].enemyClip, null) && Math.abs(this.enemies[t].enemyClip.y - this.theBob.bClip.y) < 7) {
if (this.canHitDir = this.enemies[t].enemyClip.x - this.theBob.bClip.x,
!this.enemies[t].stunProgress.visible)
return 2;
e = 1
}
for (var i = 0; i < this.zombies.length; i++)
if (OzUtil.HitTest(this.theBob.bClip, null, this.zombies[i].enemyClip, null) && Math.abs(this.zombies[i].enemyClip.y - this.theBob.bClip.y) < 7) {
if (this.canHitDir = this.zombies[i].enemyClip.x - this.theBob.bClip.x,
!this.zombies[i].stunProgress.visible)
return 2;
e = 1
}
return e
}
,
v.prototype.BobOnEnemy = function() {
for (var e = 0; e < this.enemies.length; e++)
OzUtil.HitTest(this.theBob.bClip, null, this.enemies[e].enemyClip, null) && Math.abs(this.enemies[e].enemyClip.y - this.theBob.bClip.y) < 7 && (this.leftKey || this.rightKey ? (this.leftKey && this.theBob.bClip.x > this.enemies[e].enemyClip.x || this.rightKey && this.theBob.bClip.x < this.enemies[e].enemyClip.x) && (this.theBob.currentEnemyId = e,
this.bobBlast()) : ("left" == this.theBob.BobLastDirrection && this.theBob.bClip.x > this.enemies[e].enemyClip.x || "right" == this.theBob.BobLastDirrection && this.theBob.bClip.x < this.enemies[e].enemyClip.x) && (this.theBob.currentEnemyId = e,
this.bobBlast()))
}
,
v.prototype.BobOnZombie = function() {
for (var e = 0; e < this.zombies.length; e++)
OzUtil.HitTest(this.theBob.bClip, null, this.zombies[e].enemyClip, null) && Math.abs(this.zombies[e].enemyClip.y - this.theBob.bClip.y) < 7 && (this.leftKey || this.rightKey ? (this.leftKey && this.theBob.bClip.x > this.zombies[e].enemyClip.x || this.rightKey && this.theBob.bClip.x < this.zombies[e].enemyClip.x) && (this.theBob.currentZombieId = e,
this.bobBlastZombie()) : ("left" == this.theBob.BobLastDirrection && this.theBob.bClip.x > this.zombies[e].enemyClip.x || "right" == this.theBob.BobLastDirrection && this.theBob.bClip.x < this.zombies[e].enemyClip.x) && (this.theBob.currentZombieId = e,
this.bobBlastZombie()))
}
,
v.prototype.bobBlast = function() {
var e = new MovieClip("Blast");
e.addAnimation("boom", 1, 5, -1, !1, function() {
e.remove()
}, this),
e.gotoLabel("boom"),
this.effectsScreen.addChild(e),
SoundManager.getInstance().playSound("SPunch"),
"emptyPushLeft" == this.theBob.BobAction || "stay" == this.theBob.BobAction && "left" == this.theBob.BobLastDirrection ? e.x = this.theBob.bClip.x - 27 : e.x = this.theBob.bClip.x + 27,
e.y = this.theBob.bClip.y - 11,
this.stunTheEnemy()
}
,
v.prototype.bobBlastZombie = function() {
var e = new MovieClip("Blast");
e.addAnimation("boom", 1, 5, -1, !1, function() {
e.remove()
}, this),
e.gotoLabel("boom"),
this.effectsScreen.addChild(e),
SoundManager.getInstance().playSound("SPunch"),
"emptyPushLeft" == this.theBob.BobAction || "stay" == this.theBob.BobAction && "left" == this.theBob.BobLastDirrection ? e.x = this.theBob.bClip.x - 27 : e.x = this.theBob.bClip.x + 27,
e.y = this.theBob.bClip.y - 11,
this.stunTheZombie()
}
,
v.prototype.stunTheEnemy = function() {
"[object Dog]" == this.enemies[this.theBob.currentEnemyId].enemyType && "alert" == this.gameStatus ? this.enemies[this.theBob.currentEnemyId].enemySign.currentFrame < 3 && this.enemies[this.theBob.currentEnemyId].stunnedBegin() : "[object Ambal]" != this.enemies[this.theBob.currentEnemyId].enemyType ? this.enemies[this.theBob.currentEnemyId].stunnedBegin() : "stun" != this.enemies[this.theBob.currentEnemyId].enemyAction && (this.enemies[this.theBob.currentEnemyId].enemyAction = "seeAbout",
this.enemies[this.theBob.currentEnemyId].enemyClip.gotoLabel("alarm_stand"),
this.enemies[this.theBob.currentEnemyId].enemySign.gotoAndStop(2))
}
,
v.prototype.stunTheZombie = function() {
this.enemies[this.theBob.currentEnemyId].enemySign.currentFrame < 3 && this.zombies[this.theBob.currentZombieId].stunnedBegin()
}
,
v.prototype.OzBobOnGameTarget = function() {
return !(!OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.gameTarget, null) || !this.gameTarget.visible)
}
,
v.prototype.BobOnGameTarget = function() {
return !(!OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.gameTarget, null) || !this.gameTarget.visible) && (this.bonusType = "gametarget",
!0)
}
,
v.prototype.checkBobOnFireLine = function() {
for (var e = 0; e < this.turrets.length; e++) {
var t = this.turrets[e];
"l" == this.turrets[e].params.View ? (this.theBob.bClip.x < t.x - 10 && (14 == t.currentFrame || 23 == t.currentFrame) && this.theBob.bClip.y - t.y < 50 && Math.abs(this.theBob.bClip.y - t.y) < 35 && t.gotoLabel("fire"),
this.theBob.bClip.x < t.x - 10 && (22 == t.currentFrame || 23 == t.currentFrame) && this.theBob.bClip.y - t.y < 50 && Math.abs(this.theBob.bClip.y - t.y) < 35 && (this.totalAlerts = 4)) : (this.theBob.bClip.x > t.x - 10 && 14 == t.currentFrame && this.theBob.bClip.y - t.y < 50 && Math.abs(this.theBob.bClip.y - t.y) < 35 && t.gotoLabel("fire"),
this.theBob.bClip.x > t.x - 10 && (22 == t.currentFrame || 23 == t.currentFrame) && this.theBob.bClip.y - t.y < 50 && Math.abs(this.theBob.bClip.y - t.y) < 35 && (this.totalAlerts = 4))
}
}
,
v.prototype.checkGameSituation = function() {
if (this.numCameraDetected = 0,
this.bobCameraDetected())
"silent" == this.gameStatus && (this.cameras[this.numCameraDetected].cameraClip.getChild("lightLeft").gotoAndStop(2),
this.cameras[this.numCameraDetected].cameraClip.getChild("lightRight").gotoAndStop(2),
this.cameras[this.numCameraDetected].cameraClip.getChild("sign").gotoAndStop(2),
this.cameras[this.numCameraDetected].prepareWarningTimer.start(),
this.cameras[this.numCameraDetected].switchTimerIdle.stop(),
SoundManager.getInstance().playSound("SCameraWarn"),
this.gameStatus = "warning"),
"warning" == this.gameStatus && (this.cameras[this.numCameraDetected].cameraClip.getChild("sign").currentFrame < 3 && (this.cameras[this.numCameraDetected].cameraClip.getChild("lightLeft").gotoAndStop(2),
this.cameras[this.numCameraDetected].cameraClip.getChild("lightRight").gotoAndStop(2),
this.cameras[this.numCameraDetected].cameraClip.getChild("sign").gotoAndStop(2)),
this.cameras[this.numCameraDetected].prepareWarningTimer.running || (this.cameras[this.numCameraDetected].prepareWarningTimer.start(),
this.cameras[this.numCameraDetected].switchTimerIdle.stop())),
"alert" == this.gameStatus && (this.cameras[this.numCameraDetected].cameraClip.getChild("lightLeft").gotoAndStop(3),
this.cameras[this.numCameraDetected].cameraClip.getChild("lightRight").gotoAndStop(3),
this.cameras[this.numCameraDetected].switchTimerIdle.stop(),
this.cameras[this.numCameraDetected].cameraClip.getChild("sign").gotoAndStop(3),
this.alertBegin || (this.totalAlerts++,
this.iPanel.getChild("alerts").gotoAndStop(this.totalAlerts + 1),
this.alertBegin = !0,
4 == this.totalAlerts && this.stopTheGame(!1)),
this.countDownAlertTimer.stop(),
this.panicTime_gotoAndStop(3),
SoundManager.getInstance().playSound("SSiren"));
else {
if ("silent" == this.gameStatus)
for (var e = 0; e < this.cameras.length; e++)
1 < this.cameras[e].cameraClip.getChild("sign").currentFrame && this.cameras[e].resetCamera();
if ("warning" == this.gameStatus && this.cameras[this.numCameraDetected].resetCamera(),
"alert" == this.gameStatus && !this.countDownAlertTimer.running)
for (var t = 0; t < this.cameras.length; t++)
this.cameras[t].cameraClip.getChild("lightLeft").gotoAndStop(2),
this.cameras[t].cameraClip.getChild("lightRight").gotoAndStop(2),
this.cameras[t].cameraClip.getChild("sign").gotoAndStop(2),
this.cameras[t].switchTimerIdle.delay = 500,
this.cameras[t].switchTimerIdle.start()
}
if (this.numEnemyDetected = 0,
this.enemyDetect1 = !1,
this.bobEnemyDetected(),
this.enemyDetect1,
this.enemyDetect1)
"silent" != this.gameStatus || this.enemies[this.numEnemyDetected].prepareWarningTimer.running || "[object Robot]" == this.enemies[this.numEnemyDetected].enemyType || (this.enemies[this.numEnemyDetected].enemySign.gotoAndStop(2),
this.theBob.increaseWaiting && (this.enemies[this.numEnemyDetected].prepareWarningTimer.delay *= 2),
this.enemies[this.numEnemyDetected].prepareWarningTimer.start(),
this.gameStatus = "warning",
SoundManager.getInstance().playSound(this.enemies[this.numEnemyDetected].soundEnemyWarn)),
"warning" == this.gameStatus && "[object Robot]" != this.enemies[this.numEnemyDetected].enemyType && this.enemies[this.numEnemyDetected].enemySign.gotoAndStop(2),
"alert" == this.gameStatus && (this.alertBegin || (this.totalAlerts++,
this.iPanel.getChild("alerts").gotoAndStop(this.totalAlerts + 1),
this.alertBegin = !0,
4 == this.totalAlerts && this.stopTheGame(!1)),
this.countDownAlertTimer.stop(),
this.panicTime_gotoAndStop(3),
this.enemies[this.numEnemyDetected].enemySign.gotoAndStop(3)),
"[object Robot]" == this.enemies[this.numEnemyDetected].enemyType && null != this.enemies[this.numEnemyDetected].enemyClip.getChild("light") && 1 == this.enemies[this.numEnemyDetected].enemyClip.getChild("light").currentFrame && (this.enemies[this.numEnemyDetected].enemyClip.getChild("light").gotoAndStop(2),
this.enemies[this.numEnemyDetected].enemySign.gotoAndStop(2),
this.enemies[this.numEnemyDetected].prepareWarningTimer.start(),
this.gameStatus = "warning",
SoundManager.getInstance().playSound(this.enemies[this.numEnemyDetected].soundEnemyWarn));
else {
if ("silent" == this.gameStatus)
for (var i = 0; i < this.enemies.length; i++)
"stun" != this.enemies[i].enemyAction && "warning_walk" != this.enemies[i].enemyAction && 1 != this.enemies[i].enemySign.currentFrame && "[object Robot]" != this.enemies[i].enemyType && this.enemies[i].resetEnemyAfterAlert();
if ("warning" == this.gameStatus && "[object Robot]" != this.enemies[this.numEnemyDetected].enemyType && "[object Zombieman]" != this.enemies[this.numEnemyDetected].enemyType && this.enemies[this.numEnemyDetected].resetEnemyAfterAlert(),
"[object Robot]" == this.enemies[this.numEnemyDetected].enemyType && this.enemies[this.numEnemyDetected].resetEnemyAfterAlert(),
"alert" == this.gameStatus && !this.countDownAlertTimer.running)
for (var r = 0; r < this.enemies.length; r++)
"alarm_walk" != this.enemies[r].enemyAction && "stun" != this.enemies[r].enemyAction && (this.enemies[this.numEnemyDetected].bobDetectedPoint = Math.abs(this.theBob.bClip.x - this.enemies[this.numEnemyDetected].enemyClip.x) - 20,
this.numEnemyDetected == r ? this.enemies[r].setSearchBobMode() : this.enemies[r].enemyAction = "waitForWarningWalk")
}
this.bobCameraDetected() || this.isBobDetect || this.BobOnLasers() || (SoundManager.getInstance().stopSound("SSiren"),
"warning" == this.gameStatus && (this.gameStatus = "silent"),
"alert" != this.gameStatus || this.countDownAlertTimer.running || this.BobOnLasers() || (this.panicTime_gotoAndStop(2),
this.alertTime = 700,
this.countDownAlertTimer.start()))
}
,
v.prototype.OzBobOnMoney = function() {
for (var e = 0; e < this.moneyHides.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.moneyHides[e], null) && 0 == this.moneyHides[e].params.TakeIt)
return !0;
return !1
}
,
v.prototype.BobOnMoney = function() {
for (var e = 0; e < this.moneyHides.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.moneyHides[e], null) && 0 == this.moneyHides[e].params.TakeIt)
return this.moneyHides[e].params.TakeIt = !0,
this.moneyHides[e].params.Amount;
return 0
}
,
v.prototype.removeTwTip = function() {
null != this.twTip && (this.twTip.kill(),
this.twTip = null)
}
,
v.prototype.BobOnTip = function() {
var e = this;
this.tipShow = !1;
for (var t = 0; t < this.tipsHides.length; t++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.tipsHides[t], null) && 0 == this.tipsHides[t].params.Used) {
if (0 == this.gameTip.visible || !this.tipShowing)
switch (this.gameTip.visible = !0,
this.tipShowing = !0,
this.removeTwTip(),
this.gameTip.alpha = 0,
this.twTip = TweenMax.to(this.gameTip, .2, {
alpha: 1,
onComplete: this.removeTwTip,
onCompleteContext: this
}),
this.tipsHides[t].params.TipFrame) {
case 1:
this.gameTip.x = 370,
this.gameTip.y = 130;
break;
case 2:
this.gameTip.x = 470,
this.gameTip.y = 110;
break;
case 3:
this.gameTip.x = 270,
this.gameTip.y = 110;
break;
case 4:
this.gameTip.x = 310,
this.gameTip.y = 100;
break;
case 5:
this.gameTip.x = 520,
this.gameTip.y = 160;
break;
case 6:
this.gameTip.x = 480,
this.gameTip.y = 310;
break;
case 7:
this.gameTip.x = 490,
this.gameTip.y = 225
}
this.gameTip.gotoAndStop(this.tipsHides[t].params.TipFrame + (Game.Touch() ? 7 : 0)),
this.tipShow = !0,
(this.upKey || this.padlockPanel.visible) && 6 != this.tipsHides[t].params.TipFrame && (this.tipsHides[t].params.Used = !0,
this.tipShow = !1),
!this.upKey && this.gameTarget.visible || 6 != this.tipsHides[t].params.TipFrame || 0 != this.gameTarget.visible || (this.tipsHides[t].params.Used = !0,
this.tipShow = !1),
(this.upKey || this.downKey || this.leftKey || this.rightKey) && 1 == this.tipsHides[t].params.TipFrame && (this.tipsHides[t].params.Used = !0,
this.tipShow = !1),
"photo" == this.theBob.BobAction && (this.tipsHides[t].params.Used = !0,
this.tipShow = !1)
}
this.tipShow || (this.tipShowing || this.gameTip.visible) && (this.tipShowing = !1,
this.removeTwTip(),
this.twTip = TweenMax.to(this.gameTip, .2, {
alpha: 0,
onComplete: function() {
e.gameTip.visible = !1,
e.removeTwTip()
},
onCompleteContext: this
}))
}
,
v.prototype.checkBobShadows = function() {
for (var e = 0; e < this.shadows.length; e++)
OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.shadows[e], null) && "stay" == this.theBob.BobAction && 0 == this.spaceKey && 0 == this.leftKey && 0 == this.rightKey && 0 == this.theBob.bProgressSkill.visible && (this.theBob.BobAction = "hideIn",
this.theBob.bClip.visible = !1,
this.theBob.bClipBack.visible = !0,
this.theBob.bClipBack.x = this.theBob.bClip.x,
this.theBob.bClipBack.y = this.theBob.bClip.y,
this.theBob.bClipBack.gotoLabel(this.theBob.BobAction))
}
,
v.prototype.checkBobShadowsRuns = function() {
for (var e = !1, t = 0; t < this.shadows.length; t++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.shadows[t], null)) {
e = !0;
break
}
e ? 0 == this.theBob.bobInShadow && (this.theBob.bobInShadow = !0,
this.theBob.bClip.setTint(0, .5)) : this.theBob.bobInShadow && (this.theBob.bobInShadow = !1,
this.theBob.bClip.setTint(0, 0))
}
,
v.prototype.OzBobOnDoor = function() {
for (var e = 0; e < this.doors.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.doors[e].getChild("sensor"), null, this.doors[e]) && this.doors[e].params.Open)
return !0;
return !1
}
,
v.prototype.BobOnDoor = function() {
for (var e = 0; e < this.doors.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.doors[e].getChild("sensor"), null, this.doors[e]) && this.doors[e].params.Open)
return this.theBob.currentDoorY = this.doors[e].y,
this.theBob.currentDoorX = this.doors[e].x,
this.theBob.currentDoorGroupId = this.doors[e].params.idGroup,
!0;
return !1
}
,
v.prototype.OzBobOnElevator = function() {
for (var e = 0; e < this.elevators.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.elevators[e].getChild("sensor"), null, this.elevators[e]) && this.elevators[e].params.Open)
return !0;
return !1
}
,
v.prototype.BobOnElevator = function() {
for (var e = 0; e < this.elevators.length; e++)
OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.elevators[e].getChild("sensor"), null, this.elevators[e]) && this.elevators[e].params.Open ? 1 != this.elevators[e].getChild("door").currentFrame && 20 != this.elevators[e].getChild("door").currentFrame || (this.elevators[e].getChild("door").gotoLabel("open"),
"goleft" == this.theBob.BobAction || "goright" == this.theBob.BobAction ? this.elevators[e].getChild("bob").visible = !1 : this.elevators[e].getChild("bob").visible = !0,
SoundManager.getInstance().playSound("SElevatorDoorClose"),
this.theBob.currentElevatorY = this.elevators[e].y,
this.theBob.currentElevatorX = this.elevators[e].x,
this.theBob.currentElevatorGroupId = this.elevators[e].params.idGroup) : 10 == this.elevators[e].getChild("door").currentFrame && (this.elevators[e].getChild("door").gotoLabel("close"),
SoundManager.getInstance().playSound("SElevatorDoorClose"))
}
,
v.prototype.BobOnElevatorNow = function() {
for (var e = 0; e < this.elevators.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.elevators[e].getChild("sensor"), null, this.elevators[e]) && this.elevators[e].params.Open)
return this.theBob.currentElevatorY = this.elevators[e].y,
this.theBob.currentElevatorX = this.elevators[e].x,
this.theBob.currentElevatorGroupId = this.elevators[e].params.idGroup,
this.theBob.currentElevatorNumber = e,
!(this.elevators[e].getChild("bob").visible = !1);
return !1
}
,
v.prototype.GoThroughAperture = function() {
this.theBob.bClip.x = this.theBob.currentDoorX,
this.theBob.BobAction = "goIn",
this.theBob.bClip.gotoLabel(this.theBob.BobAction),
this.theBob.bobActive = !1,
SoundManager.getInstance().playSound("SAppertureMove"),
this.theBob.fadeOut.start()
}
,
v.prototype.getBobCoor = function() {
return new Vector2(this.theBob.bClip.x,this.theBob.bClip.y)
}
,
v.prototype.OzBobOnCodelock = function() {
for (var e = 0; e < this.codelocks.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.codelocks[e], v.CodelockSensorRect) && this.codelocks[e].params.Locked)
return !0;
return !1
}
,
v.prototype.BobOnCodelock = function() {
for (var e = 0; e < this.codelocks.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.codelocks[e], v.CodelockSensorRect) && this.codelocks[e].params.Locked)
return this.theBob.currentPadlockName = this.codelocks[e].params.DoorName,
this.theBob.currentPadlockX = this.codelocks[e].x,
this.theBob.currentPadlockNumber = e,
this.theBob.currentDoorCode = this.codelocks[e].params.Code,
!0;
return !1
}
,
v.prototype.OzBobOnTrans = function() {
for (var e = 0; e < this.transBoxes.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.transBoxes[e], null) && this.transBoxes[e].params.Locked)
return !0;
return !1
}
,
v.prototype.BobOnTrans = function() {
for (var e = 0; e < this.transBoxes.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.transBoxes[e], null) && this.transBoxes[e].params.Locked)
return this.theBob.currentElectricPanelId = e,
!0;
return !1
}
,
v.prototype.OzBobOnTerminal = function() {
return null != this.terminalPanel && !(!OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.terminalPanel, null) || !this.terminalPanel.params.Locked)
}
,
v.prototype.BobOnTerminal = function() {
return null != this.terminalPanel && (!(!OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.terminalPanel, null) || !this.terminalPanel.params.Locked) && (this.theBob.currentPadlockName = this.terminalPanel.params.DoorName,
!0))
}
,
v.prototype.OzBobOnComputer = function() {
for (var e = 0; e < this.computerPanels.length; e++)
if (OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.computerPanels[e], null) && this.computerPanels[e].params.Locked)
return !0;
return !1
}
,
v.prototype.BobOnComputer = function() {
if (1 <= this.computerPanels.length && OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.computerPanels[0], null) && this.computerPanels[0].params.Locked) {
this.currentDoorCode = 1;
for (var e = 0; e < this.codelocks.length; e++)
this.codelocks[e].params.DoorName == this.computerPanels[0].params.DoorName && (this.codelocks[e].params.Code = this.computerScreen.params.doorcode);
return !0
}
if (2 == this.computerPanels.length && OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.computerPanels[1], null) && this.computerPanels[1].params.Locked) {
this.currentDoorCode = 2;
for (var t = 0; t < this.codelocks.length; t++)
this.codelocks[t].params.DoorName == this.computerPanels[1].params.DoorName && (this.codelocks[t].params.Code = this.computerScreen.params.doorcode2);
return !0
}
return !1
}
,
v.prototype.BobOnLasers = function() {
for (var e = 0; e < this.lasers.length; e++)
if (3 != this.lasers[e].currentFrame && OzUtil.HitTest(this.theBob.bClip, this.theBob.bbody, this.lasers[e], null))
return !0;
return !1
}
,
v.prototype.restartGame = function(e) {
this.isSwitchingState || (this.stopTheGame(),
this.switchState(v.Name))
}
,
v.prototype.startTheGame = function(e) {
void 0 === e && (e = "pause"),
this.keyListeners = !0,
this.updateListener = !0;
for (var t = 0; t < this.enemies.length; t++)
this.enemies[t].startActions();
for (var i = 0; i < this.zombies.length; i++)
this.zombies[i].startActions();
for (var r = 0; r < this.cameras.length; r++)
this.cameras[r].startTurn()
}
,
v.prototype.stopTheGame = function(e) {
if (void 0 === e && (e = !0),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.keyListeners = !1,
this.stopwatchTimer.stop(),
e) {
SoundManager.getInstance().stopAllAudio(),
this.updateListener = !1,
"busted" != this.theBob.BobAction && this.theBob.bClip.gotoLabel("stay");
for (var t = 0; t < this.enemies.length; t++)
this.enemies[t].stopAnyActions();
for (var i = 0; i < this.zombies.length; i++)
this.zombies[i].stopAnyActions()
}
}
,
v.prototype.create = function() {
b.prototype.create.call(this),
h5branding.google.sendScreenView(v.Name),
h5branding.gameanalytics.addProgressionEvent(h5branding.EGAProgressionStatus.Start, v.currentLevel + ""),
this.initVars(),
this.refreshWorld(),
Game._ce = new CitrusEngine,
this.twTip = null,
this.tipShowing = !1,
this.twPadlockDuga = null,
this.keyListeners = this.updateListener = this.padlockKeyListeners = !1,
this.keyWireListeners = this.keyWireListeners2 = this.codeKeyListeners = !1,
this.terminalKeyListeners = this.computerKeyListeners = this.restartKeyListener = !1,
(v.Instance = this).currentLevelNumber = v.currentLevel,
this.tvTotalScore = 0,
this.tvTimeScore = 0,
this.totalAlerts = 0,
this.bobBitten = !1,
this.moneyCollected = 0,
this.pastTime = 0,
this.levelScore = 0,
this.gameStatus = "silent",
this.theBob.bobActive = !0,
this.bonusType = "",
this.blades = null,
this.buildInterface(),
this.createLevel(v.currentLevel),
this.stopWalking(),
this.stopWorking()
}
,
v.prototype.func2 = function(e) {
this.t2.stop(),
this.t.stop()
}
,
v.prototype.func1 = function(e) {}
,
v.prototype.update = function() {
if (b.prototype.update.call(this),
this.lastFramePointerDown = this.thisFramePointerDown,
this.thisFramePointerDown = Game.getGame().input.activePointer.isDown,
this.thisFramePointerDown && !this.lastFramePointerDown && (this.processClick = !0),
this.cnt % 2 == 0) {
if (this.processEnterFrameEvents(),
Timer.Process(33 + (this.cnt % 6 == 0 ? 1 : 0)),
Game.Touch()) {
if (this.processClick) {
var e = Game.getGame().input.activePointer.worldX
, t = Game.getGame().input.activePointer.worldY;
this.messageFullScreen.visible && this.keyListeners && this.updateListener ? this.messageFullScreen.visible = !1 : 40 < t && this.heroCanWalkOrWork() && Math.abs(this.theBob.bClip.y - t) <= 60 && Math.abs(this.theBob.bClip.x - e) > (this.heroBubble.visible ? 18 : 10) && this.BobOnFloor() ? this.startWalking(e, t) : 0 != this.heroBubble.visible || "climb" != this.theBob.BobAction && "stay2" != this.theBob.BobAction || !this.keyListeners || Math.abs(e - this.theBob.bClip.x) < 19 && Math.abs(t - this.theBob.bClip.y) < 21 && this.changeClimbingDir()
}
if (!this.messageFullScreen.visible && this.keyListeners && this.updateListener && this.BobOnFloor() && !this.theBob.bClipBack.visible)
if (!this.theBob.bClip.animations || 0 != this.theBob.bClip.animations.currentAnim.name.indexOf("empty") && 0 != this.theBob.bClip.animations.currentAnim.name.indexOf("fight")) {
var i = this.OzCanHitBaddie();
0 < i && (2 == i || i > this.lastCanHit) && (this.canHitDir < 0 ? this.theBob.BobLastDirrection = "left" : this.theBob.BobLastDirrection = "right",
Input.getInstance().setDoing(0, "space", !0)),
SoundManager.getInstance().stopSound("SBobClimb"),
this.lastCanHit = i
} else
Input.getInstance().setDoing(0, "space", !1)
}
Game.Touch() && (this.mobileWalk < 0 ? Input.getInstance().setDoing(0, "left", !0) : 0 < this.mobileWalk && Input.getInstance().setDoing(0, "right", !0));
var r = Input.getInstance().isDoing("left");
(r != this.leftPrev || Input.rep("left")) && (r ? this.ozKeyPressed("left") : this.ozKeyReleased("left")),
this.leftPrev = r;
var o = Input.getInstance().isDoing("right");
(o != this.rightPrev || Input.rep("right")) && (o ? this.ozKeyPressed("right") : this.ozKeyReleased("right")),
this.rightPrev = o;
var s = Input.getInstance().isDoing("up");
(s != this.upPrev || Input.rep("up")) && (s ? this.ozKeyPressed("up") : this.ozKeyReleased("up")),
this.upPrev = s;
var a = Input.getInstance().isDoing("down");
(a != this.downPrev || Input.rep("down")) && (a ? this.ozKeyPressed("down") : this.ozKeyReleased("down")),
this.downPrev = a;
var n = Input.getInstance().isDoing("space");
(n != this.spacePrev || Input.rep("space")) && (n ? this.ozKeyPressed("space") : this.ozKeyReleased("space")),
this.spacePrev = n;
var h = Input.getInstance().isDoing("escape");
h != this.escapePrev && (h ? this.ozKeyPressed("escape") : this.ozKeyReleased("escape")),
this.escapePrev = h;
var c = Input.getInstance().isDoing("backspace");
c != this.backspacePrev && (c ? this.ozKeyPressed("backspace") : this.ozKeyReleased("backspace")),
this.backspacePrev = c;
var l = Input.getInstance().isDoing("p");
l != this.pPrev && (l ? this.ozKeyPressed("p") : this.ozKeyReleased("p")),
this.pPrev = l;
var m = Input.getInstance().isDoing("r");
m != this.rPrev && (m ? this.ozKeyPressed("r") : this.ozKeyReleased("r")),
this.rPrev = m;
var u = Input.getInstance().isDoing("z");
u != this.zPrev && (u && 1 < this.iPanel.getChild("zbutton").currentFrame ? this.ozKeyPressed("z") : this.ozKeyReleased("z")),
this.zPrev = u;
var d = Input.getInstance().isDoing("x");
d != this.xPrev && (d && 1 < this.iPanel.getChild("xbutton").currentFrame ? this.ozKeyPressed("x") : this.ozKeyReleased("x")),
this.xPrev = d;
var p = Input.getInstance().isDoing("c");
p != this.cPrev && (p && 1 < this.iPanel.getChild("cbutton").currentFrame ? this.ozKeyPressed("c") : this.ozKeyReleased("c")),
this.cPrev = p;
for (var f = 0; f < 10; f++)
if (this.codeKeyListeners) {
var y = "d" + f
, S = "k" + f
, w = Input.getInstance().isDoing("d" + f);
w != this.digitPrev[f] && (w ? this.keyPressedPanel("" + f) : this.keyReleasedPanel("" + f)),
this.digitPrev[f] = w;
var g = this.codePanel.getChild(S);
Input.getInstance().isDoing(y) ? g.changeFrame2() : g.changeFrame1()
}
if (this.updateListener && (this.updateWorld(null),
Game.Touch()))
if (this.adjustHeroBubble(),
this.messageFullScreen.visible)
this.heroBubble.visible = !1,
this.mobileWork && "climb" != this.theBob.BobAction && this.stopWorking();
else if ("climb" == this.theBob.BobAction || "stay2" == this.theBob.BobAction)
this.heroBubble.visible = !1;
else if (this.heroCanWalkOrWork()) {
var x;
this.heroBubble.visible = !this.mobileWork,
this.OzBobOnGameTarget() ? this.heroBubble.gotoAndStop(8) : this.OzBobOnDoor() || this.OzBobOnElevator() ? (this.heroBubble.gotoAndStop(3),
this.mobileWork && this.stopWorking()) : 0 != (x = this.OzBobOnStairs()) ? (2 == x ? this.heroBubble.gotoAndStop(this.lastClimbDir < 0 ? 9 : 10) : x < 0 ? this.heroBubble.gotoAndStop(9) : 0 < x && this.heroBubble.gotoAndStop(10),
this.mobileWork && "climb" != this.theBob.BobAction && this.stopWorking()) : this.OzBobOnComputer() || this.OzBobOnTerminal() ? (this.heroBubble.gotoAndStop(6),
this.mobileWork && this.stopWorking()) : this.OzBobOnPadlock() ? (this.heroBubble.gotoAndStop(4),
this.mobileWork && this.stopWorking()) : this.OzBobOnCodelock() ? (this.heroBubble.gotoAndStop(5),
this.mobileWork && this.stopWorking()) : this.OzBobOnTrans() ? (this.heroBubble.gotoAndStop(7),
this.mobileWork && this.stopWorking()) : this.OzBobOnMessage() ? (this.heroBubble.gotoAndStop(2),
this.mobileWork && this.stopWorking()) : this.OzBobOnMoney() ? (this.heroBubble.gotoAndStop(1),
this.mobileWork && this.stopWorking()) : (this.mobileWork && (this.mobileWork = !1,
this.stopWorking()),
this.heroBubble.visible = !1)
} else
this.mobileWork && (this.mobileWork = !1,
this.stopWorking()),
this.heroBubble.visible = !1;
this.keyListeners && this.updateListener ? v.ShowMobileGUI() : v.HideMobileGUI(),
this.processClick = !1
} else
Game.frame--
}
,
v.prototype.keyReleased = function(e) {
"left" == e && (this.leftKey = !1,
this.theBob.BobLastDirrection = "left",
this.theBob.strikeTimer.running || (this.BobOnFloor() ? this.theBob.BobAction = "stay" : this.BobOnStairs() && (this.theBob.BobAction = "stay2")),
SoundManager.getInstance().stopSound("SBobWalk")),
"right" == e && (this.rightKey = !1,
this.theBob.BobLastDirrection = "right",
this.theBob.strikeTimer.running || (this.BobOnFloor() ? this.theBob.BobAction = "stay" : this.BobOnStairs() && (this.theBob.BobAction = "stay2")),
SoundManager.getInstance().stopSound("SBobWalk")),
"up" == e && (this.upKey = !1,
"climb" == this.theBob.BobAction && SoundManager.getInstance().stopSound("SBobClimb"),
this.endProgress(),
this.bonusType = "",
this.BobOnFloor() ? this.theBob.BobAction = "stay" : this.BobOnStairs() && (this.theBob.BobAction = "stay2")),
"down" == e && (this.downKey = !1,
"climb" == this.theBob.BobAction && SoundManager.getInstance().stopSound("SBobClimb"),
this.BobOnFloor() ? this.theBob.BobAction = "stay" : this.BobOnStairs() && (this.theBob.BobAction = "stay2")),
"space" == e && (this.spaceKey = !1)
}
,
v.prototype.keyPressedRestart = function(e) {
"r" == e && this.restartGame(null)
}
,
v.prototype.keyPressed = function(e) {
if ("1000" == e && (this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.theBob.BobAction = "stay"),
this.messageFullScreen.visible = !1,
this.theBob.bClip.visible = !0,
this.theBob.bClipBack.visible = !1,
this.theBob.bClipBack.gotoLabel("stay"),
"z" == e && this.ozSelectBonus("z"),
"x" == e && this.ozSelectBonus("x"),
"c" == e && this.ozSelectBonus("c"),
"r" == e && this.restartGame(null),
"left" == e && (0 == this.theBob.bProgressSkill.visible && (this.leftKey = !0),
!SoundManager.getInstance().isPlaying("SBobWalk") && this.theBob.bobActive && this.leftKey && SoundManager.getInstance().playSound("SBobWalk")),
"right" == e && (0 == this.theBob.bProgressSkill.visible && (this.rightKey = !0),
!SoundManager.getInstance().isPlaying("SBobWalk") && this.theBob.bobActive && this.rightKey && SoundManager.getInstance().playSound("SBobWalk")),
"up" == e && !this.bobBitten && this.theBob.bobActive) {
if (this.upKey = !0,
this.BobOnElevatorNow() && this.GoThroughElevator(),
this.BobOnPadlock() ? (this.doorBreakFail = !1,
this.padlockPanel.visible = !0,
1 < this.currentLevelNumber && (this.padlockPanel.getChild("tip").visible = !1),
"GrayFront" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GrayLeft" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GrayRight" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.padlockPanel.getChild("lockBase").getChild("duga").gotoAndStop(1),
this.padlockPanel.getChild("lockBase").getChild("frame").gotoAndStop(1),
this.padlockPanel.getChild("lockBase").getChild("larva").gotoAndStop(1)),
"GoldFront" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldLeft" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldRight" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.padlockPanel.getChild("lockBase").getChild("duga").gotoAndStop(2),
this.padlockPanel.getChild("lockBase").getChild("frame").gotoAndStop(2),
this.padlockPanel.getChild("lockBase").getChild("larva").gotoAndStop(3)),
"GrayFront" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldFront" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.theBob.BobAction = "work"),
"GrayLeft" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldLeft" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.theBob.BobAction = "workRight"),
"GrayRight" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType && "GoldRight" != this.padlocks[this.theBob.currentPadlockNumber].params.PadlockType || (this.theBob.BobAction = "workLeft"),
this.padlockPanel.getChild("lockBase").getChild("hole").gotoAndStop(this.padlocks[this.theBob.currentPadlockNumber].params.HoleWidth),
this.padlockPanel.getChild("lockBase").getChild("hole1").gotoAndStop(this.padlocks[this.theBob.currentPadlockNumber].params.HoleWidth),
this.padlockPanel.getChild("lockBase").getChild("hole2").gotoAndStop(this.padlocks[this.theBob.currentPadlockNumber].params.HoleWidth),
1 == this.padlocks[this.theBob.currentPadlockNumber].params.HoleWidth && (this.padlockHoleWidth = 5),
2 == this.padlocks[this.theBob.currentPadlockNumber].params.HoleWidth && (this.padlockHoleWidth = 7),
3 == this.padlocks[this.theBob.currentPadlockNumber].params.HoleWidth && (this.padlockHoleWidth = 9),
1 == this.padlocks[this.theBob.currentPadlockNumber].params.PadlockLevel && (this.padlockPanel.getChild("lockBase").getChild("hole1").visible = !1,
this.padlockPanel.getChild("lockBase").getChild("hole2").visible = !1,
this.padlockPanel.getChild("lockBase").getChild("line").visible = !1,
this.padlockPanel.getChild("lockBase").getChild("hole").visible = !0),
2 == this.padlocks[this.theBob.currentPadlockNumber].params.PadlockLevel && (this.padlockPanel.getChild("lockBase").getChild("hole1").visible = !0,
this.padlockPanel.getChild("lockBase").getChild("hole2").visible = !0,
this.padlockPanel.getChild("lockBase").getChild("line").visible = !0,
this.padlockPanel.getChild("lockBase").getChild("hole").visible = !1),
this.keyListeners = !1,
SoundManager.getInstance().stopSound("SBobWalk"),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.padlockKeyListeners = !0,
this.padlockPanel.addEventListener(this.holeMove, this),
this.signHoleX *= -1,
this.holeX = 1 * Math.random() + 1,
this.holeMoveTimer.start()) : this.BobOnDoor() && this.GoThroughAperture(),
this.BobOnMessage() && (SoundManager.getInstance().stopSound("SBobWalk"),
"work" != this.theBob.BobAction && SoundManager.getInstance().playSound("SMessage"),
this.leftKey = !1,
this.rightKey = !1,
this.messageFullScreen.visible = !0,
this.theBob.BobAction = "work"),
this.BobOnCodelock() && (this.theBob.BobAction = "work",
this.codePanel.visible = !0,
this.keyListeners = !1,
SoundManager.getInstance().stopSound("SBobWalk"),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.codeKeyListeners = !0,
this.resetCodeButtons(),
this.textCode = "",
this.codePanel.getChild("ed").gotoAndStop(11),
this.codePanel.getChild("de").gotoAndStop(11),
this.codePanel.getChild("so").gotoAndStop(11),
this.codePanel.getChild("ti").gotoAndStop(11)),
this.BobOnTrans() && (this.theBob.BobAction = "work",
SoundManager.getInstance().playSound("SOpenCabinet"),
1 < this.currentLevelNumber && (this.wiresPanel.getChild("tip").visible = !1,
this.wiresPanel2.getChild("tip").visible = !1),
this.keyListeners = !1,
SoundManager.getInstance().stopSound("SBobWalk"),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.currentCutWire = 1,
this.wiresPanel.getChild("nippers").x = 200,
this.wiresPanel2.getChild("nippers").x = 200,
"blades" == this.transBoxes[this.theBob.currentElectricPanelId].params.LaserName ? (this.wiresPanel2.visible = !0,
this.keyWireListeners2 = !0) : (this.wiresPanel.visible = !0,
this.keyWireListeners = !0),
0 == this.transformatorPanelOpen && "blades" != this.transBoxes[this.theBob.currentElectricPanelId].params.LaserName && (this.wires.length = 0,
this.setUpWires(),
this.transformatorPanelOpen = !0),
0 == this.transformatorPanel2Open && "blades" == this.transBoxes[this.theBob.currentElectricPanelId].params.LaserName && (this.wires.length = 0,
this.setUpWires2(),
this.transformatorPanel2Open = !0)),
this.BobOnTerminal()) {
this.theBob.BobAction = "work",
this.keyListeners = !1,
SoundManager.getInstance().stopSound("SBobWalk"),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
this.terminalKeyListeners = !0,
this.changeMiniGameFrame(Math.floor(2 * Math.random()) + 1),
this.terminalScreen.visible = !0,
this.terminalScreen.getChild("key").visible = !0,
this.terminalScreen.getChild("testKey").visible = !1,
this.terminalScreen.getChild("target").gotoAndStop(1),
this.tKeyStartX = 205,
this.tKeyStartY = 142,
this.terminalScreen.getChild("key").x = this.tKeyStartX,
this.terminalScreen.getChild("key").y = this.tKeyStartY,
this.terminalScreen.getChild("testKey").x = this.tKeyStartX,
this.terminalScreen.getChild("testKey").y = this.tKeyStartY,
this.terminalScreen.getChild("key").gotoAndStop(1);
for (var t = 0; t < this.terminalScreen.numChildren; t++)
"miniBarriers" == this.terminalScreen.getChildAt(t).mc && this.minigameBlocks.push(this.terminalScreen.getChildAt(t))
}
this.BobOnComputer() && (this.theBob.BobAction = "work",
this.keyListeners = !1,
SoundManager.getInstance().stopSound("SBobWalk"),
this.leftKey = !1,
this.rightKey = !1,
this.upKey = !1,
this.downKey = !1,
0 == this.computerPanelOpen ? (.5 < Math.random() ? (this.computerScreen.getChild("menuList").gotoAndStop(1),
this.computerScreenNum = 1) : (this.computerScreen.getChild("menuList").gotoAndStop(13),
this.computerScreenNum = 3),
this.computerPanelOpen = !0) : 3 == this.computerScreenNum ? this.computerScreen.getChild("menuList").gotoAndStop(13) : this.computerScreen.getChild("menuList").gotoAndStop(1),
this.computerKeyListeners = !0,
this.computerScreen.getChild("doorcode").visible = !1,
this.computerScreen.getChild("doorcode2").visible = !1,
this.computerScreen.getChild("menuScreen").gotoAndStop(1),
this.computerScreen.visible = !0),
this.BobOnGameTarget() && 0 == this.theBob.bProgressSkill.visible && (this.bonusType = "gametarget",
this.setupProgress(),
this.leftKey = !1,
this.rightKey = !1,
SoundManager.getInstance().playSound("SBobSearch"));
var i = this.BobOnMoney();
if (0 < i) {
if (this.theBob.moreMoney) {
var r;
for (r = 20 * i / 100; r % 5 != 0; )
r += 1;
i += r
}
new FlyingMoney(i);
SoundManager.getInstance().playSound("SGetMoney"),
.5 < Math.random() && 50 < i && SoundManager.getInstance().playSound("SBobLaugh")
}
if (this.BobNearEnemy() && "stun" == this.enemies[this.theBob.currentEnemyId].enemyAction && 0 < this.enemies[this.theBob.currentEnemyId].cash) {
new FlyingMoney(this.enemies[this.theBob.currentEnemyId].cash);
this.enemies[this.theBob.currentEnemyId].cash = 0,
SoundManager.getInstance().playSound("SGetMoney"),
.5 < Math.random() && SoundManager.getInstance().playSound("SBobLaugh")
}
if (this.BobNearZombie() && "stun" == this.zombies[this.theBob.currentZombieId].enemyAction && 0 < this.zombies[this.theBob.currentZombieId].cash) {
new FlyingMoney(this.zombies[this.theBob.currentZombieId].cash);
this.zombies[this.theBob.currentZombieId].cash = 0,
SoundManager.getInstance().playSound("SGetMoney"),
.5 < Math.random() && SoundManager.getInstance().playSound("SBobLaugh")
}
}
if ("down" == e && !this.bobBitten && this.theBob.bobActive && (this.downKey = !0,
this.BobOnDoor() && this.GoThroughAperture(),
this.BobOnElevatorNow() && this.GoThroughElevator()),
"space" == e) {
if (!this.spaceKey && "busted" != this.theBob.BobAction) {
for (var o = 0; o < this.enemies.length; o++)
OzUtil.HitTest(this.theBob.bClip, null, this.enemies[o].enemyClip, null) && Math.abs(this.enemies[o].enemyClip.y - this.theBob.bClip.y) < 7 ? this.leftKey || this.rightKey ? this.leftKey && this.theBob.bClip.x > this.enemies[o].enemyClip.x ? this.theBob.BobAction = "emptyPushLeft" : this.leftKey && this.theBob.bClip.x < this.enemies[o].enemyClip.x ? this.theBob.BobAction = "emptyPushRight" : this.rightKey && this.theBob.bClip.x < this.enemies[o].enemyClip.x ? this.theBob.BobAction = "emptyPushRight" : this.rightKey && this.theBob.bClip.x > this.enemies[o].enemyClip.x && (this.theBob.BobAction = "emptyPushLeft") : ("left" == this.theBob.BobLastDirrection && this.theBob.bClip.x > this.enemies[o].enemyClip.x ? this.theBob.BobAction = "emptyPushLeft" : (this.theBob.BobLastDirrection = "right",
this.theBob.BobAction = "emptyPushRight"),
"right" == this.theBob.BobLastDirrection && this.theBob.bClip.x < this.enemies[o].enemyClip.x ? this.theBob.BobAction = "emptyPushRight" : (this.theBob.BobLastDirrection = "left",
this.theBob.BobAction = "emptyPushLeft")) : this.leftKey ? this.theBob.BobAction = "emptyPushLeft" : this.rightKey ? this.theBob.BobAction = "emptyPushRight" : "left" == this.theBob.BobLastDirrection ? this.theBob.BobAction = "emptyPushLeft" : this.theBob.BobAction = "emptyPushRight";
this.theBob.strikeTimer.start(),
this.theBob.bClip.gotoLabel(this.theBob.BobAction)
}
this.spaceKey = !0
}
"p" == e && (this.gamePaused ? this.gotoGame(null) : this.pauseGame("button"))
}
,
v.prototype.changeMiniGameFrame = function(e) {
for (var t = this.terminalScreen.children.length - 1; 0 <= t; t--) {
var i = this.terminalScreen.children[t];
!i || "miniBarriers" != i.mc && "miniTaget" != i.mc || i.remove()
}
this.terminalScreen.applyLayout("miniGame" + e),
this.terminalScreenFrame = e
}
,
v.prototype.findLasersToDisable = function(e) {
for (var t = 0; t < this.lasers.length; t++)
this.lasers[t].params.LaserName == e && this.lasers[t].gotoAndStop(3);
"blades" == e && 5 == this.currentLevelNumber && this.blades.gotoLabel("stop")
}
,
v.prototype.keyPressedTerminal = function(e) {
this.theBob.bClip_bWork_play(),
"right" == e && (this.bobTimerTerminal.running || (this.keyDirection = "right",
this.terminalKeyMove())),
"left" == e && (this.bobTimerTerminal.running || (this.keyDirection = "left",
this.terminalKeyMove())),
"up" == e && (this.bobTimerTerminal.running || (this.keyDirection = "up",
this.terminalKeyMove())),
"down" == e && (this.bobTimerTerminal.running || (this.keyDirection = "down",
this.terminalKeyMove())),
"escape" == e && (this.terminalKeyListeners = !1,
this.bobTimerTerminal.stop(),
this.terminalScreen.visible = !1,
this.minigameBlocks.length = 0,
this.ActivateControls())
}
,
v.prototype.keyReleasedWires = function(e) {
"space" == e && this.wiresPanel.getChild("nippers").gotoAndStop(1)
}
,
v.prototype.keyReleasedWires2 = function(e) {
"space" == e && this.wiresPanel2.getChild("nippers").gotoAndStop(1)
}
,
v.prototype.keyPressedWires = function(e) {
this.theBob.bClip_bWork_play(),
"right" == e && this.wiresPanel.getChild("nippers").x < 360 && (this.wiresPanel.getChild("nippers").x += 80,
this.currentCutWire += 1),
"left" == e && 200 < this.wiresPanel.getChild("nippers").x && (this.wiresPanel.getChild("nippers").x -= 80,
this.currentCutWire -= 1),
"space" == e && (this.wiresPanel.getChild("nippers").gotoAndStop(2),
SoundManager.getInstance().playSound("SCableCut"),
1 == this.currentCutWire && (this.wiresPanel.getChild("green").gotoAndStop(2),
this.wiresPanel.getChild("sparksGreen").playOnce()),
2 == this.currentCutWire && (this.wiresPanel.getChild("blue").gotoAndStop(2),
this.wiresPanel.getChild("sparksBlue").playOnce()),
3 == this.currentCutWire && (this.wiresPanel.getChild("orange").gotoAndStop(2),
this.wiresPanel.getChild("sparksOrange").playOnce()),
this.keyWireListeners = !1,
this.currentCutWire != this.currentWireToCut + 1 && (this.gameStatus = "alert",
this.totalAlerts++,
this.iPanel.getChild("alerts").gotoAndStop(this.totalAlerts + 1),
this.alertBegin = !0,
4 == this.totalAlerts && this.stopTheGame(!1)),
this.findLasersToDisable(this.transBoxes[this.theBob.currentElectricPanelId].params.LaserName),
this.closeElectricPanelTimer.start()),
"escape" == e && (this.wiresPanel.visible = !1,
this.keyWireListeners = !1,
this.wiresPanel.getChild("nippers").gotoAndStop(1),
this.ActivateControls())
}
,
v.prototype.keyPressedWires2 = function(e) {
this.theBob.bClip_bWork_play(),
"right" == e && this.wiresPanel2.getChild("nippers").x < 360 && (this.wiresPanel2.getChild("nippers").x += 80,
this.currentCutWire += 1),
"left" == e && 200 < this.wiresPanel2.getChild("nippers").x && (this.wiresPanel2.getChild("nippers").x -= 80,
this.currentCutWire -= 1),
"space" == e && (this.wiresPanel2.getChild("nippers").gotoAndStop(2),
SoundManager.getInstance().playSound("SCableCut"),
1 == this.currentCutWire && (this.wiresPanel2.getChild("green").gotoAndStop(2),
this.wiresPanel2.getChild("sparksGreen").playOnce()),
2 == this.currentCutWire && (this.wiresPanel2.getChild("blue").gotoAndStop(2),
this.wiresPanel2.getChild("sparksBlue").playOnce()),
3 == this.currentCutWire && (this.wiresPanel2.getChild("orange").gotoAndStop(2),
this.wiresPanel2.getChild("sparksOrange").playOnce()),
this.keyWireListeners2 = !1,
this.currentCutWire != this.currentWireToCut2 + 1 && (this.gameStatus = "alert",
this.totalAlerts++,
this.iPanel.getChild("alerts").gotoAndStop(this.totalAlerts + 1),
this.alertBegin = !0,
4 == this.totalAlerts && this.stopTheGame(!1)),
this.findLasersToDisable(this.transBoxes[this.theBob.currentElectricPanelId].params.LaserName),
this.closeElectricPanelTimer.start()),
"escape" == e && (this.wiresPanel2.visible = !1,
this.keyWireListeners2 = !1,
this.wiresPanel2.getChild("nippers").gotoAndStop(1),
this.ActivateControls())
}
,
v.prototype.keyReleasedPadlock = function(e) {
"right" == e && (this.padRightKey = !1),
"left" == e && (this.padLeftKey = !1)
}
,
v.prototype.keyPressedPadlock = function(e) {
this.theBob.bClip_bWork_play(),
"right" == e && (this.padRightKey = !0),
"left" == e && (this.padLeftKey = !0),
"up" == e && (this.padRightKey = !1,
this.padLeftKey = !1,
this.tryToOpenPadlock()),
"escape" == e && (this.padlockKeyListeners = !1,
this.holeMoveTimer.stop(),
this.padlockOpenTimer.stop(),
this.padlockPanel.removeEventListener(this.holeMove),
this.twDuga && this.twDuga.kill(),
this.padlockPanel.getChild("lockBase").getChild("duga").y = -222,
this.padlockPanel.getChild("lockBase").getChild("pick").gotoAndStop(1),
this.padlockPanel.visible = !1,
this.padlockPanel.getChild("lockBase").getChild("pick").y = 187,
this.ActivateControls())
}
,
v.prototype.keyReleasedPanel = function(e) {
for (var t = 0; t < 10; t++)
e == "" + t && this.textCodeEnter()
}
,
v.prototype.keyPressedPanel = function(e) {
this.theBob.bClip_bWork_play(),
"backspace" == e && (1 < this.textCode.length ? this.textCode = this.textCode.substr(0, this.textCode.length - 1) : this.textCode = "",
this.textCodeEntering(),
SoundManager.getInstance().playSound("SCodeButtonClick"));
for (var t = 0; t < 10; t++)
e == "" + t && (this.textCode = this.textCode.concat("" + t),
this.codePanel.getChild("k" + t).gotoAndStop(11),
this.textCodeEntering(),
SoundManager.getInstance().playSound("SCodeButtonClick"));
"escape" != e && "right" != e && "left" != e || (SoundManager.getInstance().playSound("SCodeButtonClick"),
this.codeKeyListeners = !1,
this.textCode = "",
this.codePanel.visible = !1,
this.ActivateControls(),
"right" == e && (this.rightKey = !0),
"left" == e && (this.leftKey = !0))
}
,
v.prototype.tryToOpenPadlock = function() {
this.padlockPanel.getChild("lockBase").getChild("hole").visible && (Math.abs(this.padlockPanel.getChild("lockBase").getChild("hole").x - this.padlockPanel.getChild("lockBase").getChild("pick").x) < this.padlockHoleWidth ? (this.padlockKeyListeners = !1,
this.padlockPanel.removeEventListener(this.holeMove),
this.holeMoveTimer.stop(),
this.padlockPanel.getChild("lockBase").getChild("pick").playToEnd()) : (this.padlockKeyListeners = !1,
this.padlockPanel.getChild("lockBase").getChild("pick").y -= 10,
this.padlockPanel.removeEventListener(this.holeMove),
this.holeMoveTimer.stop(),
SoundManager.getInstance().playSound("SKeyFail"),
this.doorBreakFail = !0),
this.padlockOpenTimer.start()),
this.padlockPanel.getChild("lockBase").getChild("hole1").visible && 3 == this.padlockPanel.getChild("lockBase").getChild("pick").currentFrame && (Math.abs(this.padlockPanel.getChild("lockBase").getChild("hole2").x - this.padlockPanel.getChild("lockBase").getChild("pick").x) < this.padlockHoleWidth ? (this.padlockKeyListeners = !1,
this.padlockPanel.removeEventListener(this.holeMove),
this.holeMoveTimer.stop(),
this.padlockPanel.getChild("lockBase").getChild("pick").playToEnd()) : (this.padlockKeyListeners = !1,
this.padlockPanel.getChild("lockBase").getChild("pick").y -= 10,
this.padlockPanel.removeEventListener(this.holeMove),
this.holeMoveTimer.stop(),
SoundManager.getInstance().playSound("SKeyFail"),
this.doorBreakFail = !0),
this.padlockOpenTimer.start()),
this.padlockPanel.getChild("lockBase").getChild("hole1").visible && 1 == this.padlockPanel.getChild("lockBase").getChild("pick").currentFrame && (Math.abs(this.padlockPanel.getChild("lockBase").getChild("hole1").x - this.padlockPanel.getChild("lockBase").getChild("pick").x) < this.padlockHoleWidth ? (this.padlockPanel.getChild("lockBase").getChild("pick").gotoAndStop(3),
SoundManager.getInstance().playSound("SKeyOneshot")) : (this.padlockKeyListeners = !1,
this.padlockPanel.getChild("lockBase").getChild("pick").y -= 10,
this.padlockPanel.removeEventListener(this.holeMove),
this.holeMoveTimer.stop(),
SoundManager.getInstance().playSound("SKeyFail"),
this.doorBreakFail = !0,
this.padlockOpenTimer.start()))
}
,
v.prototype.setUpWires = function() {
var e, t = 0, i = 0;
for (this.signalsEnd.length = 0,
this.currentWireToCut = Math.floor(3 * Math.random()),
this.changeWireCount = 0,
this.crossCount = 0,
this.wireBlocks = 0,
this.wireLengthArray[0] = 0,
this.wireLengthArray[1] = 0,
this.wireLengthArray[2] = 0,
this.wiresPanel.getChild("green").gotoAndStop(1),
this.wiresPanel.getChild("blue").gotoAndStop(1),
this.wiresPanel.getChild("orange").gotoAndStop(1),
this.wiresPanel.getChild("sparksGreen").gotoAndStop(1),
this.wiresPanel.getChild("sparksBlue").gotoAndStop(1),
this.wiresPanel.getChild("sparksOrange").gotoAndStop(1); 0 < this.wiresPanel.getChild("wires").numChildren; )
this.wiresPanel.getChild("wires").removeChild(this.wiresPanel.getChild("wires").getChildAt(0));
for (var r = 0; r < 7; r++) {
this.panelsWires = new Array;
for (var o = 0; o < 7; o++)
(e = new WireBlock).x += t,
e.y += i,
this.panelsWires.push(e),
t += 40;
this.wires.push(this.panelsWires),
t = 0,
i += 40
}
for (this.wireCount = 1,
this.circleCount = 1,
this.curDirection = 2,
this.curPosition = new Vector2(1,6),
this.prevPosition = this.curPosition,
this.wires[this.curPosition.y][this.curPosition.x].clipGo(8),
this.wiresPanel.getChild("wires").addChild(this.wires[this.curPosition.y][this.curPosition.x]),
this.wires[6][3].clipGo(8),
this.wiresPanel.getChild("wires").addChild(this.wires[6][3]),
this.wires[6][5].clipGo(8),
this.wiresPanel.getChild("wires").addChild(this.wires[6][5]),
this.curPosition.y -= 1; this.wireCount < 4 && this.changeWireCount < 30; )
this.addWireBlock();
this.buildWireAgain()
}
,
v.prototype.setUpWires2 = function() {
var e, t = 0, i = 0;
for (this.signalsEnd.length = 0,
this.currentWireToCut2 = Math.floor(3 * Math.random()),
this.changeWireCount = 0,
this.crossCount = 0,
this.wireBlocks = 0,
this.wireLengthArray[0] = 0,
this.wireLengthArray[1] = 0,
this.wireLengthArray[2] = 0,
this.wiresPanel2.getChild("green").gotoAndStop(1),
this.wiresPanel2.getChild("blue").gotoAndStop(1),
this.wiresPanel2.getChild("orange").gotoAndStop(1),
this.wiresPanel2.getChild("sparksGreen").gotoAndStop(1),
this.wiresPanel2.getChild("sparksBlue").gotoAndStop(1),
this.wiresPanel2.getChild("sparksOrange").gotoAndStop(1); 0 < this.wiresPanel2.getChild("wires").numChildren; )
this.wiresPanel2.getChild("wires").removeChild(this.wiresPanel2.getChild("wires").getChildAt(0));
for (var r = 0; r < 7; r++) {
this.panelsWires = new Array;
for (var o = 0; o < 7; o++)
(e = new WireBlock).x += t,
e.y += i,
this.panelsWires.push(e),
t += 40;
this.wires.push(this.panelsWires),
t = 0,
i += 40
}
for (this.wireCount = 1,
this.circleCount = 1,
this.curDirection = 2,
this.curPosition = new Vector2(1,6),
this.prevPosition = this.curPosition,
this.wires[this.curPosition.y][this.curPosition.x].clipGo(8),
this.wiresPanel2.getChild("wires").addChild(this.wires[this.curPosition.y][this.curPosition.x]),
this.wires[6][3].clipGo(8),
this.wiresPanel2.getChild("wires").addChild(this.wires[6][3]),
this.wires[6][5].clipGo(8),
this.wiresPanel2.getChild("wires").addChild(this.wires[6][5]),
this.curPosition.y -= 1; this.wireCount < 4 && this.changeWireCount < 30; )
this.addWireBlock2();
this.buildWireAgain2()
}
,
v.prototype.findWire = function() {
return this.wireLengthArray[0] > this.wireLengthArray[1] ? this.wireLengthArray[0] > this.wireLengthArray[2] ? 0 : 2 : this.wireLengthArray[1] > this.wireLengthArray[2] ? 1 : 2
}
,
v.prototype.buildWireAgain = function() {
if (this.wireCount < 4 || this.crossCount < 4 || this.wireBlocks < 38)
this.wires.length = 0,
this.setUpWires();
else {
this.findWire();
this.signalsEnd[this.currentWireToCut].gotoAndStop(2)
}
}
,
v.prototype.buildWireAgain2 = function() {
if (this.wireCount < 4 || this.crossCount < 4 || this.wireBlocks < 38)
this.wires.length = 0,
this.setUpWires2();
else {
this.findWire();
this.signalsEnd[this.currentWireToCut2].gotoAndStop(2)
}
}
,
v.prototype.addWireBlock = function() {
var e = Math.floor(8 * Math.random() + 1);
if (this.changeWireCount++,
0 == this.curPosition.y) {
1 == this.curDirection && (e = 4),
2 == this.curDirection && (e = 8),
3 == this.curDirection && (e = 3),
this.wires[this.curPosition.y][this.curPosition.x].clipGo(e),
this.wiresPanel.getChild("wires").addChild(this.wires[this.curPosition.y][this.curPosition.x]);
var t = new MovieClip("WireSignalEnd");
this.wiresPanel.getChild("wires").addChild(t),
t.x = this.wires[this.curPosition.y][this.curPosition.x].x,
t.y = this.wires[this.curPosition.y][this.curPosition.x].y - 18,
this.signalsEnd.push(t),
this.wireCount++,
2 == this.wireCount && (this.circleCount = Math.floor(2 * Math.random() + 1),
this.curDirection = 2,
this.curPosition = new Vector2(3,6),
this.curPosition.y -= 1),
3 == this.wireCount && (this.circleCount = Math.floor(2 * Math.random() + 1),
this.curDirection = 2,
this.curPosition = new Vector2(5,6),
this.curPosition.y -= 1)
}
this.isValidWireSegment(this.curPosition, this.prevPosition, this.curDirection, e) && (this.wires[this.curPosition.y][this.curPosition.x].clipGo(e),
this.wiresPanel.getChild("wires").addChild(this.wires[this.curPosition.y][this.curPosition.x]),
this.changeWireCount = 0,
this.wireBlocks++,
1 == this.wireCount && (this.wireLengthArray[0] += 1),
2 == this.wireCount && (this.wireLengthArray[1] += 1),
3 == this.wireCount && (this.wireLengthArray[2] += 1),
5 != e && 6 != e || this.crossCount++,
1 == e && (2 == this.curDirection && (this.curDirection = 3),
1 == this.curDirection && (this.curDirection = 4)),
2 == e && (2 == this.curDirection && (this.curDirection = 1),
3 == this.curDirection && (this.curDirection = 4)),
3 == e && (4 == this.curDirection && (this.curDirection = 1),
3 == this.curDirection && (this.curDirection = 2)),
4 == e && (4 == this.curDirection && (this.curDirection = 3),
1 == this.curDirection && (this.curDirection = 2)),
2 == this.curDirection && (this.curPosition.y -= 1),
4 == this.curDirection && (this.curPosition.y += 1,
this.circleCount++),
1 == this.curDirection && (this.curPosition.x -= 1),
3 == this.curDirection && (this.curPosition.x += 1))
}
,
v.prototype.addWireBlock2 = function() {
var e = Math.floor(8 * Math.random() + 1);
if (this.changeWireCount++,
0 == this.curPosition.y) {
1 == this.curDirection && (e = 4),
2 == this.curDirection && (e = 8),
3 == this.curDirection && (e = 3),
this.wires[this.curPosition.y][this.curPosition.x].clipGo(e),
this.wiresPanel2.getChild("wires").addChild(this.wires[this.curPosition.y][this.curPosition.x]);
var t = new MovieClip("WireSignalEnd");
this.wiresPanel2.getChild("wires").addChild(t),
t.x = this.wires[this.curPosition.y][this.curPosition.x].x,
t.y = this.wires[this.curPosition.y][this.curPosition.x].y - 18,
this.signalsEnd.push(t),
this.wireCount++,
2 == this.wireCount && (this.circleCount = Math.floor(2 * Math.random() + 1),
this.curDirection = 2,
this.curPosition = new Vector2(3,6),
this.curPosition.y -= 1),
3 == this.wireCount && (this.circleCount = Math.floor(2 * Math.random() + 1),
this.curDirection = 2,
this.curPosition = new Vector2(5,6),
this.curPosition.y -= 1)
}
this.isValidWireSegment(this.curPosition, this.prevPosition, this.curDirection, e) && (this.wires[this.curPosition.y][this.curPosition.x].clipGo(e),
this.wiresPanel2.getChild("wires").addChild(this.wires[this.curPosition.y][this.curPosition.x]),
this.changeWireCount = 0,
this.wireBlocks++,
1 == this.wireCount && (this.wireLengthArray[0] += 1),
2 == this.wireCount && (this.wireLengthArray[1] += 1),
3 == this.wireCount && (this.wireLengthArray[2] += 1),
5 != e && 6 != e || this.crossCount++,
1 == e && (2 == this.curDirection && (this.curDirection = 3),
1 == this.curDirection && (this.curDirection = 4)),
2 == e && (2 == this.curDirection && (this.curDirection = 1),
3 == this.curDirection && (this.curDirection = 4)),
3 == e && (4 == this.curDirection && (this.curDirection = 1),
3 == this.curDirection && (this.curDirection = 2)),
4 == e && (4 == this.curDirection && (this.curDirection = 3),
1 == this.curDirection && (this.curDirection = 2)),
2 == this.curDirection && (this.curPosition.y -= 1),
4 == this.curDirection && (this.curPosition.y += 1,
this.circleCount++),
1 == this.curDirection && (this.curPosition.x -= 1),
3 == this.curDirection && (this.curPosition.x += 1))
}
,
v.prototype.isValidWireSegment = function(e, t, i, r) {
if (1 == r) {
if (3 == i || 4 == i)
return !1;
if (0 < this.wires[this.curPosition.y][this.curPosition.x].stepCount)
return !1;
if (2 == i && 6 == e.x)
return !1;
if (1 == i && 6 == e.y)
return !1;
if (1 == i && (1 < this.circleCount || 3 == e.x || 5 == e.x))
return !1;
if (2 == i && this.wires[this.curPosition.y][this.curPosition.x + 1].wireType < 8)
return !1;
if (1 == i && this.wires[this.curPosition.y + 1][this.curPosition.x].wireType < 7)
return !1
}
if (2 == r) {
if (1 == i || 4 == i)
return !1;
if (0 < this.wires[this.curPosition.y][this.curPosition.x].stepCount)
return !1;
if (2 == i && 0 == e.x)
return !1;
if (3 == i && 6 == e.y)
return !1;
if (3 == i && (1 < this.circleCount || 3 == e.x || 5 == e.x))
return !1;
if (2 == i && this.wires[this.curPosition.y][this.curPosition.x - 1].wireType < 8)
return !1;
if (3 == i && this.wires[this.curPosition.y + 1][this.curPosition.x].wireType < 7)
return !1
}
if (3 == r) {
if (1 == i || 2 == i)
return !1;
if (0 < this.wires[this.curPosition.y][this.curPosition.x].stepCount)
return !1;
if (4 == i && 0 == e.x)
return !1;
if (3 == i && 0 == e.y)
return !1;
if (4 == i && this.wires[this.curPosition.y][this.curPosition.x - 1].wireType < 8)
return !1;
if (3 == i && this.wires[this.curPosition.y - 1][this.curPosition.x].wireType < 7)
return !1
}
if (4 == r) {
if (3 == i || 2 == i)
return !1;
if (0 < this.wires[this.curPosition.y][this.curPosition.x].stepCount)
return !1;
if (4 == i && 6 == e.x)
return !1;
if (1 == i && 0 == e.y)
return !1;
if (4 == i && this.wires[this.curPosition.y][this.curPosition.x + 1].wireType < 8)
return !1;
if (1 == i && this.wires[this.curPosition.y - 1][this.curPosition.x].wireType < 7)
return !1
}
if (5 == r || 8 == r) {
if (1 == i || 3 == i)
return !1;
if (1 == this.wires[this.curPosition.y][this.curPosition.x].stepCount && 8 == r)
return !1;
if (0 == this.wires[this.curPosition.y][this.curPosition.x].stepCount && 5 == r)
return !1;
if (2 == i && 0 == e.y)
return !1;
if (4 == i && 6 == e.y)
return !1;
if (2 == i && this.wires[this.curPosition.y - 1][this.curPosition.x].wireType < 7)
return !1;
if (4 == i && this.wires[this.curPosition.y + 1][this.curPosition.x].wireType < 7)
return !1
}
if (6 == r || 7 == r) {
if (2 == i || 4 == i)
return !1;
if (1 == this.wires[this.curPosition.y][this.curPosition.x].stepCount && 7 == r)
return !1;
if (0 == this.wires[this.curPosition.y][this.curPosition.x].stepCount && 6 == r)
return !1;
if (1 == i && 0 == e.x)
return !1;
if (3 == i && 6 == e.x)
return !1;
if (1 == i && this.wires[this.curPosition.y][this.curPosition.x - 1].wireType < 8)
return !1;
if (3 == i && this.wires[this.curPosition.y][this.curPosition.x + 1].wireType < 8)
return !1
}
return !0
}
,
v.prototype.keyPressedComputer = function(e) {
this.theBob.bClip_bWork_play(),
"up" == e && (1 < this.computerScreen.getChild("menuList").currentFrame && 1 == this.computerScreenNum && (this.computerScreen.getChild("menuList").gotoAndStop(this.computerScreen.getChild("menuList").currentFrame - 1),
this.computerScreen.getChild("menuScreen").gotoAndStop(this.computerScreen.getChild("menuScreen").currentFrame - 1)),
13 < this.computerScreen.getChild("menuList").currentFrame && 3 == this.computerScreenNum && (this.computerScreen.getChild("menuList").gotoAndStop(this.computerScreen.getChild("menuList").currentFrame - 1),
this.computerScreen.getChild("menuScreen").gotoAndStop(this.computerScreen.getChild("menuScreen").currentFrame - 1))),
"down" == e && (this.computerScreen.getChild("menuList").currentFrame < 4 && 1 == this.computerScreenNum && (this.computerScreen.getChild("menuList").gotoAndStop(this.computerScreen.getChild("menuList").currentFrame + 1),
this.computerScreen.getChild("menuScreen").gotoAndStop(this.computerScreen.getChild("menuScreen").currentFrame + 1)),
this.computerScreen.getChild("menuList").currentFrame < 18 && 3 == this.computerScreenNum && (this.computerScreen.getChild("menuList").gotoAndStop(this.computerScreen.getChild("menuList").currentFrame + 1),
this.computerScreen.getChild("menuScreen").gotoAndStop(this.computerScreen.getChild("menuScreen").currentFrame + 1))),
1 == this.computerScreenNum && (4 == this.computerScreen.getChild("menuList").currentFrame ? 1 == this.currentDoorCode ? this.computerScreen.getChild("doorcode").visible = !0 : this.computerScreen.getChild("doorcode2").visible = !0 : 1 == this.currentDoorCode ? this.computerScreen.getChild("doorcode").visible = !1 : this.computerScreen.getChild("doorcode2").visible = !1),
3 == this.computerScreenNum && (16 == this.computerScreen.getChild("menuList").currentFrame ? 1 == this.currentDoorCode ? this.computerScreen.getChild("doorcode").visible = !0 : this.computerScreen.getChild("doorcode2").visible = !0 : 1 == this.currentDoorCode ? this.computerScreen.getChild("doorcode").visible = !1 : this.computerScreen.getChild("doorcode2").visible = !1),
"escape" != e && "right" != e && "left" != e || (this.computerKeyListeners = !1,
this.computerScreen.visible = !1,
3 == this.computerScreenNum ? this.computerScreen.getChild("menuList").gotoAndStop(13) : this.computerScreen.getChild("menuList").gotoAndStop(1),
this.computerScreen.getChild("menuScreen").gotoAndStop(1),
this.ActivateControls(),
"right" == e && (this.rightKey = !0),
"left" == e && (this.leftKey = !0))
}
,
v.prototype.ozKeyPressed = function(e) {
this.keyListeners ? this.keyPressed(e) : this.padlockKeyListeners ? this.keyPressedPadlock(e) : this.codeKeyListeners ? this.keyPressedPanel(e) : this.computerKeyListeners ? this.keyPressedComputer(e) : this.terminalKeyListeners ? this.keyPressedTerminal(e) : this.restartKeyListener ? this.keyPressedRestart(e) : this.keyWireListeners ? this.keyPressedWires(e) : this.keyWireListeners2 && this.keyPressedWires2(e)
}
,
v.prototype.ozKeyReleased = function(e) {
this.keyListeners ? this.keyReleased(e) : this.padlockKeyListeners ? this.keyReleasedPadlock(e) : this.codeKeyListeners ? this.keyReleasedPanel(e) : this.keyWireListeners ? this.keyReleasedWires(e) : this.keyWireListeners2 && this.keyReleasedWires2(e)
}
,
v.prototype.pressCodeButton = function(e) {
this.theBob.bClip_bWork_play(),
Input.getInstance().setDoing(0, "d" + e, !0)
}
,
v.prototype.releaseCodeButton = function(e) {
Input.getInstance().setDoing(0, "d" + e, !1)
}
,
v.prototype.resetCodeButtons = function() {
for (var e = 0; e < 10; e++)
this.digitPrev[e] = !1,
Input.getInstance().setDoing(0, "d" + e, !1),
this.codePanel.getChild("k" + e).changeFrame1()
}
,
v.prototype.addChild = function(e) {
this.world.addChild(e)
}
,
v.Name = "gameplay",
v.HeroCross = null,
v.SideDoorRect = new Phaser.Rectangle(-32,-23,38,56),
v.CodelockSensorRect = new Phaser.Rectangle(-5,-10,10,20),
v.LatticeRect = new Phaser.Rectangle(-7,-31,14,62),
v.BobHitRect = new Phaser.Rectangle(-26,-20,52,40),
v
}(states.OzState);